Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
See projekt kontrollib servo pöörlemist juhtmevabalt potentsiomeetri (nupu) abil. Pöörlemine on piiratud 180 kraadiga.
Samm: komponendid
See projekt koosneb
- 2 Arduino UNO kontrolleriplaati koos USB -kaabliga
- 2 nRF24L01-2,4 GHz raadiosaatja-vastuvõtja moodulid (nende moodulite kohta leiate abi aadressilt
- 2 pistikupesa adapterplaati (seljakoti kiibid) seadmele nRF24L01
- 1 valikuline Arduinoga ühilduv 328 ProtoShield prototüübi laiendusplaat
- 1 servo
- 1 analoog -potentsiomeeter
- jootekolb ja jootekolb
- traat
- nõelaga tangid
- isolatsioonimähis, kasutasin elektrilinti
2. samm: serveriplaat
Serveriplaat koosneb transiiverimoodulist, kilpplaadist (mis ühendub otse Arduino plaadiga ainult ühel viisil) ja servost. Otsustasin lisada kilpplaadi, et vältida kohmakat leivaplaati ja anda projektile ja üldisele heale viimistlusele.
Komponentide loendis sisalduv kood ja veebiressurss kirjeldavad transiiveri mooduli ühendusi. Otsustasin ühendused jootmise asemel kasutada ajutisi ühendusi nagu eelmistes projektides. Kuna olen algaja, siis isoleerisin igat jootekohta elektrilindiga (need ei olnud ilusad).
Kilbiplaadi tihvtid vastavad otse Arduino tihvtidele. Enne kilpplaadi kinnitamist ühendasin traadi ja joodisega maapinna ja 5 -voldised tihvtid lauaplatsidega. Samuti jootsin komponentide 5 -voldised ja maandusjuhtmed varjestusplaadi rööbaste külge, seejärel kinnitasin lõpuks Arduino kilpplaadi külge.
Servo on toiteallika jaoks ühendatud 3 -voldise kontaktiga ja side jaoks digitaalse tihvtiga 2.
** Märkus: alles pärast selle ehituse lõpetamist märkasin, et minu Arduino plaadid ei ole identsed. Minu server -transiiverit toidab kilpplaadil olev 5 -voldine rööp, kliendi -transiiverit aga 3 -voldine tihvt, kuigi mind on hakatud uskuma, et transiiveri adapterkiibi ülesanne on tagada õige pinge. Võin kindlalt öelda, et piltidel näidatud konfiguratsiooniga sobitatud kood annab kirjeldatud efekti.
Samm: serverikooder: kopeerimine ja kleepimine
// SERVERIKOOD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Ei kasutata GND> GND VCC> 5V */// transiiveri juhtmestik
#kaasake
// servo raamatukogu
#kaasake
// transiiveri raamatukogu
#define Servopin 2
// deklaratsiooni servoväljundi tihvt
ServoTimer2 serv;
// servo nime deklaratsioon
RH_NRF24 nrf24;
// vastuvõtja nime deklaratsioon
int timeOUT = 0;
// muutuja servo jaoks
int impulsid = 90;
// muutuja impulsside salvestamiseks
tühine seadistus ()
{serv.attach (Servopin); // servo värk
Seriaalne algus (9600); // transiiveri värk
kui (! nrf24.init ())
Serial.println ("init ebaõnnestus"); // jadamonitori värk if (! nrf24.setChannel (12)) // määrake kanal 125 Serial.println ("setChannel ebaõnnestus"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ebaõnnestus"); // seeriamonitori asjad}
tühine tsükkel ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // seeriamonitori asjad {Serial.print ("sain päringu:"); kaunviljad = strtol ((const char*) buf, NULL, 10); // andmetüübi muutmise asjad
int prin = kaart (impulsid, 750, 2250, 0, 180); // andmetüübi muutmise asjad
Serial.println (prints); serv.write (impulsid); // paneb servo liikuma}}
}
Samm 4: Kliendihaldur
Kliendiplaat koosneb transiiveri moodulist ja potentsiomeetrist. Transiiveri moodul on juhtmega samamoodi ** kui serveriplaat, välja arvatud see, et ilma kaitsetahvlita ühendatakse see otse Arduino plaadi tihvtidega.
Potentsiomeeter võtab 5 V maanduse ja on ühendatud analoogpistikuga 2.
** Märkus: nagu serveriplaadi etapis mainitud, ei ole minu Arduino tahvlid identsed. Sel juhul on transiiver ühendatud juhtmega, mille sildi on 3.3V, vahetult 5V pistiku kõrval, kuid tundub, et kõik töötab hästi.
Samm: kliendikood: kopeerige ja kleepige
// KLIENDIKOOD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Ei kasutata GND> GND VCC> 5V */// transiiveri juhtmestik
#kaasake
// transiiveri raamatukogu
int potpin = A2; // potentsiomeetri delaratsioon
int val;
char tempChar [5];
String valString = ""; // andmetüübi muutmise asjad
RH_NRF24 nrf24; // transiiveri värk
tühine seadistus ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init ebaõnnestus"); // Vaikimisi pärast init on 2,402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (12)) Serial.println ("setChannel ebaõnnestus"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ebaõnnestus"); } // transiiveri asjad
void loop () {
val = analogRead (potpin); // potentsiomeetri värk
val = kaart (val, 0, 1023, 750, 2250);
valString = val; String str = (valString); str.toCharArray (tempChar, 5); // andmetüübi muutmise asjad nrf24.send (tempChar, sizeof (tempChar));
}
6. samm: märkus koodi kohta:
Kood sisaldab mõningaid piiratud tõrkeotsingu funktsioone tagasiside kujul Arduino tarkvaraliidese jadamonitorilt. Seriaalmonitori vaatamisel SERVER -koodist (ctrl + shift + M) peaksite nägema potentsiomeetri olekut numbri 1 ja 180 vahel.
Siin on ka traadita ja servo raamatukogu:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Soovitan:
Traadita temperatuuri- ja vibratsioonisensorite kasutamise alustamine: 7 sammu
Traadita temperatuuri- ja vibratsioonisensorite kasutamisega alustamine: Mõnikord põhjustab vibratsioon paljudes rakendustes tõsiseid probleeme. Alates masina võllidest ja laagritest kuni kõvaketta jõudluseni põhjustab vibratsioon masina kahjustusi, varajast väljavahetamist, madalat jõudlust ja mõjutab oluliselt täpsust. Jälgimine
Traadita Arduino robot, kasutades HC12 traadita moodulit: 7 sammu
Traadita Arduino robot, kasutades HC12 traadita moodulit: Hei poisid, tere tulemast tagasi. Oma eelmises postituses selgitasin, mis on H -sildahel, L293D mootorijuhi IC, sihikindel L293D mootorijuhi IC suure vooluga mootorijuhtide juhtimiseks ja kuidas saate oma L293D mootori juhtplaati kujundada ja teha
DIY traadita mikrofon traadita kitarrisüsteemile: 4 sammu
DIY traadita mikrofon traadita kitarrisüsteemile: olen vaadanud mõnda videot ja mõnda bändi ning peaaegu neist kasutavad kitarril traadita süsteemi. Läheb hulluks, liigub, kõnnib ja teeb ilma juhtmeta kõike, mida nad tahavad, nii et ma unistan, et mul oleks see üks .. Aga .. minu jaoks on see nüüd liiga kallis, nii et jõudsin selleni
Häkkige traadita uksekell traadita häirelülitisse või sisse/välja lülitisse: 4 sammu
Häkkige traadita uksekell traadita häirelülitisse või sisse/välja lülitisse: ehitasin hiljuti häiresüsteemi ja paigaldasin selle oma majja. Ma kasutasin ustel magnetlüliteid ja ühendasin need pööningu kaudu. Aknad olid teine lugu ja kõva juhtmestik ei olnud valik. Vajasin traadita lahendust ja see on
Traadita ruuteri teisendamine traadita laienduseks 2x pääsupunktiks: 5 sammu
Teisendage traadita ruuter kaheks juhtmevabaks laiendiks 2x pääsupunktiks: minu majas oli RSJ (laes metallist tugitala) tõttu kehv traadita internetiühendus ja ma tahtsin signaali suurendada või ülejäänud maja jaoks lisapikendajat lisada. Olin näinud elektris umbes 50 naela pikendajaid