Sadržaj:
- Korak 1: Komponente
- Korak 2: Ploča poslužitelja
- Korak 3: Kodiranje poslužitelja: Kopirajte i zalijepite
- Korak 4: Odbor za klijente
- Korak 5: Kôd klijenta: Kopirajte i zalijepite
- Korak 6: Napomena o kodu:
Video: Bežično servo upravljanje: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ovaj projekt kontrolira rotaciju servo -a bežično pomoću potenciometra (gumb). Rotacija je ograničena na 180 stupnjeva.
Korak 1: Komponente
Ovaj projekt sastoji se od
- 2 Arduino UNO upravljačke ploče s USB priključnim kabelom
- 2 modula RF primopredajnika nRF24L01-2,4 GHz (za pomoć oko ovih modula pogledajte
- 2 adapterske ploče s utičnicama (čipovi ruksaka) za nRF24L01
- 1 dodatna Arduino kompatibilna 328 ProtoShield prototipska ploča za proširenje
- 1 servo
- 1 analogni potenciometar
- lemilica i lemljenje
- žica
- kliješta s iglastim nosem
- izolacijski omot, koristio sam električnu traku
Korak 2: Ploča poslužitelja
Poslužiteljska ploča sastoji se od primopredajničkog modula, štitne ploče (koja se izravno povezuje s Arduino pločom samo na jedan način) i serva. Odlučio sam uključiti štitnu ploču kako bih izbjegao nespretnu ploču i dao projektu i ukupni uredniji izgled.
Kôd i web resurs uključeni u popis komponenti detaljno opisuju veze modula primopredajnika. Odlučio sam lemiti veze umjesto da koristim privremene veze kao u prethodnim projektima. Budući da sam početnik, izolirao sam svaki lemni spoj električnom trakom (nisu bili lijepi).
Igle štitne ploče odgovaraju izravno Arduino iglicama. Prije nego što sam pričvrstio štitnu ploču, žicom i lemljenjem spojio sam uzemljenje i 5voltne igle na šine ploče. Također sam lemio žice od 5 volti i uzemljenje komponenti na šine štitne ploče, a zatim sam konačno pričvrstio Arduino na štitnu ploču.
Servo je priključen na 3voltni pin za napajanje i digitalni pin 2 za komunikaciju.
** Napomena: tek nakon dovršetka ove gradnje primijetio sam da moje Arduino ploče nisu identične. Moj poslužitelj primopredajnika napaja 5voltna vodilica na ploči štita, dok klijent primopredajnik napaja 3voltna iglica, iako sam bio uvjeren da je funkcija adapterskog čipa na primopredajniku osigurati odgovarajući napon. Sve što mogu sa sigurnošću reći je da ponuđeni kod usklađen sa konfiguracijom prikazanom na slikama proizvodi opisani učinak.
Korak 3: Kodiranje poslužitelja: Kopirajte i zalijepite
// KOD SERVERA/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Ne koristi se GND> GND VCC> 5V */// ožičenje primopredajnika
#uključi
// servo knjižnica
#uključi
// primopredajnička knjižnica
#define Servopin 2
// deklaracija servo izlazni pin
ServoTimer2 poslužitelj;
// deklaracija naziva serva
RH_NRF24 nrf24;
// deklaracija naziva primopredajnika
int timeOUT = 0;
// varijabla za servo
int impulsi = 90;
// varijabla za spremanje impulsa
void setup ()
{serv.attach (Servopin); // servo stvari
Serial.begin (9600); // primopredajnik
if (! nrf24.init ())
Serial.println ("init nije uspio"); // serijski monitor ako (! nrf24.setChannel (12)) // postavi kanal na 125 Serial.println ("setChannel nije uspio"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nije uspio"); // serijski monitor}
void loop ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // stvari serijskog monitora {Serial.print ("got request:"); impulsi = strtol ((const char*) buf, NULL, 10); // promjena vrste podataka
int prin = karta (impulsi, 750, 2250, 0, 180); // promjena vrste podataka
Serial.println (prin); serv.write (impulsi); // tjera servo pomak}}
}
Korak 4: Odbor za klijente
Klijentska ploča sastoji se od primopredajnika i potenciometra. Modul primopredajnika ožičen je na isti način ** kao i poslužiteljska ploča, s izuzetkom da je bez ploče oklopa ožičen izravno u pinove Arduino ploče.
Potenciometar uzima 5v, uzemljen i spojen je na analogni pin 2.
** Napomena: kao što je spomenuto u koraku poslužiteljske ploče, moje Arduino ploče nisu identične. U ovom slučaju primopredajnik je ožičen na pin označen sa 3.3V, neposredno uz pin 5V, ali opet, čini se da sve radi dobro.
Korak 5: Kôd klijenta: Kopirajte i zalijepite
// KOD KLIJENTA/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Ne koristi se GND> GND VCC> 5V */// ožičenje primopredajnika
#uključi
// primopredajnička knjižnica
int potpin = A2; // odlaganje potenciometra
int val;
char tempChar [5];
String valString = ""; // promjena vrste podataka
RH_NRF24 nrf24; // primopredajnik
void setup ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init nije uspio"); // Zadane vrijednosti nakon init -a su 2,402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (12)) Serial.println ("setChannel nije uspio"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nije uspio"); } // primopredajnik
void loop () {{100} {101}
val = analogRead (potpin); // potenciometar stvari
val = karta (val, 0, 1023, 750, 2250);
valString = val; Niz str = (valString); str.toCharArray (tempChar, 5); // promjena vrste podataka nrf24.send (tempChar, sizeof (tempChar));
}
Korak 6: Napomena o kodu:
Kôd sadrži neke ograničene mogućnosti rješavanja problema u obliku povratnih informacija serijskog monitora u sučelju softvera Arduino. Kada gledate serijski monitor iz koda SERVER (ctrl + shift + M), trebali biste moći vidjeti stanje potenciometra u obliku broja između 1 i 180.
Također, ovdje je biblioteka za bežično povezivanje i servo:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Preporučeni:
DIY Jednostavno bežično postolje za punjenje: 12 koraka
DIY Jednostavno bežično postolje za punjenje: Svi smo vidjeli bežične punjače koji koriste rezonantnu spregu za punjenje uređaja. Ali evo punjača za telefon koji se može koristiti za punjenje većine mobilnih telefona
Bežično pristupačan Pi u 5 minuta: 3 koraka
Bežično pristupačan Pi u 5 minuta: Pozdrav svima! Evo kako učiniti malinu Pi bežično dostupnom s telefona ili tableta. Imajte na umu da je moja procjena od 5 minuta za osobu s nekim poznavanjem rada na računalu, a svakako može potrajati duže. Dosta je toga, prijeđimo na to
Vijak - DIY noćni sat za bežično punjenje (6 koraka): 6 koraka (sa slikama)
Vijak - Noćni sat za bežično punjenje DIY (6 koraka): Induktivno punjenje (poznato i kao bežično punjenje ili bežično punjenje) vrsta je bežičnog prijenosa energije. Koristi elektromagnetsku indukciju za opskrbu prijenosnih uređaja električnom energijom. Najčešća aplikacija je Qi bežično punjenje
Bežično upravljanje RC servo -ima preko UDP -a: 3 koraka
Bežično upravljanje RC servo -ima preko UDP -a: U ovom projektu želim koristiti svoj iPhone za upravljanje RC servo -ovima. Koristit ću mjerač ubrzanja za upravljanje dva servo upravljača preko UDP veze. Ovo je projekt Proof Of Concept kojim se želi provjeriti može li veza između iPhonea i perifernog uređaja postići visoke
UPRAVLJANJE I UPRAVLJANJE BRZINOM DC MOTORA KORIŠĆENJEM LABVIEW (PWM) I ARDUINA: 5 koraka
UPUTSTVO I UPRAVLJANJE BRZINOM DC MOTORA KORIŠĆENJEM LABVIEW (PWM) I ARDUINO: Pozdrav momci, prije svega žao mi je zbog mog smiješnog engleskog jezika. U ovom uputstvu pokazat ću vam kako kontrolirati brzinu istosmjernog motora pomoću laboratorijskog pregleda Počnimo