Sadržaj:
- Korak 1: Komponente
- Korak 2: Server ploča
- Korak 3: Server koder: 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 izmjena: 2024-01-30 08:08
Ovaj projekt kontrolira rotaciju servo -a bežično pomoću potenciometra (dugmeta). Rotacija je ograničena na 180 stepeni.
Korak 1: Komponente
Ovaj projekat se sastoji 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 sa utičnicama (čipovi za naprtnjače) za nRF24L01
- 1 opcionalna 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: Server ploča
Poslužiteljska ploča sastoji se od primopredajničkog modula, štitne ploče (koja se direktno povezuje s Arduino pločom samo na jedan način) i servo. 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 listu 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. Lemio sam i žice od 5 volti i uzemljene komponente 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 završetka ove gradnje primijetio sam da moje Arduino ploče nisu identične. Moj poslužitelj primopredajnika napaja 5voltna šina na štitnoj ploči, dok se primopredajnik klijent napaja 3voltnim pinom, mada 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: Server koder: 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
#include
// servo biblioteka
#include
// primopredajnička biblioteka
#define Servopin 2
// izlazni pin servo deklaracije
ServoTimer2 serv;
// deklaracija servo naziva
RH_NRF24 nrf24;
// deklaracija imena 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 = mapa (impulsi, 750, 2250, 0, 180); // promjena vrste podataka
Serial.println (prin); serv.write (impulsi); // čini da se servo pomakne}}
}
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 štitne ploče spojen direktno na pinove Arduino ploče.
Potenciometar uzima 5v, uzemljen i spojen je na analogni pin 2.
** Napomena: kao što je spomenuto u koraku serverske 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
#include
// primopredajnička biblioteka
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 inita 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); // stvari s potenciometrom
val = karta (val, 0, 1023, 750, 2250);
valString = val; String 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 funkcije 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čuje se:
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 vezu 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: Zdravo 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čunaru, a svakako može potrajati duže. Dosta je toga, prijeđimo na to
Vijak - Noćni sat za bežično punjenje DIY (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) je vrsta 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 kontrolu RC servo -a. Koristit ću akcelerometar za kontrolu dva servo -a preko UDP veze. Ovo je projekt Proof Of Concept kojim se provjerava da li veza između iPhonea i perifernog uređaja može postići visoke
UPRAVLJANJE I UPRAVLJANJE BRZINOM DC MOTORA KORIŠĆENJEM LABVIEW (PWM) I ARDUINO: 5 koraka
UPUTSTVO I UPRAVLJANJE BRZINOM DC MOTORA KORIŠĆENJEM LABVIEW (PWM) I ARDUINO: Zdravo momci, prije svega oprostite na mom smiješnom engleskom jeziku. U ovom uputstvu pokazat ću vam kako kontrolirati brzinu istosmjernog motora pomoću laboratorijskog pregleda Počnimo