Sadržaj:
- Korak 1: Oprema
- Korak 2: Datoteka slike dijagrama kola
- Korak 3: Dopuna datoteke dijagrama kruga
- Korak 4: Kod predajnika
- Korak 5: Kôd prijemnika
- Korak 6: INO datoteke
- Korak 7: Veza biblioteka
Video: Bežični automobil kontroliran pokretima: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
U ovom ćemo vodiču naučiti kako napraviti automobil s kontrolom pokreta ili bilo kojeg robota. Ovaj projekt ima dva dijela, jedan dio je predajna jedinica, a drugi prijemna jedinica. Odašiljač se zapravo montira na rukavice, a prijemnik se nalazi u automobilu ili bilo kojem robotu. Sada je vrijeme da napravite lijep automobil. Idemo!
Korak 1: Oprema
Jedinica predajnika
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 dugmastog oblika).
5. Vero-Board.
6. Rukavice.
Prijemna jedinica
1. Arduino Nano ili Arduino Uno.
2. L298N Modul pokretača motora.
3. Okvir robota sa 4 kotača uključujući motore.
4. RF 433 RF prijemnik.
5. Li-po baterija sa 3 ćelije, 11,1 volti.
6. Vero-board.
Drugi
1. Ljepljivi štapići i pištolj.
2. Žice za kratkospojnike.
3. Odvijači
4. Komplet za lemljenje.
itd.
Korak 2: Datoteka slike dijagrama kola
Korak 3: Dopuna datoteke dijagrama kruga
Korak 4: Kod predajnika
#include
#include
#include
MPU6050 mpu6050 (žica);
tajmer = 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 ("LEFT"); } 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
#include
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"); backward (); kašnjenje (100); //isključeno(); } else if ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("FORWARD"); forward (); 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"); desno (); kašnjenje (100); //isključeno(); } else if ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); isključeno(); kašnjenje (100); }} else {Serial.println ("Nije primljen signal"); }}
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: Veza biblioteka
Virtualna biblioteka žica:
MPU6050_tockn Libraby:
Wire Library:
Preporučuje se:
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 sa situacijom. Se
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
Automobil kontroliran pokretima: 5 koraka (sa slikama)
Automobil kontroliran pokretima: Roboti igraju važnu ulogu u automatizaciji u svim sektorima, poput građevinarstva, vojske, medicine, proizvodnje itd. Nakon što smo napravili neke osnovne robote, poput automobila s upravljanjem pomoću Bluetootha, razvio sam ovaj gesmetar zasnovan na
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 cool 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: Postoje dva načina rada u ruci. Prvi je ručni način rada s kojim možete pomicati ruku s bluetoothom na 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