Sadržaj:
- Korak 1: Oprema
- Korak 2: Datoteka slike dijagrama kruga
- Korak 3: Filtriranje datoteke kruga dijagrama
- Korak 4: Kôd odašiljača
- Korak 5: Kôd prijemnika
- Korak 6: INO datoteke
- Korak 7: Povezivanje knjižnica
Video: Bežični automobil kontroliran pokretima: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
U ovom ćemo vodiču naučiti kako izraditi automobil s gestama ili bilo kojeg robota. Ovaj projekt ima dva dijela, jedan dio je odašiljačka jedinica, a drugi dio je prijemna jedinica. Odašiljač je zapravo montiran na rukavice, a prijemnik je smješten unutar automobila ili bilo kojeg robota. Sada je vrijeme da napravite lijep automobil. Idemo!
Korak 1: Oprema
Jedinica odašiljača
1. Arduino Nano.
2. Senzorski modul MPU6050.
3. RF predajnik 433 MHz.
4. Bilo koja vrsta 3 ćelije, baterija od 11,1 volta (ovdje sam koristio ćeliju za dugmad).
5. Vero-Board.
6. Rukavice za ruke.
Prijemna jedinica
1. Arduino Nano ili Arduino Uno.
2. L298N Modul pokretača motora.
3. Okvir robota s 4 kotača uključujući motore.
4. RF 433 RF prijemnik.
5. Li-po baterija s 3 ćelije, 11,1 volti.
6. Vero-ploča.
Drugi
1. Ljepljivi štapići i pištolj.
2. Kratkospojne žice.
3. Odvijači
4. Komplet za lemljenje.
itd.
Korak 2: Datoteka slike dijagrama kruga
Korak 3: Filtriranje datoteke kruga dijagrama
Korak 4: Kôd odašiljača
#uključi
#uključi
#uključi
MPU6050 mpu6050 (žica);
long timer = 0;
char *kontroler;
void setup ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (true); vw_set_ptt_inverted (true); // vw_set_tx_pin (10); vw_setup (4000); // brzina prijenosa podataka Kbps
}
void loop ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update ();
if (millis () - mjerač vremena> 1000)
{Serial.println ("============================================ =========== "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("\ taccY:"); Serial.print (mpu6050.getAccY ()); Serial.print ("\ taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("\ tgyroY:"); Serial.print (mpu6050.getGyroY ()); Serial.print ("\ tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\ taccAngleY:"); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("\ tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); Serial.print ("\ tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); Serial.println ("================================================ ========== / n "); timer = millis (); }
/////////////////////////////////////////////////////////////////////////////////////
if (mpu6050.getAccAngleX () 30) {kontroler = "X2"; vw_send ((uint8_t *) kontroler, strlen (kontroler)); vw_wait_tx (); // Pričekajte dok cijela poruka ne nestane Serial.println ("NAPRIJED"); } else if (mpu6050.getAccAngleY ()> 40) {controller = "Y1"; vw_send ((uint8_t *) kontroler, strlen (kontroler)); vw_wait_tx (); // Pričekajte dok cijela poruka ne nestane Serial.println ("LIJEVO"); } else if (mpu6050.getAccAngleY () <-40) {controller = "Y2"; vw_send ((uint8_t *) kontroler, strlen (kontroler)); vw_wait_tx (); // Pričekajte dok cijela poruka ne nestane Serial.println ("RIGHT"); } else if (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {controller = "A1"; vw_send ((uint8_t *) kontroler, strlen (kontroler)); vw_wait_tx (); // Pričekajte dok cijela poruka ne nestane Serial.println ("STOP"); }}
Korak 5: Kôd prijemnika
#uključi
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; void setup () {Serial.begin (9600); vw_set_ptt_inverted (true); // Potrebno za DR3100 vw_set_rx_pin (12); vw_setup (4000); // bitovi u sekundi pinMode (13, OUTPUT); pinMode (LA, OUTPUT); pinMode (LB, OUTPUT); pinMode (RA, OUTPUT); pinMode (RB, OUTPUT); vw_rx_start (); // Pokretanje PLL prijemnika pomoću Serial.println ("Sve u redu");
}
void loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message (buf, & buflen)) // Ne blokira
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("NAZAD"); unazad(); kašnjenje (100); // isključeno (); } else if ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("NAPRIJED"); naprijed(); kašnjenje (100); // isključeno (); }
inače if ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("LIJEVO"); lijevo(); kašnjenje (100); // isključeno (); }
inače if ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("DESNO"); pravo(); kašnjenje (100); // isključeno (); } else if ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); off (); kašnjenje (100); }} else {Serial.println ("Nema primljenog signala"); }}
void forward ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
void backward ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
praznina lijevo ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
void right ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
void off ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Korak 6: INO datoteke
Korak 7: Povezivanje knjižnica
Virtualna knjižnica žica:
MPU6050_tockn Libraby:
Knjižnica Wire:
Preporučeni:
Robot kontroliran pokretima pomoću Arduina: 7 koraka
Robot kontroliran pokretima pomoću Arduina: Roboti se koriste u mnogim sektorima poput građevinarstva, vojske, proizvodnje, montaže itd. Roboti mogu biti autonomni ili poluautonomni. Autonomni roboti ne zahtijevaju nikakvu ljudsku intervenciju i mogu djelovati sami u skladu s situacijom. Vidi
Chrome gadžet dinosaura kontroliran pokretima ruke / Kako to učiniti / #smartcreativity: 14 koraka
Gadget Chrome dinosaur kontroliran pokretima ruke / Kako to učiniti / #smartcreativity: Pozdrav prijatelji, U ovom tutorialu pokazat ću vam vrlo ekskluzivan projekt.SO, danas ću vam pokazati kako kontrolirati igru Chrome Dinosaur svojom rukom vrlo lako. Ako ćete koristiti ovu tehnologiju za kontrolu kroma DINO, tada ćete pasti
RC automobil kontroliran pokretima ruke: 15 koraka
RC automobil kontroliran pokretima ruke: Zdravo Svijete! Ovo je moj prvi instruktor Ako imate bilo kakvih pitanja - ne ustručavajte se pitati. Ciljna publika: Ovaj projekt primjenjiv je na svakoga tko ima strast kada je u pitanju tehnologija. Bilo da ste stručnjak ili apsolutni početnik
Kako napraviti automobil na daljinsko upravljanje kod kuće na jednostavan način - DIY bežični RC AUTOMOBIL: 7 koraka
Kako napraviti auto na daljinsko upravljanje kod kuće na jednostavan način - DIY bežični RC CAR: Pozdrav prijatelji, u ovom uputstvu pokazat ću vam kako na jednostavan način napraviti daljinski upravljani automobil, nastavite čitati …… Ovo je zaista super projekt pa pokušajte ga izgraditi
Robotska ruka koja se može kontrolirati pokretima kontrolirana pokretima putem Bluetootha do Arduina: 4 koraka
Robotska ruka koja se može upravljati pokretima kontrolirana pokretima putem Bluetootha do Arduina: U ruci postoje dva načina. Prvi je ručni način rada kojim možete pomicati ruku s bluetoothom u svom mobilnom telefonu pomicanjem klizača u aplikaciji. U isto vrijeme možete spremiti svoje pozicije i igrati … Drugo je način gesta koji koristi vaš ph