Tartalomjegyzék:
- 1. lépés: Alkatrészek
- 2. lépés: Szervertábla
- 3. lépés: Szerverkódoló: Másolás és beillesztés
- 4. lépés: Ügyféltanács
- 5. lépés: Ügyfélkód: Másolás és beillesztés
- 6. lépés: Megjegyzés a kódról:
Videó: Vezeték nélküli szervo vezérlés: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez a projekt egy potenciométer (gomb) segítségével vezeték nélkül vezérli a szervó forgását. A forgás 180 fokra van korlátozva.
1. lépés: Alkatrészek
Ez a projekt a következőkből áll
- 2 Arduino UNO vezérlőkártya USB csatlakozó kábellel
- 2 nRF24L01-2,4 GHz-es RF adó-vevő modul (ezekkel a modulokkal kapcsolatban lásd:
- 2 foglalatos adapterlap (hátizsák chip) az nRF24L01 számára
- 1 opcionális Arduino -kompatibilis 328 ProtoShield prototípus bővítő kártya
- 1 szervó
- 1 analóg potenciométer
- forrasztópáka és forrasztópáka
- huzal
- tű orrú fogó
- szigetelő fóliát, elektromos szalagot használtam
2. lépés: Szervertábla
A kiszolgálópanel egy adó -vevő modulból, az árnyékoló táblából (amely csak egy módon kapcsolódik közvetlenül az Arduino kártyához) és a szervóból áll. Úgy döntöttem, hogy beépítem a pajzs táblát, hogy elkerüljem az ügyetlen kenyértáblát, és a projektet és az általánosabb befejezést adjam.
Az összetevők listájában szereplő kód és webes erőforrás részletezi az adó -vevő modul csatlakozásait. Úgy döntöttem, hogy a kapcsolatokat forrasztom ahelyett, hogy ideiglenes kapcsolatokat használnék, mint a korábbi projektekben. Mivel kezdő vagyok, minden forrasztási kötést szigeteltem elektromos szalaggal (nem voltak szépek).
A pajzslemez csapjai közvetlenül az Arduino csapoknak felelnek meg. A pajzslemez rögzítése előtt dróttal és forrasztással összekötöttem a földet és az 5 voltos csapokat a tábla síneivel. Az alkatrészek 5 voltos és földelő vezetékeit is forrasztottam az árnyékoló táblák síneire, majd végül az Arduino -t a pajzslaphoz rögzítettem.
A szervó a 3 voltos csaphoz van csatlakoztatva a tápellátáshoz, és a digitális 2 -es tüske a kommunikációhoz.
** Megjegyzés: csak az építkezés befejezése után vettem észre, hogy az Arduino tábláim nem egyformák. A szerver adó -vevőm a pajzslapon lévő 5 voltos sínről táplálkozik, míg a kliens adó -vevő a 3 voltos tüskéről, bár úgy véltem, hogy az adó -vevő adapter chipjének feladata a megfelelő feszültség biztosítása. Annyit biztosan állíthatok, hogy a képeken látható konfigurációnak megfelelő kód megadja a leírt hatást.
3. lépés: Szerverkódoló: Másolás és beillesztés
// SZERVER KÓD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nem használt GND> GND VCC> 5V */// adó -vevő vezeték
#befoglalni
// szervo könyvtár
#befoglalni
// adó -vevő könyvtár
#define Servopin 2
// deklarációs szervo kimeneti csap
ServoTimer2 szerv;
// szervo név deklarációja
RH_NRF24 nrf24;
// az adó -vevő nevének deklarálása
int timeOUT = 0;
// szervo változó
int impulzusok = 90;
// változó impulzusok tárolására
üres beállítás ()
{serv.attach (Servopin); // szervo cucc
Sorozat.kezdet (9600); // adó -vevő cucc
ha (! nrf24.init ())
Serial.println ("init failed"); // soros monitor cucc if (! nrf24.setChannel (12)) // a csatorna beállítása 125 Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nem sikerült"); // soros monitor cuccok}
üres hurok ()
{if (nrf24.available ()) {uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof (buf); if (nrf24.recv (buf, & len)) // soros monitor cuccok {Serial.print ("got request:"); impulzusok = strtol ((const char*) buf, NULL, 10); // adattípus -változtatás
int prin = térkép (impulzusok, 750, 2250, 0, 180); // adattípus -változtatás
Serial.println (prin); serv.write (impulzusok); // mozgatja a szervót}}
}
4. lépés: Ügyféltanács
Az ügyféllap egy adó -vevő modulból és a potenciométerből áll. Az adó -vevő modul ugyanúgy ** van bekötve, mint a szerverlap, azzal a kivétellel, hogy az árnyékolólap nélkül közvetlenül az Arduino kártya csapjaihoz.
A potenciométer 5V -os, földelt, és a 2 -es analóg érintkezőhöz van csatlakoztatva.
** Megjegyzés: amint azt a szervertábla lépésben említettük, az Arduino tábláim nem egyformák. Ebben az esetben az adó -vevő a 3.3V jelű tüskéhez van kötve, közvetlenül az 5V -os tű mellett, de úgy tűnik, minden rendben működik.
5. lépés: Ügyfélkód: Másolás és beillesztés
// ÜGYFÉLKÓD/ * NRF24L01 Arduino CE> D8 CSN> D10 SCK> D13 MO> D11 MI> D12 RO> Nem használt GND> GND VCC> 5V */// adó -vevő vezeték
#befoglalni
// adó -vevő könyvtár
int potpin = A2; // potenciométer delaráció
int val;
char tempChar [5];
Karakterlánc valString = ""; // adattípus -változtatás
RH_NRF24 nrf24; // adó -vevő cucc
üres beállítás ()
{Serial.begin (9600); if (! nrf24.init ()) Serial.println ("init failed"); // Az alapértelmezett értékek az init után 2,402 GHz (2. csatorna), 2 Mbps, 0 dBm, ha (! Nrf24.setChannel (12)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nem sikerült"); } // adó -vevő dolgok
void loop () {
val = analogRead (potpin); // potenciométer cucc
val = térkép (val, 0, 1023, 750, 2250);
valString = val; Karakterlánc str = (valString); str.toCharArray (tempChar, 5); // adattípus megváltoztatása cucc nrf24.send (tempChar, sizeof (tempChar));
}
6. lépés: Megjegyzés a kódról:
A kód tartalmaz néhány korlátozott hibaelhárítási funkciót, az Arduino szoftver interfészében lévő soros monitor visszajelzése formájában. Amikor a soros monitort a SERVER -kódból nézi (ctrl + shift + M), látnia kell a potenciométer állapotát 1 és 180 közötti szám formájában.
Ezenkívül itt van a vezeték nélküli és a szervo könyvtára:
www.airspayce.com/mikem/arduino/RadioHead/
github.com/nabontra/ServoTimer2
Ajánlott:
Vezeték nélküli Arduino robot a HC12 vezeték nélküli modul használatával: 7 lépés
Vezeték nélküli Arduino robot a HC12 vezeték nélküli modul használatával: Hé srácok, üdv újra. Korábbi hozzászólásomban elmagyaráztam, hogy mi az a H -híd áramkör, az L293D motorvezérlő IC, a malackalapú L293D motorvezérlő IC a nagyáramú motorvezérlők vezetéséhez, és hogyan tervezheti meg és készítheti el saját L293D motorvezérlő tábláját
Távirányítású autó - Vezeték nélküli vezeték nélküli Xbox 360 vezérlővel: 5 lépés
Távirányítású autó - vezérelhető a vezeték nélküli Xbox 360 vezérlő használatával: Ezek az utasítások saját távirányítású autó létrehozásához, vezeték nélküli Xbox 360 vezérlővel vezérelhetők
Ötven méter hatótávolságú vezeték nélküli hozzáférési pont TP Link WN7200ND USB vezeték nélküli adapterrel Raspbian Stretch -en: 6 lépés
Ötven méter hatótávolságú vezeték nélküli hozzáférési pont TP Link WN7200ND USB vezeték nélküli adapterrel a Raspbian Stretch -en: A Raspberry Pi kiválóan alkalmas biztonságos vezeték nélküli hozzáférési pontok létrehozására, de nem rendelkezik jó hatótávolsággal, TP Link WN7200ND USB vezeték nélküli adaptert használtam annak kiterjesztéséhez. Szeretném megosztani, hogyan kell csinálniMiért akarok málna pi -t használni router helyett? T
DIY vezeték nélküli mikrofon vezeték nélküli gitárrendszerhez: 4 lépés
DIY Wireless Mic to Wireless Guitar System: Néztem néhány videót és néhány zenekart, és szinte közülük vezeték nélküli rendszert használ a gitáron. Megőrülök, mozogok, sétálok, és azt csinálok, amit akarnak, anélkül, hogy a zsinórt használnám, ezért arról álmodozom, hogy lesz egy .. De .. nekem ez most túl drága, ezért erre jutottam
Hackeljen be egy vezeték nélküli kaputelefont egy vezeték nélküli riasztókapcsolóba vagy be/ki kapcsolóba: 4 lépés
Hackeljen be egy vezeték nélküli kaputelefont egy vezeték nélküli riasztókapcsolóba vagy be/ki kapcsolóba: Nemrég építettem egy riasztórendszert, és telepítettem a házamba. Mágneses kapcsolókat használtam az ajtókon, és bekötöttem a padláson. Az ablakok egy másik történet, és a kemény huzalozás nem volt lehetőség. Szükségem volt egy vezeték nélküli megoldásra, és ez