Swarmbots: Autonoma Arduino bilar som spelar musikaliska stolar (2 / 6 steg)
Steg 2: Installera din H-Bridge
H-broar är en stor komponent som ska användas när bygga autonoma bilar. En H-bro tillåter oss att tillämpa en spänningen över en belastning i endera riktningen, vilket betyder att det ger oss möjlighet att köra DC motorer för våra bilar både framåt och bakåt, så att vi kan ändra riktning vår bil färdas utan att det slår i en full cirkel (dvs: vi kan helt enkelt köra framåt eller köra i omvänt).
Innan vi använder faktiskt H-bron, låt oss få känner till exakt hur de fungerar. H-broar har fyra växlar, två på ena sidan parallellt med två på andra sidan. I mitten av dessa fyra parallella växlar är vår motor, ansluta de två sidorna. När vi vill tillämpa spänning ett sätt, vi Stäng längst upp till vänster och botten rätt och öppna övre högra och nedre vänster växlarna, vilket gör att spänningen till tillämpas i medurs riktning. Omvänt, om vi vill tillämpa en spänning moturs, måste vi öppna topp vänster botten rätt växlarna och och stäng sedan övre högra och nedre vänster växlarna. Nedan följer ett diagram som visar hur en H-Bridge faktiskt tillåter spänning tillämpas i två olika riktningar:
(Se tredje bilden)
http://www.hvlabs.com/hbridge.html
Så, om du vill tillämpa spänning medurs, nära vi växlar A1 och A2 (och öppna växlar B1 och B2). Om du vill använda en spänning i en moturs, stänger vi växlar B1 och B2 (och öppna växlar A1 och A1).
Nu låt oss tala om hur du ansluter H-bron upp till våra Arduino och bil så att vi kan få våra hisskorg. Första, låt oss se till att vi har den högra delen. H-bron vi använde i vår bil ser ut så här (modell nummer: SN754410):
(Se den andra bilden)
http://www.hobbytronics.co.uk/h-Bridge-driver-sn75...
När du lägger din H-Bridge i din skärbräda, notera vilken sida som liten, u-formad intryck. Som du ser i bilden ovan och tydligare i pin-ut diagrammet nedan, är sidan med det divot toppen av enheten. Nu, låt oss gå vidare till talar om hur faktiskt tråd upp H-bron. Nedan är ett detaljerat diagram med den pin av H-bron vi använde:
(Se första bilden)
http://www.hobbytronics.co.uk/h-Bridge-driver-sn75...
Stiften är numrerade så att 1 är högst upp till vänster, 8 är på den nedre vänstra, 9 är längst ner till höger och 16 är längst upp till höger. När du krok upp din H-bro till din Arduino, kommer du att vilja ta del av vilka stift på H-bron motsvarar vilket stift på dig Arduino så att du kan skriva din kod framgångsrikt. Är nedan vår kod, och vi kan förklara hur vi förklarade vilket stift motsvarade som i vår kod:
Deklarera pins som möjliggör styrning och körning framåt
och bakåt
int driveEn = 8; Aktivera drivmotorn
int driveFor = 3; drivmotorn fram
int driveRev = 9; drivmotorn omvänd
int turnEn = 4; Aktivera roterande motor
int svänghöger = 11; Roterande motor höger
int svängvänster = 6; Roterande motor vänster
-Här koden återspeglar följande:
o anslutna vi Pin 1 på H-bron till Pin 8 på våra Arduino
§ Kan den första motorn
o anslutna vi Pin 7 på H-bron till stift 3 på våra Arduino (Observera att stift 3 på Arduino är en PWM som tillät oss att styra den spänningsfrekvens, men du kan bara ansluta den till en digital pin för konstant spänning)
§ En hög aktivera gör att bilen för att köra fram
o anslutna vi Pin 2 på H-bron till stift 9 på våra Arduino (Observera att stift 9 på Arduino är en PWM som tillät oss att styra den spänningsfrekvens, men du kan bara ansluta den till en digital pin för konstant spänning)
§ En hög aktivera gör att bilen för att köra baklänges
o anslutna vi Pin 9 på H-bron till stift 4 på Arduino
§ En hög aktivera gör att bilen för att vända
o anslutna vi Pin 15 på H-bron till Pin 11 på Arduino
§ En hög aktivera gör att bilen till höger
o anslutna vi Pin 10 på H-bron till stift 6 på Arduino
§ En hög aktivera gör att bilen att svänga vänster
Ange alla stift till utgång eller ingångsläge (därmed)
void setup() {
pinMode (driveEn, produktionen);
pinMode (driveFor, produktionen);
pinMode (driveRev, produktionen);
pinMode (turnEn, produktionen);
pinMode (svänghöger, produktionen);
pinMode (svängvänster, produktionen);
v här, vi måste deklarera alla stift ovan som resultat
Metod för att göra bilen drev framlänges
void goForwards() {
digitalWrite (driveEn, hög); gör det möjligt för drivmotorn
digitalWrite (driveRev, låg); ser till att motorn inte roterar omvänd
digitalWrite (driveFor, hög); framfört drivmotorn
hemkomst.
}
v in driveEn och driveFor stift på en hög aktivera och driveRev stiftet på en låg gör (inaktivera) att göra bilen gå framåt
Metod för att göra bilen stannar
void goStop() {
digitalWrite (driveEn, låg); inaktiverar den rätt motorn
digitalWrite (driveRev, låg); inaktiverar den vänstra motorn
digitalWrite (driveFor, låg); ser till att motorn inte roterar omvänd
digitalWrite (turnEn, låg); inaktiverar tur motorn
digitalWrite (svänghöger, låg); ser till att motorn inte startar rätt
digitalWrite (svängvänster, låg); ser till att motorn inte vända vänster
hemkomst.
}
-Ställ alla stift låg aktivera (inaktivera) att göra bilen stannar helt
Metod för att göra bilen enheten bakåt/i omvänd
void goBackwards() {
digitalWrite (driveEn, hög); gör det möjligt för drivmotorn
digitalWrite (driveFor, låg); ser till att motorn inte roterar fram
digitalWrite (driveRev, hög); sätta drivmotorn bakåt
hemkomst.
}
-Ställ in driveEn och driveRev stift på hög aktivera och driveFor PIN-koden till låg aktiverar (inaktivera) att låta bilen att köra baklänges
Metod för att göra bilen sväng höger
void goRight() {
digitalWrite (turnEn, hög); kan vända motorn
digitalWrite (svängvänster, låg); ser till att aktivera motorn inte rotera vänster
digitalWrite (svänghöger, hög); roterar tur motor höger
hemkomst.
}
-Set turnEn och svänghöger stift på hög aktivera och svängvänster pin till låg aktiverar (inaktivera) för att låta bilen till höger
Metod för att göra bilen sväng vänster
void goLeft() {
digitalWrite (turnEn, hög); kan vända motorn
digitalWrite (svänghöger, låg); ser till att aktivera motorn inte rotera höger
digitalWrite (svängvänster, hög); roterar tur motor vänster
hemkomst.
}
-Set turnEn och svängvänster stift på hög aktivera och svänghöger pin till låg aktiverar (inaktivera) för att låta bilen att svänga vänster
För att göra bilen gör någon av dessa saker, kommer du att vilja kalla dessa kommandon i din ogiltig loop () metod, som hjälper dig att ständigt få kommandon för att testa din bil.
Nu finns det flera stift kvar på H-bron som fortfarande måste vara anslutna. Vi kopplade positiva slutet av motor 1 till stift 3 på H-bron, och marken slutet av motor 1 till stift 6 på H-bron. Vi anslutna kabeln för våra on-off knapp till stift 8 på H-bron. Vi kopplade marken slutet av motor 2 till stift 11 på H-bron, och positiva slutet av motor 2 till stift 14 på H-bron. Slutligen, vi anslutna Pin 16 till den + 5V stift på Arduino att leverera 5 volt till H-bron. Stift 4, 5, 12 och 13 på H-bron är alla marken stift, så vi ansluten stift 13 till mark på Arduino, sprang en grund linje så att flera saker kan vara ansluten till marken på H-Bridge linjen inte på Arduino. När du ansluter alla dem, är du redo att gå med din H-bro!