- Nödvändiga komponenter:
- Skapa gränssnitt för robot med RemoteXY-appen:
- Kretsschema och förklaring:
- Kodförklaring:
- Hur man kör det:
I den här artikeln ska vi styra robotbilen genom G-sensorn på vår mobiltelefon och du kommer att kunna flytta roboten bara genom att luta telefonen. Vi kommer också att använda Arduino och RemoteXY-appen för den här G-sensorstyrda roboten. RemoteXY-appen används för att skapa gränssnittet i smarttelefonen för styrning av roboten. Vi lägger till joysticken i gränssnittet så att roboten också kan styras av joystick såväl som genom att luta telefonen.
G-sensor eller Gravity sensor är i grunden Accelerometer i smart telefon som används för att styra telefonens skärmorientering. Accelerometer känner av gravitationskraftens X-, Y-, Z-riktningar och roterar skärmen enligt telefonens inriktning. Idag används mer känslig och exakt gyroskopsensor i mobiler för att bestämma skärmens riktning. I vårt projekt kommer robotbilen att röra sig i enlighet med riktningen i vilken telefonen lutas, som när vi lutar telefonen framåt, sedan kommer bilen att röra sig framåt och vi lutar den nedåt sedan kommer bilen att röra sig bakåt. Det här är samma som när vi spelar några bilspel i Mobile, de använder också G-sensorn för att flytta bilen därefter. Kolla in videon i slutet, kolla även våra andra robotprojekt här.
Nödvändiga komponenter:
- Tvåhjuligt robotbilchassi
- Arduino UNO
- L298N Motorstyrenhet
- HC-06 Bluetooth-modul (HC-05 fungerar också)
- Strömförsörjning eller celler
- Anslutande ledningar
Skapa gränssnitt för robot med RemoteXY-appen:
För att skapa gränssnittet för att styra robotbilen med RemoteXY-appen måste du gå till följande länk
remotexy.com/en/editor/ Webbsidan kommer att se ut så här
Sedan, från vänster sida av skärmen, plocka upp omkopplarknappen och joysticken och placera den i mobilgränssnittet. Knappen tänder lampan vid stift 13 som är ansluten internt i Arduino och joysticken flyttar robotbilen. Webbsidan efter att du har placerat omkopplaren och joysticken kommer att se ut så här.
Då måste vi placera aktivera G-sensorns aktiverings- / inaktiverings-knapp tillsammans med joysticken, så att vi kan flytta robotbilen genom att luta telefonen i vänster, höger, uppåt och nedåt. Med den knappen kan vi aktivera och inaktivera G-sensorn, när G-sensorn är inaktiverad. Bilen kan styras genom att flytta joysticken. Så för att placera G-sensorns aktiverings- / inaktiverings-knapp, klicka på joysticken du placerade i gränssnittet och på vänster sida kommer det att finnas ett egenskapsavsnitt, det kommer att finnas ett alternativ i slutet för att placera G-sensorknappen nära joysticken, så placera G-sensorknappen var du vill. Webbsidan efter detta kommer att se ut så här.
Klicka därefter på knappen ”Hämta källkod” och spara den på din dator. Ladda ner biblioteket härifrån och spara det i Arduino-biblioteksmappen. Kompilera den nedladdade koden för att kontrollera att det inte finns några fel. Det här är inte koden som kommer att köra roboten, men det kommer att hjälpa dig att använda appen med Arduino. Ladda ner appen härifrån eller gå till Play Store och ladda ner RemoteXY-appen därifrån för din Android-smarttelefon.
Kretsschema och förklaring:
Först och främst kommer vi att ansluta motorstyrenheten L298N med Arduino. Anslut motorstyrenhetens ENA- och ENB-stift till Arduino-stiftet 12 respektive 11. Dessa två stift är avsedda för PWM-styrning av motorn. Med hjälp av tesstiften kan vi öka eller minska bilens hastighet. Anslut sedan IN1, IN2, IN3 och IN4 till Arduino-stiften 10, 9, 8 respektive 7. Dessa stift roterar motorerna i båda riktningarna (medurs och moturs).
För att driva motorn ansluter du det positiva och negativa från batteriet till 12V och motordrivarens jord. Anslut sedan 5V och marken från motorstyrenheten till Arduino Vin och marken.
Sedan ansluter vi Bluetooth-modulen HC-06 med arduino. Om du har HC-05 så fungerar det också. Anslut VCC och Bluetooth-modulens jord till 5V och Arduino-marken. Anslut sedan TX-stiftet på Bluetooth-modulen till stift 2 på Arduino och RX-stiftet till stift 3 på Arduino. Kontrollera också Bluetooth-kontrollerad leksaksbil med Arduino för att lära dig mer om att använda Bluetooth med Arduino.
Kodförklaring:
Fullständig Arduino-kod för denna mobilstyrda robotbil ges nedan i kodavsnittet, här kommer vi att förstå hur den här koden fungerar.
Först och främst har vi inkluderat biblioteken för Software Serial och RemoteXY. RemoteXY-biblioteket hjälper oss att ställa in appen med Arduino, genom vilken vi kommer att styra robotbilen. Efter det har vi definierat stiften för Bluetooth-modulen, TX från Bluetooth-modulen är ansluten till stift 2 i Arduino som är RX-stiftet i Arduino och RX från Bluetooth-modulen är ansluten till stift 3 på Arduino som är TX-stiftet för Arduino och ställ in överföringshastigheten för Bluetooth-modulen till 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Följande kod ökar eller minskar motorhastigheten. När joysticken kommer att vara i mitten kommer hastigheten att vara noll och när den kommer i riktning framåt kommer hastigheten att öka från noll till 100. Hastigheten kommer att minska från 0 till -100 när bilen rör sig i omvänd riktning. Bilen kan också flyttas specifik hastighet, detta kan göras genom att ge PWM-signalen. Pwm-signalen kommer att ges till motorerna enligt styrspakens rotation.
om (motorhastighet> 100) motorhastighet = 100; om (motorhastighet <-100) motorhastighet = -100; om (motor_hastighet> 0) {digitalWrite (pekare, HÖG); digitalWrite (pekare, LOW); analogWrite (pekare, motor_hastighet * 2,55); } annars om (motor_hastighet <0) {digitalWrite (pekare, LÅG); digitalWrite (pekare, HÖG); analogWrite (pekare, (-motor_hastighet) * 2,55); } annat {digitalWrite (pekare, LÅG); digitalWrite (pekare, LOW); analogWrite (pekare, 0); }
I följande kod har vi definierat den funktion som kommer att anropas när vi flyttar joysticken i appen. När vi slår på strömbrytaren i appen kommer logiken 1 att ges till stift 13 på Arduino som slår på LED-stiftet. När du flyttar robotbilen framåt och bakåt kommer hastighetsfunktionen att kallas.
ogiltig slinga () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Hastighet (första_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Hastighet (andra motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Hur man kör det:
Lägg till biblioteket för RemoteXY till Arduino-biblioteken och ladda upp koden i Arduino IDE. Ladda sedan ner appen i din mobiltelefon och slå sedan på Bluetooth. Gränssnittet för appen kommer att se ut så här
Gå sedan till Bluetooth och slå på Bluetooth där. Efter att ha slagit på den visar den Bluetooth-enheterna. Välj din HC-06 Bluetooth-modul därifrån, den tar dig till gränssnittet, varifrån du kan styra robotbilen.
Så här kan vi använda tyngdkraftssensorn inuti vår mobiltelefon för att flytta roboten. Du kan ytterligare experimentera och hitta mer intressant användning av G-sensorn för att styra de yttre sakerna genom att koppla ihop en Microcontorller däremellan (som Arduino).