Innholdsfortegnelse:
- Trinn 1: Utstyr
- Trinn 2: Bildefil for kretsdiagram
- Trinn 3: Fritzing File of Circuit Diagram
- Trinn 4: Senderkode
- Trinn 5: Mottakerkode
- Trinn 6: INO -filer
- Trinn 7: Link of Libraries
Video: Bevegelseskontrollert trådløs bil: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I denne opplæringen skal vi lære hvordan du lager en geststyrt bil eller hvilken som helst robot. Dette prosjektet har to deler, en del er senderenhet og den andre delen er mottakerenhet. Senderenheten er faktisk montert på en hånd hansker og mottakerenheten er plassert inne i en bil eller en hvilken som helst robot. Nå er det på tide å lage en fin bil. La oss gå!
Trinn 1: Utstyr
Senderenhet
1. Arduino Nano.
2. MPU6050 sensormodul.
3. RF 433 MHz sender.
4. Alle typer 3 -cellers, 11,1 volt batteri (her har jeg brukt myntcelle).
5. Vero-Board.
6. Håndhansker.
Mottakerenhet
1. Arduino Nano eller Arduino Uno.
2. L298N -motorførermodul.
3. 4 -hjulet robotramme inkludert motorer.
4. RF 433 RF -mottaker.
5. 3-cellers, 11,1 volt Li-po-batteri.
6. Vero-board.
Andre
1. Lim pinner og pistol.
2. Hoppetråder.
3. Skrutrekkere
4. Loddesett.
etc.
Trinn 2: Bildefil for kretsdiagram
Trinn 3: Fritzing File of Circuit Diagram
Trinn 4: Senderkode
#inkludere
#inkludere
#inkludere
MPU6050 mpu6050 (Wire);
lang timer = 0;
røye *kontroller;
ugyldig oppsett ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (true); vw_set_ptt_inverted (true); // vw_set_tx_pin (10); vw_setup (4000); // hastigheten på dataoverføring Kbps
}
hulrom ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update ();
hvis (millis () - timer> 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) {kontroller = "X2"; vw_send ((uint8_t *) kontroller, strlen (kontroller)); vw_wait_tx (); // Vent til hele meldingen er borte Serial.println ("FORWARD"); } annet hvis (mpu6050.getAccAngleY ()> 40) {controller = "Y1"; vw_send ((uint8_t *) kontroller, strlen (kontroller)); vw_wait_tx (); // Vent til hele meldingen er borte Serial.println ("LEFT"); } annet hvis (mpu6050.getAccAngleY () <-40) {controller = "Y2"; vw_send ((uint8_t *) kontroller, strlen (kontroller)); vw_wait_tx (); // Vent til hele meldingen er borte Serial.println ("HØYRE"); } annet hvis (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {controller = "A1"; vw_send ((uint8_t *) kontroller, strlen (kontroller)); vw_wait_tx (); // Vent til hele meldingen er borte Serial.println ("STOP"); }}
Trinn 5: Mottakerkode
#inkludere
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; ugyldig oppsett () {Serial.begin (9600); vw_set_ptt_inverted (true); // Påkrevd for DR3100 vw_set_rx_pin (12); vw_setup (4000); // Bits per sec pinMode (13, OUTPUT); pinMode (LA, OUTPUT); pinMode (LB, OUTPUT); pinMode (RA, OUTPUT); pinMode (RB, OUTPUT); vw_rx_start (); // Start mottakeren PLL med Serial.println ("Alt OK");
}
void loop () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message (buf, & buflen)) // Ikke-blokkerende
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("BACKWARD"); bakover (); forsinkelse (100); //av(); } annet hvis ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("FORWARD"); framover(); forsinkelse (100); //av(); }
annet hvis ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("LEFT"); venstre(); forsinkelse (100); //av(); }
annet hvis ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("HØYRE"); Ikke sant(); forsinkelse (100); //av(); } annet hvis ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); av(); forsinkelse (100); }} else {Serial.println ("Ingen signal mottatt"); }}
ugyldig fremover ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
ugyldig bakover ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
tomt igjen ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
ugyldig rett ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
annullere ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Trinn 6: INO -filer
Trinn 7: Link of Libraries
Virtual Wire Library:
MPU6050_tockn Libraby:
Wire Library:
Anbefalt:
Trådløs Arduino -robot ved bruk av HC12 trådløs modul: 7 trinn
Trådløs Arduino -robot som bruker HC12 trådløs modul: Hei folkens, velkommen tilbake. I mitt forrige innlegg forklarte jeg hva en H Bridge Circuit er, L293D motordriver IC, piggybacking L293D Motordriver IC for å kjøre motorer med høy strøm og hvordan du kan designe og lage ditt eget L293D motorførerkort
Fjernstyrt bil - kontrollert ved hjelp av trådløs Xbox 360 -kontroller: 5 trinn
Fjernstyrt bil - kontrollert ved bruk av trådløs Xbox 360 -kontroller: Dette er instruksjoner for å bygge din egen fjernstyrte bil, kontrollert ved hjelp av en trådløs Xbox 360 -kontroller
Bevegelseskontrollert bil: 5 trinn (med bilder)
Bevegelseskontrollert bil: Roboter spiller en viktig rolle i automatisering på tvers av alle sektorer som konstruksjon, militær, medisinsk, produksjon, etc. Etter å ha laget noen grunnleggende roboter som den kontrollerte bilen ved hjelp av Bluetooth, har jeg utviklet denne akselerometerbaserte
Play Station fjernstyrt trådløs 3D -trykt bil: 7 trinn (med bilder)
Play Station Fjernstyrt trådløs 3D -trykt bil: Hvem liker ikke spill? Racing and Fighting in the Virtual World of Play Station and Xbox !! Så, for å bringe det morsomme til det virkelige livet, laget jeg denne instruksjonsfilen der jeg skal vise deg hvordan du kan bruke hvilken som helst Play Station -fjernkontroll (kablet
Hack en trådløs dørklokke til en trådløs alarmbryter eller av/på -bryter: 4 trinn
Hack en trådløs dørklokke til en trådløs alarmbryter eller på/av -bryter: Jeg har nylig bygget et alarmsystem og installert det i huset mitt. Jeg brukte magnetiske brytere på dørene og koblet dem gjennom loftet. Vinduene var en annen historie, og harde ledninger var ikke et alternativ. Jeg trengte en trådløs løsning, og dette er