- Nødvendige komponenter:
- Oprettelse af interface til robot ved hjælp af RemoteXY-appen:
- Kredsløbsdiagram og forklaring:
- Kode Forklaring:
- Sådan køres det:
I denne artikel skal vi styre robotbilen gennem G-sensoren på vores mobiltelefon, og du vil være i stand til at flytte robotten bare ved at vippe telefonen. Vi bruger også Arduino og RemoteXY app til denne G- sensorstyrede robot. RemoteXY-appen bruges til at oprette grænsefladen i smarttelefonen til styring af robotten. Vi tilføjer joysticket i grænsefladen, så Robot også kan styres af joystick såvel som ved at vippe telefonen.
G-sensor eller tyngdekraftssensor er grundlæggende accelerometer i smart telefon, der bruges til at styre telefonens skærmretning. Accelerometer registrerer tyngdekraftens X-, Y-, Z-retning og drejer skærmen i overensstemmelse med telefonens justering. I dag bruges mere følsomme og nøjagtige Gyroscope-sensorer i mobiltelefoner til at bestemme skærmens retning. I vores projekt bevæger robotbil sig efter den retning, telefonen vippes i, som når vi vipper telefonen fremad, så bevæger bilen sig fremad, og vi vipper den ned, så bilen bevæger sig bagud. Dette er det samme som når vi spiller nogle bilspil i Mobile, de bruger også G-sensoren til at flytte bilen i overensstemmelse hermed. Tjek videoen i slutningen, se også vores andre robotprojekter her.
Nødvendige komponenter:
- To hjul robot chassis
- Arduino UNO
- L298N Motorstyring
- HC-06 Bluetooth-modul (HC-05 fungerer også)
- Strømforsyning eller celler
- Tilslutning af ledninger
Oprettelse af interface til robot ved hjælp af RemoteXY-appen:
For at oprette grænsefladen til at styre robotbilen ved hjælp af RemoteXY-appen skal du gå til følgende link
remotexy.com/en/editor/ Websiden vil se sådan ud
Fra venstre side af skærmen skal du derefter tage omskifterknappen og joysticket og placere den i mobilgrænsefladen. Knappen tænder lyset ved pin 13, som er forbundet internt i Arduino, og joysticket bevæger robotbilen. Websiden efter placering af kontakten og joysticket vil se sådan ud.
Derefter bliver vi nødt til at placere aktivering af G-sensorens aktivering / deaktiveringsknap sammen med joysticket, så vi kan flytte robotbilen ved at vippe telefonen i retning mod venstre, højre, op og ned. Ved hjælp af denne knap kan vi aktivere og deaktivere G-sensor, når G-sensor er deaktiveret. Bil kan styres ved at flytte joysticket. Så for at placere G-sensorens aktivering / deaktiveringsknap skal du klikke på det joystick, du placerede i grænsefladen, og på venstre side vil der være et egenskabsafsnit, der vil i sidste ende være en mulighed for at placere G-sensorknappen nær joysticket, så placer G-sensorknappen, hvor du vil. Websiden efter dette vil se sådan ud.
Klik derefter på knappen "Hent kildekode" og gem den på din computer. Download biblioteket herfra og gem det i Arduino-biblioteksmappen. Kompiler den downloadede kode for at kontrollere, at der ikke er fejl. Dette er ikke koden, der kører robotten, men det hjælper med at bruge appen sammen med Arduino. Download appen herfra, eller gå til Play Butik, og download RemoteXY-appen derfra til din Android-telefon.
Kredsløbsdiagram og forklaring:
Først og fremmest interagerer vi L298N-motorcontrolleren med Arduino. Forbind ENA- og ENB-stiften på motorcontrolleren til henholdsvis Arduino-stift 12 og 11. Disse to ben er til PWM-styring af motoren. Ved hjælp af disse pins kan vi øge eller sænke bilens hastighed. Tilslut derefter IN1, IN2, IN3 og IN4 til henholdsvis Arduino-benene 10, 9, 8 og 7. Disse ben drejer motorerne i begge retninger (med uret og mod uret).
For at drive motoren skal du slutte batteriets positive og negative til 12V og jorden til motorstyringen. Tilslut derefter 5V og jorden fra motorstyringen til Arduino Vin og jorden.
Derefter forbinder vi Bluetooth-modulet HC-06 med arduino. Hvis du har HC-05, fungerer det også. Tilslut VCC og jorden af Bluetooth-modulet til 5V og jorden til Arduino. Tilslut derefter TX-stiften på Bluetooth-modulet til stiften 2 på Arduino og RX-stiften til stiften 3 på Arduino. Tjek også Bluetooth-styret legetøjsbil ved hjælp af Arduino for at lære mere om brug af Bluetooth med Arduino.
Kode Forklaring:
Fuld Arduino-kode til denne mobilstyrede robotbil er angivet nedenfor i kodeafsnittet, her vil vi forstå, hvordan denne kode fungerer.
Først og fremmest har vi inkluderet bibliotekerne til Software Serial og RemoteXY. RemoteXY-biblioteket hjælper os med at indstille appen med Arduino, hvorigennem vi styrer robotbilen. Derefter har vi defineret stifterne til Bluetooth-modulet, TX fra Bluetooth-modulet er forbundet til stift 2 på Arduino, som er RX-stiften på Arduino, og RX fra Bluetooth-modulet er forbundet til stift 3 på Arduino, som er TX-stiften på Arduino og indstil Bluetooth-modulets baudhastighed til 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Den følgende kode øger eller sænker motorhastigheden. Når joysticket vil være i centrum, vil hastigheden være nul, og når den vil være i fremadgående retning, vil hastigheden stige fra nul til 100. Hastigheden falder fra 0 til -100, når bilen bevæger sig i omvendt retning. Bilen kan også flyttes specifik hastighed, dette kan gøres ved at give PWM signalet. Pwm-signalet gives til motorerne i henhold til joystickets rotation.
hvis (motorhastighed> 100) motorhastighed = 100; hvis (motorhastighed <-100) motorhastighed = -100; hvis (motor_hastighed> 0) {digitalWrite (pointer, HIGH); digitalWrite (pointer, LOW); analogWrite (pointer, motor_hastighed * 2,55); } ellers hvis (motor_hastighed <0) {digitalWrite (markør, LAV); digitalWrite (pointer, HIGH); analogWrite (pointer, (-motor_hastighed) * 2,55); } ellers {digitalWrite (pointer, LOW); digitalWrite (pointer, LOW); analogWrite (pointer, 0); }
I den følgende kode har vi defineret den funktion, der kaldes, når vi bevæger joysticket i appen. Når vi tænder kontakten i appen, gives logikken 1 til stift 13 på Arduino, som tænder for LED-stiften. Mens du flytter robotbilen fremad og bagud, kaldes hastighedsfunktionen .
ugyldig sløjfe () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Hastighed (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Hastighed (sekund_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Sådan køres det:
Føj biblioteket med RemoteXY til Arduino-bibliotekerne, og upload koden i Arduino IDE. Download derefter appen på din mobiltelefon, og tænd derefter Bluetooth. Grænsefladen til appen ser sådan ud
Gå derefter til Bluetooth og tænd Bluetooth der. Efter at have tændt det, viser det dig Bluetooth-enhederne. Vælg dit HC-06 Bluetooth-modul derfra, det fører dig til grænsefladen, hvorfra du kan styre robotbilen.
Sådan kan vi bruge tyngdekraftssensoren inde i vores mobiltelefon til at flytte robotten. Du kan yderligere eksperimentere og finde mere interessant brug af G-sensoren til at kontrollere de udvendige ting ved at grænsefladen mellem en Microcontorller imellem (som Arduino).