步驟1:您需要的條件
我已經(jīng)包含了許多鏈接我使用過(guò)的特定物品,但還有很多其他選擇。
氣動(dòng)設(shè)置
帶有短行程,雙作用活塞和“ NPT”連接的小型氣缸
5端口2通12v電磁閥,帶1/8英寸NPT端口
?”用于6毫米管的NPT快速連接接頭
?” NPT快速連接配件,用于6mm軟管
6mm軟管
調(diào)節(jié)器
氣罐
帶?” NPT端口(2)的黃銅球閥
男和1/4英寸NPT母接頭
鐵氟龍膠帶
Arduino設(shè)置
Arduino UNO(2)nrf24l01 2.4GHz無(wú)線模塊( 2)
nrf24l01模塊的插座轉(zhuǎn)接板(8針)
瞬時(shí)按鈕
10kΩ電阻器(2個(gè))
整流二極管(1N4001)
跳線
面包板或PCB(2)
9v電池連接器和電池(為“客戶(hù)端”供電” Arduino)
12v可充電電池組(為“服務(wù)器” Arduino和螺線管供電)
第2步:氣動(dòng)設(shè)置
為了給螺線管供應(yīng)空氣,我使用了1.5gal。氣罐(用于氣喇叭的類(lèi)型)。一方面,它配有填充閥和公接頭。另一方面,它的油箱輸出閥與調(diào)節(jié)器相連。對(duì)于這個(gè)特定的氣缸,我發(fā)現(xiàn)在30-40psi的壓力下可以通過(guò)調(diào)節(jié)器達(dá)到目的。
步驟3:電磁閥
《我選擇使用5端口2路12v電磁鐵。因?yàn)樗?2v運(yùn)行,所以它能夠與Arduino共享電源并從Arduino的VIN引腳獲取12v電源。我的螺線管具有1/8“ NPT連接,但也有1/4”可用。左側(cè)的3個(gè)端口是空氣輸入,位于兩個(gè)排氣口之間。我將排氣口留空了,但是您可以通過(guò)添加消音器,流量控制閥或同時(shí)使用兩者來(lái)獲得更多功能。
步驟4:Arduino#1“客戶(hù)端”
兩個(gè)Arduino的代碼均來(lái)自Radiohead庫(kù)隨附的示例草圖。 Radiohead庫(kù)使在兩側(cè)集成nrf24l01收發(fā)器模塊變得更加容易。系統(tǒng)的“客戶(hù)端”端基本上執(zhí)行以下操作:
1)與“服務(wù)器” Arduino設(shè)置匹配的發(fā)送/接收設(shè)置。
2)初始化RF接觸(和如果接觸失敗,則通過(guò)串行監(jiān)視器發(fā)送錯(cuò)誤消息)
3)尋找按鈕按下(數(shù)字I/O引腳2)
4)如果按下按鈕,則發(fā)送消息
**不要忘記,瞬時(shí)按鈕在接地側(cè)需要一個(gè)下拉電阻。我使用了10kΩ。
第5步:Arduino“客戶(hù)端”代碼
// 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“服務(wù)器”設(shè)置
在連接nrf24l01的方式上,系統(tǒng)的“服務(wù)器”端與“客戶(hù)端”相同。區(qū)別在于,此Arduino用于接收信號(hào)并執(zhí)行操作。在這種情況下的操作如下:
1)使用“客戶(hù)端” Arduino設(shè)置匹配的發(fā)送/接收設(shè)置。
2)初始化RF聯(lián)系人(并通過(guò)發(fā)送錯(cuò)誤消息)串行監(jiān)視器(如果聯(lián)系失敗)
3)定義對(duì)將收到的消息類(lèi)型的期望
4)啟動(dòng)循環(huán)計(jì)數(shù)器(1000個(gè)循環(huán))
5 )查找特定的消息
6)如果收到消息(“ 104”),則觸發(fā)電磁閥,然后將其收回(使用數(shù)字I/O引腳3)。重置計(jì)數(shù)器
7)否則,請(qǐng)繼續(xù)查找該消息,同時(shí)保持螺線管縮回。
此設(shè)置使用TIP120達(dá)林頓晶體管在引腳觸發(fā)時(shí)發(fā)送12v螺線管。一個(gè)12v鋰離子電池組用于為Arduino(通過(guò)桶形插頭)和螺線管(通過(guò)VIN引腳)供電。 *請(qǐng)注意不要將其他任何東西連接到VIN引腳,因?yàn)樗梢猿休d12v電壓,并且會(huì)損壞大多數(shù)其他組件*
*還請(qǐng)記住將一個(gè)電阻(我用10kΩ)與“基極”對(duì)齊晶體管的引腳,以防止較高的電壓通過(guò)控制線到達(dá)引腳3。
與所有螺線管一樣,這需要一個(gè)緩沖二極管,以防止瞬態(tài)電壓在系統(tǒng)中流過(guò)系統(tǒng)。電磁閥已點(diǎn)火。二極管是定向的,應(yīng)從線圈的負(fù)極到正極。
步驟7:Arduino“服務(wù)器”代碼
// nrf24_server
步驟8:開(kāi)火!
好,所以可能有更好的方法搖一罐湯。..
此外,不建議用氣密膠帶固定氣缸。..
-
RF
+關(guān)注
關(guān)注
65文章
3038瀏覽量
166751 -
氣缸
+關(guān)注
關(guān)注
2文章
53瀏覽量
13547
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論