DIY tid förflutit dolly (5 / 16 steg)
Steg 5: Ansluta motorn förarens ic
Detta steg gör att vi kan ändra riktning på våra dc-motor. Detta steg kan hoppas över om du vill att en enkelriktad motor. Du kan använda en npn-transistor (säga Tip31c).
Om du vill ändra riktning på vår motor använder vi en H-bryggan. En H bro är en elektronisk krets som gör att en spänning tillämpas över en belastning i endera riktningen. Läs mer om hur H-överbryggar arbete här.
I kod vi har ingång 1 som x, ingång 2 som y och aktiverar stift.
När x är låg, y är hög och aktivera hög snurrar motorn ett sätt (dvs medsols).
När x är hög, y är låg och aktivera hög snurrar motorn åt andra hållet (dvs moturs riktning).
När x är låg, y är låg motorn inte snurra.
För motorn att snurra aktivera måste vara hög oavsett x & y. därför aktivera kan användas som en switch när x & y vara fast.
I ovanstående diagram.
- Ingång 1 & 2 är x & y respektive.
- vs är utbudet (12v) för 12v motorn.
- VSS är den supply(5v) som driver chip.
- Aktivera fungerar som en switch för motorn. Hög = på, låg = off.
Denna kod kommer att hjälpa dig att testa om din krets fungerar. Motorn körs i 3 sekunder i en riktning, slutar i 2 sekunder och går åt andra hållet i 3 sekunder. Cykeln fortsätter.
Tip: Du kan lämna ut motor och batterierna. Istället om du mäta spänningen (med en multimeter) över utgångar för motorn, kommer du få + 5v för en riktning och -5v för andra riktning.
int x = 3;
int y = 4;
int aktiverar = 5;
void setup() {//this kod körs en gång
denna loop ställer stiften som resultat
för (int jag = 3; jag < = 5; i ++)
{
pinMode (i, matas);
}
}
void loop() {
Detta anger riktningen av motorn
digitalWrite (x, hög);
digitalWrite (y, låg)
digitalWrite (aktivera, hög); Detta startar motorn
Delay(3000); motorn körs i 3 sekunder
digitalWrite (aktivera, låg); motorn stannar
Delay(2000); vänta 2 sekunder
Detta anger riktningen av motor motsatsen vara motsats som forst tiden
digitalWrite (y, hög)
digitalWrite (x, låg);
digitalWrite (aktivera, hög); Detta startar motorn
Delay(3000); motorn körs i 3 sekunder
digitalWrite (aktivera, låg); motorn stannar
Delay(2000); vänta 2 sekunder
}