Obsah:
- Krok 1: Součásti
- Krok 2: Serverová deska
- Krok 3: Server Coder: Zkopírujte a vložte
- Krok 4: Klientská rada
- Krok 5: Kód klienta: Zkopírujte a vložte
- Krok 6: Poznámka ke kódu:
Video: Bezdrátové ovládání serva: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Tento projekt řídí otáčení serva bezdrátově pomocí potenciometru (knoflíku). Rotace je omezena na 180 stupňů.
Krok 1: Součásti
Tento projekt se skládá z
- 2 desky řadiče Arduino UNO s kabelem USB konektoru
- 2 moduly RF vysílače nRF24L01-2,4 GHz (pomoc s těmito moduly viz
- 2 desky soketového adaptéru (batohy) pro nRF24L01
- 1 volitelná rozšiřující deska prototypu 328 ProtoShield kompatibilní s Arduino
- 1 servo
- 1 analogový potenciometr
- páječka a pájka
- drát
- kleště s nosem
- izolační obal, použil jsem elektrickou pásku
Krok 2: Serverová deska
Serverová deska se skládá z transceiverového modulu, štítové desky (která se připojuje přímo k desce Arduino pouze jedním způsobem) a ze serva. Rozhodl jsem se zahrnout štítovou desku, abych se vyhnul nemotornému prkénku a dal projektu a celkově hezčí povrch.
Kód a webový zdroj zahrnutý v seznamu komponent podrobně popisuje připojení modulu transceiveru. Rozhodl jsem se pájet spoje namísto použití dočasných připojení jako v předchozích projektech. Jelikož jsem začátečník, izoloval jsem každý pájecí spoj elektrickou páskou (nebyly hezké).
Kolíky štítové desky odpovídají přímo pinům Arduino. Před připevněním štítové desky jsem drát a pájku spojil zemnicí a 5voltové piny s kolejnicemi desky. Také jsem připájel 5voltové a uzemňovací vodiče součástí ke kolejnicím štítové desky a poté Arduino nakonec připevnil k štítové desce.
Servo je připojeno ke 3voltovému kolíku pro napájení a digitálnímu kolíku 2 pro komunikaci.
** Poznámka: teprve po dokončení této stavby jsem si všiml, že moje desky Arduino nejsou totožné. Můj serverový transceiver je napájen 5voltovou lištou na štítové desce, zatímco klientský transceiver je napájen 3voltovým pinem, i když jsem byl přesvědčen, že funkcí čipu adaptéru na transceiveru je zajistit správné napětí. Jediné, co mohu s jistotou říci, je, že poskytnutý kód odpovídající konfiguraci zobrazené na obrázcích vytváří popsaný efekt.
Krok 3: Server Coder: Zkopírujte a vložte
// KÓD SERVERU/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nepoužito GND> GND VCC> 5V */// zapojení transceiveru
#zahrnout
// knihovna serv
#zahrnout
// knihovna transceiveru
#define Servopin 2
// deklarace výstupního pinu servo
ServoTimer2 serv;
// deklarace názvu serva
RH_NRF24 nrf24;
// deklarace názvu transceiveru
int timeOUT = 0;
// proměnná pro servo
int pulsy = 90;
// proměnná pro uložení impulsů
neplatné nastavení ()
{serv.attach (Servopin); // servo věci
Serial.begin (9600); // věci transceiveru
if (! nrf24.init ())
Serial.println ("inicializace se nezdařila"); // věci ze sériového monitoru if (! nrf24.setChannel (12)) // nastavit kanál na 125 Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); // věci ze sériového monitoru}
prázdná smyčka ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // věci ze sériového monitoru {Serial.print ("got request:"); pulsy = strtol ((const char*) buf, NULL, 10); // věci pro změnu datového typu
int prin = mapa (impulsy, 750, 2250, 0, 180); // věci pro změnu datového typu
Serial.println (tisk); serv.write (impulsy); // rozpohybuje servo}}
}
Krok 4: Klientská rada
Klientská deska se skládá z transceiverového modulu a potenciometru. Modul transceiveru je zapojen stejným způsobem ** jako serverová deska s tou výjimkou, že bez štítové desky je zapojen přímo do pinů desky Arduino.
Potenciometr odebírá 5 V, uzemnění a je připojen k analogovému pinu 2.
** Poznámka: jak je uvedeno v kroku na desce serveru, moje desky Arduino nejsou totožné. V tomto případě je transceiver připojen ke kolíku označenému 3,3 V, přímo sousedícímu s kolíkem 5 V, ale opět se zdá, že vše funguje dobře.
Krok 5: Kód klienta: Zkopírujte a vložte
// KLIENTSKÝ KÓD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nepoužívá se GND> GND VCC> 5V */// zapojení transceiveru
#zahrnout
// knihovna transceiveru
int potpin = A2; // delarace potenciometru
int val;
char tempChar [5];
Řetězec valString = ""; // věci pro změnu datového typu
RH_NRF24 nrf24; // věci transceiveru
neplatné nastavení ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init failed"); // Výchozí hodnoty po inicializaci jsou 2,402 GHz (kanál 2), 2 Mb/ s, 0 dBm, pokud (! Nrf24.setChannel (12)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF failed"); } // věci s přijímačem
prázdná smyčka () {
val = analogRead (potpin); // věci potenciometru
val = mapa (val, 0, 1023, 750, 2250);
valString = val; Řetězec str = (valString); str.toCharArray (tempChar, 5); // změna datového typu věci nrf24.send (tempChar, sizeof (tempChar));
}
Krok 6: Poznámka ke kódu:
Kód obsahuje některé omezené funkce pro odstraňování problémů ve formě zpětné vazby ze sériového monitoru v softwarovém rozhraní Arduino. Při prohlížení sériového monitoru z kódu SERVER (ctrl + shift + M) byste měli být schopni vidět stav potenciometru ve formě čísla mezi 1 a 180.
Zde je také knihovna pro bezdrátové připojení a servo:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Doporučuje:
Ovládání 2 serva pomocí analogového joysticku: 5 kroků (s obrázky)
Ovládání 2 serva pomocí analogového joysticku: Ahoj lidi, toto je můj první návod a v tomto příspěvku sdílím, jak pomocí analogového joysticku ovládat serva pomocí Arduino UNO. Pokusím se to vysvětlit co nejjednodušeji, doufám, že se vám to líbí to
Ovládání serva Hexapod Arduino Pololu Maestro: 11 kroků
Hexapod Arduino Pololu Maestro Servo Controll: Nach dem mein erster Versuch mit einem Hexapod, daran gescheitert war das die servos zu schwach waren jetzt ein neuer Versuch mit mit 10Kg Servos aus HK. Ausserdem habe ich mich für ein neuen Sevocontroller von Pololu entschieden
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino - Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter - RC vrtulník - RC letadlo využívající Arduino: 5 kroků (s obrázky)
Bezdrátové dálkové ovládání pomocí 2,4GHz modulu NRF24L01 s Arduino | Nrf24l01 4kanálový / 6kanálový přijímač vysílače pro Quadcopter | RC vrtulník | RC letadlo pomocí Arduina: Provoz RC auta | Kvadrokoptéra | Dron | RC letadlo | RC loď, vždy potřebujeme přijímač a vysílač, předpokládejme, že pro RC QUADCOPTER potřebujeme 6kanálový vysílač a přijímač a ten typ TX a RX je příliš nákladný, takže si jej vyrobíme na našem
Robotické auto pro bezdrátové ovládání Arduino: 5 kroků
Robotické auto pro bezdrátové ovládání Arduino: V tomto příspěvku se dozvíte, jak postavit auto pro bezdrátové ovládání robota Arduino. Postavíme vysílač i přijímač. Na straně vysílače bude nano modul Arduino, modul joysticku a NRF24L01 pro odeslání datového kabelu
DIY bezdrátové bezdrátové rádiové vlny zdarma v Káthmándú: 6 kroků
DIY Wireless Free Electricity Form Radio Waves v Káthmándú: Co jsem udělal, vylepšil jsem to a ještě více zjednodušil a místo čtyř má jen dva konce. Správná velikost palačinky se dvěma konci spojenými s Arial’s a zemí funguje jako přijímač. Dlouhý úsek dvou arial, jedna spojená s g