Obsah:
- Krok 1: Komponenty
- Krok 2: Serverová doska
- Krok 3: Server Coder: Skopírujte a prilepte
- Krok 4: Klientská rada
- Krok 5: Kód klienta: Skopírujte a prilepte
- Krok 6: Poznámka o kóde:
Video: Bezdrôtové ovládanie serva: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tento projekt riadi otáčanie serva bezdrôtovo pomocou potenciometra (gombíka). Rotácia je obmedzená na 180 stupňov.
Krok 1: Komponenty
Tento projekt pozostáva z
- 2 dosky ovládača Arduino UNO s káblom s konektorom USB
- 2 moduly transceiveru nRF24L01-2,4 GHz (pomoc s týmito modulmi nájdete na stránke
- 2 dosky zásuvkových adaptérov (batohové čipy) pre nRF24L01
- 1 voliteľná rozširujúca doska prototypu 328 ProtoShield kompatibilná s Arduino
- 1 servo
- 1 analógový potenciometer
- spájkovačka a spájkovačka
- drôt
- kliešte s ihlovým nosom
- izolačný obal, použil som elektrickú pásku
Krok 2: Serverová doska
Serverová doska sa skladá z modulu transceiveru, štítovej dosky (ktorá sa pripája priamo na dosku Arduino iba jedným spôsobom) a zo serva. Rozhodol som sa zahrnúť štítovú dosku, aby som sa vyhol nemotornému chlebu, a dal projektu a celkovému úhľadnejšiemu prevedeniu.
Kód a webový zdroj zahrnutý v zozname komponentov podrobne opisujú pripojenia modulu transceiveru. Rozhodol som sa spájkovať spojenia namiesto použitia dočasných spojení ako v predchádzajúcich projektoch. Keďže som začiatočník, izoloval som každý spájkovací spoj elektrickou páskou (neboli pekné).
Kolíky štítovej dosky zodpovedajú priamo kolíkom Arduino. Pred pripevnením štítovej dosky som drôt a spájku spojil uzemňovací a 5voltový kolík s lištami dosky. Tiež som spájkoval 5voltové a uzemňovacie vodiče súčiastok k lištám dosky štítu a potom som Arduino nakoniec pripevnil k doske štítu.
Servo je pripojené k 3voltovému kolíku pre napájanie a digitálny kolík 2 pre komunikáciu.
** Poznámka: až po dokončení tejto zostavy som si všimol, že moje dosky Arduino nie sú identické. Môj serverový transceiver je napájaný 5 -voltovou koľajnicou na štítovej doske, zatiaľ čo klientsky transceiver je napájaný 3 -voltovým pinom, aj keď som bol presvedčený, že funkciou čipu adaptéra na transceiveri je poskytnúť správne napätie. S istotou môžem povedať len to, že uvedený kód zodpovedajúci konfigurácii zobrazenej na obrázkoch vytvára opísaný efekt.
Krok 3: Server Coder: Skopírujte a prilepte
// KÓD SERVERU/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nepoužitý GND> GND VCC> 5V */// zapojenie transceiveru
#zahrnúť
// servo knižnica
#zahrnúť
// knižnica transceiveru
#define Servopin 2
// deklaračný výstupný pin servo
ServoTimer2 serv;
// deklarácia názvu serva
RH_NRF24 nrf24;
// deklarácia názvu transceiveru
int timeOUT = 0;
// premenná pre servo
int impulzy = 90;
// premenná na ukladanie impulzov
neplatné nastavenie ()
{serv.attach (Servopin); // servo veci
Serial.begin (9600); // veci s transceiverom
ak (! nrf24.init ())
Serial.println ("inicializácia zlyhala"); // veci zo sériového monitora if (! nrf24.setChannel (12)) // nastavenie kanála na 125 Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); // veci zo sériového monitora}
prázdna slučka ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // veci zo sériového monitora {Serial.print ("got request:"); impulzy = strtol ((const char*) buf, NULL, 10); // veci na zmenu typu údajov
int prin = mapa (impulzy, 750, 2250, 0, 180); // veci na zmenu typu údajov
Serial.println (prin); serv.write (impulzy); // rozbehne servo}}
}
Krok 4: Klientská rada
Klientská doska sa skladá z modulu transceiveru a potenciometra. Modul transceiveru je zapojený rovnakým spôsobom ** ako serverová doska s tou výnimkou, že bez štítovej dosky je zapojený priamo do kolíkov dosky Arduino.
Potenciometer má uzemnenie 5 V a je pripojený k analógovému kolíku 2.
** Poznámka: Ako je uvedené v kroku serverovej dosky, moje dosky Arduino nie sú totožné. V tomto prípade je transceiver zapojený na kolík označený 3,3 V, priamo susediaci s kolíkom 5 V, ale opäť sa zdá, že všetko funguje dobre.
Krok 5: Kód klienta: Skopírujte a prilepte
// KLIENTSKY KÓD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nepoužitý GND> GND VCC> 5V */// zapojenie transceiveru
#zahrnúť
// knižnica transceiveru
int potpin = A2; // deklarácia potenciometra
int val;
char tempChar [5];
Reťazec valString = ""; // veci na zmenu typu údajov
RH_NRF24 nrf24; // veci s transceiverom
neplatné nastavenie ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("inicializácia zlyhala"); // Predvolené hodnoty po inicializácii sú 2,402 GHz (kanál 2), 2 Mb/ s, 0 dBm, ak (! Nrf24.setChannel (12)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); } // veci s transceiverom
prázdna slučka () {
val = analogRead (potpin); // veci potenciometra
val = mapa (val, 0, 1023, 750, 2250);
valString = val; Reťazec str = (valString); str.toCharArray (tempChar, 5); // zmena typu údajov veci nrf24.send (tempChar, sizeof (tempChar));
}
Krok 6: Poznámka o kóde:
Kód obsahuje niektoré obmedzené funkcie na riešenie problémov vo forme spätnej väzby zo sériového monitora v softvérovom rozhraní Arduino. Pri prezeraní sériového monitora z kódu SERVER (ctrl + shift + M) by ste mali vidieť stav potenciometra vo forme čísla od 1 do 180.
Tu je tiež knižnica pre bezdrôtové pripojenie a servo:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Odporúča:
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Bezdrôtové diaľkové ovládanie pomocou 2,4 GHz modulu NRF24L01 s Arduino - Nrf24l01 4 -kanálový / 6 -kanálový vysielač pre Quadcopter - RC helikoptéra - RC lietadlo využívajúce Arduino: 5 krokov (s obrázkami)
Bezdrôtové diaľkové ovládanie pomocou 2,4 GHz modulu NRF24L01 s Arduino | Nrf24l01 4 -kanálový / 6 -kanálový vysielač pre Quadcopter | RC helikoptéra | RC lietadlo využívajúce Arduino: Na ovládanie RC auta | Kvadrokoptéra | Dron | RC lietadlo | RC čln, vždy potrebujeme prijímač a vysielač, predpokladajme, že pre RC QUADCOPTER potrebujeme 6 -kanálový vysielač a prijímač a tento typ TX a RX je príliš nákladný, takže si ho vyrobíme na
Bezdrôtové ovládanie záhlavia postele MQTT: 5 krokov (s obrázkami)
Bezdrôtové ovládanie záhlavia postele MQTT: Pred niekoľkými rokmi sme kúpili novú posteľ z pamäťovej peny a ako je to u väčšiny postelí, museli ste si kúpiť aj jednu z ich „schválených základní“. za účelom zachovania záruky. Rozhodli sme sa preto pre najlacnejší základ, ktorý zahŕňal aj
Ako si vyrobíte auto na diaľkové ovládanie doma jednoduchým spôsobom - DIY bezdrôtové RC auto: 7 krokov
Ako si vyrobíte auto na diaľkové ovládanie doma jednoduchým spôsobom - DIY bezdrôtové RC auto: Ahoj priatelia, v tomto návode vám ukážem, ako ľahko vytvoriť diaľkovo ovládané auto na diaľkové ovládanie, pokračujte v čítaní …… Toto je skutočne skvelý projekt, skúste ho teda postaviť
Bezdrôtové diaľkové ovládanie Xfinity HTPC: 5 krokov
Bezdrôtové diaľkové ovládanie Xfinity HTPC: Tento tutoriál vám ukáže, ako prijímať signál z diaľkového ovládača Xfinity a potom ho použiť ako bezdrôtovú klávesnicu. Nemal som Arduino nano, takže som musel napísať python skript, aby som zo sériových dát urobil stlačenie klávesov. Tiež som použil Ard