Modding en liten spårning bilmodell (5 / 6 steg)
Steg 5: Arduino firmware
Om du fortfarande har arbetat med arduino IDE vänligen hoppa ner till SW beskrivning.
Annars måste du ha arduino IDE vara installerad (Hämtningssida).
Hämta filen (nedan) SoftwareSerial.zip, dekomprimera den och kopiera mappen SoftwareSerial i undermappen bibliotek för Arduino IDE mappen. Nu kan du ladda ner (nedan) den MOTORBG.ino filen och öppna den i arduino IDE.
SW beskrivning (MOTORBG.ino)
Några begrepp återfinns i denna programvara:
- Med SoftwareSerial biblioteket instantieras ett objekt som heter mySerial förutsatt att RXD stift nr 11 och TXD stift nr 12
- STIFT 3 och 6 (SX_MT = vänster motor och DX_MT = rätt motor) är setted för utdata.
- Initiera serieporten (serial.begin(38400)) för kommunikation med PC
- Initiera objektet mySerial (mySerial.begin(38400)) för kommunikation med modulen HC-05
- I inställningarna för in funktionen analogWrite för stift 3 och 6 till maximal utmatning (255). Detta innebär att en hög spänning nivå (5V nominellt) används både till stift 3 och 5 i IC1. Antar att R1 och R2 trimmers är aktiverade för att ha ca 1V tillämpas på inverterade indata (PIN 2 av IC1A) och PIN 6 i IC1B utgångarna av båda opamp (PIN 1 och 7) är höga och PNP integrerade Q1 och Q2 är avstängda. Nästan PIN 3 och 6 i arduino är PWM (8 bitar)-utgång som drivmotorer "baklänges": när är setted till 255 motorer är ner, när är setted 0 motorer leverera full effekt (och hastighet). Mellanliggande värden tillåta för att ställa en hastighet mellan 0 och max möjliga hastighet.
- loop funktion: när android app skicka en sträng i formatet AhklPxyz (så stränglängden är alltid 8 och Ahkl: en vinkel på HST grader och Pxyz makt eller hastigheten på xyz procent av maxpuls) produktionen av mySerial.available() att få sanna och strängen heter "kommando" skaffa en ny karaktär genom modulen HC-05. Efter blocket med while kommandosträngen som har samma format av överförda strängen. Funktionen outled är heter och ange PWM utgången (av två motorer) beroende från "angolo" (0 till 360 grader) och "potenza" (0 till 100).
- Funktionen StrToInt konverterar en sträng av 3 tecken (dvs "034") i heltal (dvs. 34).
Hur att ladda programmet i arduino Pro Mini
Om du har tidigare lagt upp ett program till en arduino Pro Mini hoppa över till steg 6.
Annars läsa nästa.
På bilden ovan kan du se (vänster till höger) arduino Pro Mini (utan omlödning tråd eftersom is'nt viktigt här) och "6 Pin USB 2.0 till TTL UART modul". De är anslutna via en 4 ledarkabel slutar med hona-hona kontakter. Schemat för anslutningar är ganska enkel:
- GND arduino att GND USB_to_TTL
- VCC arduino till + 5V USB_to_TTL
- RXD arduino att TXD USB_to_TTL
- TXD arduino att RXD USB_to_TTL
Du måste hämta och installera USB_to_TTL drivrutiner för windows ligger på sidan intro i denna artikel. Efter att infoga USB_to_TTL enheten i en USB-port på din dator och tillåter inte en föraren sökning från internet. Om enheten är rätt installerade du kan se i device manager windows genom att klicka på portar (COM och LPT) något liknande "Silicon Labs CP210x USB to UART Bridge (COMn)" där n av COMn är det portnummer som tilldelats enhet. I arduino IDE måste du Val i verktygsmenyn samma portnummer, styrelsen "Arduino Pro eller Pro Mini" och processorn "ATmega328 (5V, 16 MHz).
Slutligen kan du överföra programmet till Arduino Pro Mini styrelsen i detta läge: efter att ha lastat källkoden (MOTORBG.ino) vänster klicka över den högra pilen (kompilera och ladda upp) en bit ner till menyraden i arduino IDE. För det första läsa du i status bar (längst ner) "sammanställningen skissen"; tryck (kontinuerligt) på reset-knappen (i arduino styrelsen) tills du läst "Ladda upp" i statusfältet så bara nu kan du släppa återställningsknappen.
Endast på detta sätt kan du ladda upp firmware till styrelsen.
Nu android App.