- Nødvendige komponenter:
- Opprette grensesnitt for robot ved hjelp av RemoteXY-appen:
- Kretsdiagram og forklaring:
- Kode Forklaring:
- Slik kjører du det:
I denne artikkelen skal vi kontrollere robotbilen gjennom G-sensoren på mobiltelefonen vår, og du vil kunne flytte roboten bare ved å vippe telefonen. Vi vil også bruke Arduino og RemoteXY-appen til denne G- sensorstyrte roboten. RemoteXY-appen brukes til å lage grensesnittet i smarttelefonen for å kontrollere roboten. Vi vil legge til styrespaken i grensesnittet, slik at roboten også kan styres av joystick så vel som ved å vippe telefonen.
G-sensor eller gravitasjonssensor er i utgangspunktet akselerometer i smarttelefon som brukes til å kontrollere skjermretningen på telefonen. Akselerometer registrerer X-, Y-, Z-retningene til gravitasjonskraften og roterer skjermen i henhold til justeringen av telefonen. Nå for tiden brukes mer sensitiv og nøyaktig Gyroscope-sensor i mobiltelefoner for å bestemme orienteringen på skjermen. I prosjektet vårt vil robotbil bevege seg, i henhold til retningen telefonen vippes i, som når vi vipper telefonen fremover, så vil bilen bevege seg fremover og vi vippe den ned, så vil bilen bevege seg bakover. Dette er det samme som når vi spiller noen bilspill i Mobile, de bruker også G-sensor for å flytte bilen deretter. Sjekk videoen på slutten, sjekk også våre andre robotprosjekter her.
Nødvendige komponenter:
- Tohjuls robotbilchassis
- Arduino UNO
- L298N Motor Controller
- HC-06 Bluetooth-modul (HC-05 fungerer også)
- Strømforsyning eller celler
- Koble ledninger
Opprette grensesnitt for robot ved hjelp av RemoteXY-appen:
For å lage grensesnittet for å kontrollere robotbilen ved hjelp av RemoteXY-appen, må du gå til følgende lenke
remotexy.com/en/editor/ Nettsiden vil se slik ut
Plukk deretter opp bryterknappen og styrespaken fra venstre side av skjermen og plasser den i mobilgrensesnittet. Knappen vil slå på lyset på pinne 13 som er koblet internt i Arduino, og styrespaken vil flytte robotbilen. Nettsiden etter at bryteren er plassert og styrespaken vil se slik ut.
Da må vi plassere aktivere G-sensorens aktivering / deaktiveringsknapp sammen med styrespaken, slik at vi kan bevege robotbilen ved å vippe telefonen i retning venstre, høyre, opp og ned. Ved å bruke den knappen kan vi aktivere og deaktivere G-sensor, når G-sensor er deaktivert. Bil kan styres ved å bevege joysticken. Så for å plassere G-sensorens aktivering / deaktivering-knapp, klikk på joysticken du plasserte i grensesnittet, og på venstre side vil det være en egenskapsdel, det vil til slutt være et alternativ for å plassere G-sensorknappen nær joysticken så plasser G-sensorknappen der du vil. Nettsiden etter dette vil se slik ut.
Deretter klikker du på knappen "Få kildekode" og lagrer den på datamaskinen din. Last ned biblioteket herfra og lagre det i Arduino-biblioteksmappen. Kompiler den nedlastede koden for å kontrollere at det ikke er feil. Dette er ikke koden som kjører roboten, men det vil hjelpe deg med å bruke appen med Arduino. Last ned appen herfra eller gå til Play Store og last ned RemoteXY-appen derfra for din Android-smarttelefon.
Kretsdiagram og forklaring:
Først og fremst vil vi grensesnitt L298N-motorkontrolleren med Arduino. Koble ENA- og ENB-pinnen til motorstyringen til henholdsvis Arduino-pinnen 12 og 11. Disse to pinnene er for PWM-kontroll av motoren. Ved å bruke avhandlingstappene kan vi øke eller redusere hastigheten på bilen. Koble deretter IN1, IN2, IN3 og IN4 til Arduino-pinnene henholdsvis 10, 9, 8 og 7. Disse tappene vil rotere motorene i begge retninger (med klokken og mot klokken).
For å drive motoren, koble det positive og negative av batteriet til 12V og bakken til motorstyringen. Koble deretter 5V og bakken fra motorstyringen til Arduino Vin og bakken.
Deretter kobler vi Bluetooth-modulen HC-06 med arduino. Hvis du har HC-05, vil det også fungere. Koble VCC og bakken til Bluetooth-modulen til 5V og bakken til Arduino. Koble deretter TX-pinnen på Bluetooth-modulen til pinnen 2 på Arduino og RX-pinnen til pinnen 3 på Arduino. Sjekk også Bluetooth-kontrollert lekebil ved hjelp av Arduino for å lære mer om bruk av Bluetooth med Arduino.
Kode Forklaring:
Full Arduino-kode for denne mobilstyrte robotbilen er gitt nedenfor i kodeseksjonen, her vil vi forstå hvordan denne koden fungerer.
Først og fremst har vi tatt med bibliotekene for Software Serial og RemoteXY. RemoteXY-biblioteket vil hjelpe oss med å stille inn appen med Arduino, som vi skal kontrollere robotbilen gjennom. Etter det har vi definert pinnene for Bluetooth-modulen, TX fra Bluetooth-modulen er koblet til pinnen 2 på Arduino som er RX-pinnen til Arduino og RX fra Bluetooth-modulen er koblet til pinnen 3 på Arduino som er TX-pinnen til Arduino og setter overføringshastigheten til Bluetooth-modulen til 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Følgende kode vil øke eller redusere motorhastigheten. Når styrespaken vil være i sentrum, vil hastigheten være null, og når den vil være i retning fremover, vil hastigheten øke fra null til 100. Hastigheten vil reduseres fra 0 til -100 når bilen vil bevege seg i omvendt retning. Bilen kan også flyttes spesifikk hastighet, dette kan gjøres ved å gi PWM-signalet. Pwm-signalet vil bli gitt til motorene i henhold til styrespaken.
hvis (motorhastighet> 100) motorhastighet = 100; hvis (motorhastighet <-100) motorhastighet = -100; hvis (motor_hastighet> 0) {digitalWrite (peker, HØY); digitalWrite (peker, LAV); analogWrite (peker, motor_hastighet * 2,55); } annet hvis (motor_hastighet <0) {digitalWrite (peker, LAV); digitalWrite (peker, HØY); analogWrite (peker, (-motor_hastighet) * 2,55); } annet {digitalWrite (peker, LAV); digitalWrite (peker, LAV); analogWrite (peker, 0); }
I den følgende koden har vi definert funksjonen som vil kalles når vi skal flytte styrespaken i appen. Når vi slår på bryteren i appen, vil logikken 1 bli gitt til pinnen 13 på Arduino som slår på LED-pinnen. Mens du flytter robotbilen forover og bakover, vil Speed- funksjonen bli kalt.
ugyldig sløyfe () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LAV: HØY); Hastighet (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Speed (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Slik kjører du det:
Legg til biblioteket til RemoteXY i Arduino-bibliotekene og last opp koden i Arduino IDE. Last deretter ned appen på mobiltelefonen og slå deretter på Bluetooth. Grensesnittet til appen vil se slik ut
Gå deretter til Bluetooth og slå på Bluetooth der. Etter at den er slått på, viser den deg Bluetooth-enhetene. Velg din HC-06 Bluetooth-modul derfra, den tar deg til grensesnittet, hvorfra du kan kontrollere robotbilen.
Slik kan vi bruke tyngdekraftsensoren i mobiltelefonen til å flytte roboten. Du kan videre eksperimentere og finne mer interessant bruk av G-sensor for å kontrollere tingene utenfor ved å koble en Microcontorller imellom (som Arduino).