电子说
步骤1:您需要的条件
我已经包含了许多链接我使用过的特定物品,但还有很多其他选择。
气动设置
带有短行程,双作用活塞和“ NPT”连接的小型气缸
5端口2通12v电磁阀,带1/8英寸NPT端口
⅛”用于6毫米管的NPT快速连接接头
¼” NPT快速连接配件,用于6mm软管
6mm软管
调节器
气罐
带¼” NPT端口(2)的黄铜球阀
男和1/4英寸NPT母接头
铁氟龙胶带
Arduino设置
Arduino UNO(2)nrf24l01 2.4GHz无线模块( 2)
nrf24l01模块的插座转接板(8针)
瞬时按钮
10kΩ电阻器(2个)
TIP120达林顿晶体管
整流二极管(1N4001)
跳线
面包板或PCB(2)
9v电池连接器和电池(为“客户端”供电” Arduino)
12v可充电电池组(为“服务器” Arduino和螺线管供电)
第2步:气动设置
为了给螺线管供应空气,我使用了1.5gal。气罐(用于气喇叭的类型)。一方面,它配有填充阀和公接头。另一方面,它的油箱输出阀与调节器相连。对于这个特定的气缸,我发现在30-40psi的压力下可以通过调节器达到目的。
步骤3:电磁阀
《我选择使用5端口2路12v电磁铁。因为它以12v运行,所以它能够与Arduino共享电源并从Arduino的VIN引脚获取12v电源。我的螺线管具有1/8“ NPT连接,但也有1/4”可用。左侧的3个端口是空气输入,位于两个排气口之间。我将排气口留空了,但是您可以通过添加消音器,流量控制阀或同时使用两者来获得更多功能。
步骤4:Arduino#1“客户端”
两个Arduino的代码均来自Radiohead库随附的示例草图。 Radiohead库使在两侧集成nrf24l01收发器模块变得更加容易。系统的“客户端”端基本上执行以下操作:
1)与“服务器” Arduino设置匹配的发送/接收设置。
2)初始化RF接触(和如果接触失败,则通过串行监视器发送错误消息)
3)寻找按钮按下(数字I/O引脚2)
4)如果按下按钮,则发送消息
**不要忘记,瞬时按钮在接地侧需要一个下拉电阻。我使用了10kΩ。
第5步:Arduino“客户端”代码
// nrf24_client
/*
NRF24L01 Arduino
CE 》 D8
CSN 》 D10
SCK 》 D13
MO 》 D11
MI 》 D12
RO 》 Not used
GND 》 GND
VCC 》 5V
*/ #include
#include const int button = 2; // Singleton instance of the radio driver
RH_NRF24 nrf24; void setup()
{
Serial.begin(9600);
if (!nrf24.init())
Serial.println(“init failed”);
// Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
if (!nrf24.setChannel(125))
Serial.println(“setChannel failed”);
if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
Serial.println(“setRF failed”);
} void loop()
{
if (digitalRead(button) == HIGH)
{
uint8_t data[] = “104”;
nrf24.send(data, sizeof(data));
}
delay(50); //prevents data overflow when button is held (theoretically)
}
步骤6:Arduino“服务器”设置
在连接nrf24l01的方式上,系统的“服务器”端与“客户端”相同。区别在于,此Arduino用于接收信号并执行操作。在这种情况下的操作如下:
1)使用“客户端” Arduino设置匹配的发送/接收设置。
2)初始化RF联系人(并通过发送错误消息)串行监视器(如果联系失败)
3)定义对将收到的消息类型的期望
4)启动循环计数器(1000个循环)
5 )查找特定的消息
6)如果收到消息(“ 104”),则触发电磁阀,然后将其收回(使用数字I/O引脚3)。重置计数器
7)否则,请继续查找该消息,同时保持螺线管缩回。
此设置使用TIP120达林顿晶体管在引脚触发时发送12v螺线管。一个12v锂离子电池组用于为Arduino(通过桶形插头)和螺线管(通过VIN引脚)供电。 *请注意不要将其他任何东西连接到VIN引脚,因为它可以承载12v电压,并且会损坏大多数其他组件*
*还请记住将一个电阻(我用10kΩ)与“基极”对齐晶体管的引脚,以防止较高的电压通过控制线到达引脚3。
与所有螺线管一样,这需要一个缓冲二极管,以防止瞬态电压在系统中流过系统。电磁阀已点火。二极管是定向的,应从线圈的负极到正极。
步骤7:Arduino“服务器”代码
// nrf24_server
步骤8:开火!
好,所以可能有更好的方法摇一罐汤。..
此外,不建议用气密胶带固定气缸。..
全部0条评论
快来发表一下你的评论吧 !