Mündəricat:
- Addım 1: Komponentlər
- Addım 2: Server lövhəsi
- Addım 3: Server Kodlayıcısı: Kopyalayın və Yapışdırın
- Addım 4: Müştəri lövhəsi
- Addım 5: Müştəri Kodu: Kopyalayın və Yapışdırın
- Addım 6: Kod haqqında bir qeyd:
Video: Simsiz Servo İdarəetmə: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu layihə, potensiometr (düymə) vasitəsi ilə bir servonun simsiz olaraq fırlanmasına nəzarət edir. Fırlanma 180 dərəcəyə qədər məhdudlaşdırılır.
Addım 1: Komponentlər
Bu layihə ibarətdir
- USB bağlayıcı kabeli olan 2 Arduino UNO nəzarətçi lövhəsi
- 2 nRF24L01-2.4GHz RF ötürücü modulları (bu modullarla bağlı kömək üçün https://randomnerdtutorials.com/nrf24l01-2-4ghz-rf… baxın.
- NRF24L01 üçün 2 yuva adapter lövhəsi (sırt çantası)
- 1 isteğe bağlı Arduino Uyumlu 328 ProtoShield Prototip Genişləndirmə Kartı
- 1 servo
- 1 analoq potensiometr
- lehimləmə dəmiri və lehim
- tel
- iynəli burunlu penslər
- izolyasiya sarğı, elektrik lentindən istifadə etdim
Addım 2: Server lövhəsi
Server lövhəsi qəbuledici moduldan, qalxan lövhədən (birbaşa Arduino lövhəsinə yalnız bir yolla bağlanan) və servodan ibarətdir. Qeyri -adi çörək taxtasının qarşısını almaq və layihəyə və ümumi səliqəli işləmək üçün qalxan lövhəsini daxil etmək qərarına gəldim.
Komponentlər siyahısına daxil olan kod və veb qaynağı, qəbuledici modul əlaqələrini ətraflı şəkildə izah edir. Əvvəlki layihələrdə olduğu kimi müvəqqəti bağlantılar istifadə etmək əvəzinə əlaqələri lehimləmək qərarına gəldim. Bir başlanğıc olduğum üçün, hər bir lehim birləşməsini elektrik lenti ilə izolyasiya etdim (gözəl deyildilər).
Qalxan lövhə pinləri birbaşa Arduino pinlərinə uyğundur. Qalxan lövhəsini bağlamadan əvvəl, zəmini və 5 voltluq sancaqları lövhə tellərinə və lehimlə bağladım. Komponentlərin 5 volt və torpaq tellərini də lövhə lövhələrinə lehimlədim, sonra nəhayət Arduinonu qalxan lövhəsinə bağladım.
Servo güc üçün 3 voltlu pin və ünsiyyət üçün rəqəmsal pin 2 -ə bərkidilir.
** Qeyd: yalnız bu quruluşu tamamladıqdan sonra Arduino lövhələrimin eyni olmadığını gördüm. Server qəbuledicim qalxan lövhəsindəki 5 voltluq dəmir yolu ilə işləyir, müştəri qəbuledicisi isə 3 voltluq pinlə işləyir, halbuki qəbuledicidəki adapter çipinin funksiyasının düzgün gərginliyi təmin etmək olduğuna inanmışam. Əmin ola biləcəyim tək şey, şəkillərdə göstərilən konfiqurasiya ilə uyğun gələn kodun təsvir olunan effekti yaratmasıdır.
Addım 3: Server Kodlayıcısı: Kopyalayın və Yapışdırın
// SERVER KODU/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> İstifadə edilməyən GND> GND VCC> 5V */// ötürücü naqilləri
#daxil edin
// servo kitabxana
#daxil edin
// ötürücü kitabxana
#Servopin 2 təyin edin
// bəyannamə servo çıxış pin
ServoTimer2 xidməti;
// servo adının elan edilməsi
RH_NRF24 nrf24;
// ötürücü adının elan edilməsi
int timeOUT = 0;
// servo üçün dəyişən
int pulsları = 90;
// impulsları saxlamaq üçün dəyişən
boş quraşdırma ()
{serv.attach (Servopin); // servo əşyalar
Serial.begin (9600); // ötürücü şeylər
əgər (! nrf24.init ())
Serial.println ("başlanğıc uğursuz oldu"); // serial monitor məhsulları if (! nrf24.setChannel (12)) // kanalı 125 Serial.println olaraq təyin edin ("setChannel uğursuz oldu"); əgər (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF uğursuz oldu"); // serial monitoru}
boşluq döngəsi ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // serial monitor materialları {Serial.print ("sorğu var:"); paxlalar = strtol ((const char*) buf, NULL, 10); // məlumat növünün dəyişdirilməsi
int prin = xəritə (paxlalılar, 750, 2250, 0, 180); // məlumat növünün dəyişdirilməsi
Serial.println (çap); serv.write (paxlalı); // servo hərəkət edir}}
}
Addım 4: Müştəri lövhəsi
Müştəri lövhəsi qəbuledici moduldan və potensiometrdən ibarətdir. Alıcı -verici modulu, qalxan lövhəsi olmadan birbaşa Arduino lövhəsi sancaqlarına bağlanması istisna olmaqla, server lövhəsi ilə eyni şəkildə bağlanmışdır **.
Potansiometr 5v, torpaq alır və analoq pin 2 ilə birləşdirilir.
** Qeyd: server lövhəsi addımında qeyd edildiyi kimi Arduino lövhələrim eyni deyil. Bu halda alıcı -verici, 5V pinlə birbaşa bitişik olan 3.3V etiketli pinə bağlanır, amma yenə də hər şeyin qaydasında olduğu görünür.
Addım 5: Müştəri Kodu: Kopyalayın və Yapışdırın
// MÜŞTERİ KODU/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> İstifadə edilməyən GND> GND VCC> 5V */// ötürücü naqilləri
#daxil edin
// ötürücü kitabxana
int potpin = A2; // potensiometr deklarasiyası
int val;
char tempChar [5];
Satır valString = ""; // məlumat növünün dəyişdirilməsi
RH_NRF24 nrf24; // ötürücü şeylər
boş quraşdırma ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init uğursuz oldu"); // Varsayılanlardan sonra init 2.402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (12)) Serial.println ("setChannel fail"); əgər (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF uğursuz oldu"); } // ötürücü maddələr
boşluq döngəsi () {
val = analogRead (potpin); // potensiometr maddələri
val = xəritə (val, 0, 1023, 750, 2250);
valString = dəyər; String str = (valString); str.toCharArray (tempChar, 5); // məlumat tipinin dəyişdirilməsi nrf24.send (tempChar, sizeof (tempChar));
}
Addım 6: Kod haqqında bir qeyd:
Kod, Arduino proqram interfeysindəki serial monitordan geribildirim şəklində bəzi məhdud problem giderme funksiyalarını ehtiva edir. Serial monitoru SERVER kodundan (ctrl + shift + M) izləyərkən, potansiyometrin vəziyyətini 1 ilə 180 arasında bir rəqəm şəklində görə bilməlisiniz.
Ayrıca, simsiz və servo kitabxanası:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Tövsiyə:
Magic Button 4k: 20USD BMPCC 4k (və ya 6k) Simsiz Uzaqdan İdarəetmə: 4 Addım (Şəkillərlə)
Sehrli Düymə 4k: 20USD BMPCC 4k (və ya 6k) Simsiz Uzaqdan İdarəetmə: Bir çox insan BMPCC4k üçün simsiz idarəedicimlə bağlı bəzi detalları paylaşmağımı istədi. Sualların çoxu bluetooth nəzarəti ilə bağlı idi, buna görə də bununla bağlı bir neçə detalı qeyd edəcəyəm. ESP32 Arduino ətraf mühiti ilə tanış olduğunuzu düşünürəm
Yük İdarəetmə ilə Simsiz Enerji Ölçən: 5 addım
Yük Nəzarətli Simsiz Enerji Ölçən: GİRİŞ Youtube Kanalı :::: https://www.youtube.com/channel/UC6ck0xanIUl14Oor…Bu Layihə hesablama üçün əsas beyin olaraq Atmel -in Atmega16 Mikrokontrolörünə əsaslanır. NRF24L01+ Simsiz ünsiyyət modulu Simsiz əlaqə üçün istifadə olunur
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Arduino Simsiz İdarəetmə Robotu Avtomobil: 5 addım
Arduino Simsiz İdarəetmə Robotu Avtomobil: Bu yazıda Arduino simsiz idarəetmə robot avtomobilinin necə qurulacağını öyrənəcəksiniz. Həm ötürücü, həm də qəbuledici tərəfləri quracağıq. Verici tərəfində məlumat kabelini göndərmək üçün Arduino nano, joystick modulu və NRF24L01 olacaq
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 4 Addım
Adi Uzaqdan İdarəetmə Dəsti Dörd Kanallı RC Oyuncaq Uzaqdan İdarəetmə Sisteminə Çevrildi: 如何 通用 遥控 器 套件 转换 为 玩具 中 中 遥控 采用 采用 6 6 6 6 6 6 6 6 2262 和 2272 和 433 模块 构建 构建改造 方法 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照