Een van de meest elementaire (en leuke) dingen die je met een Arduino-microcontroller kunt doen, is een DC-motor aansluiten. Je kunt een eenvoudige tafelventilator maken of all-in gaan en een op afstand bestuurbare auto bouwen. Hoe dan ook, je moet weten hoe je een DC-motor daadwerkelijk kunt laten werken met een Arduino-bord.
Stappen
Deel 1 van 2: Bedrading van de componenten
Stap 1. Pak een jumperdraad en verbind Digital Pin 3 op je Arduino met een pin naar keuze op het breadboard
Sluit het echter niet aan op de Power/Ground-kolommen op het breadboard, omdat dit niet zal werken. (Ga door naar stap 8 als u alleen de circuittekening wilt)
- Als je het Arduino-bord vasthoudt met de USB-connector aan de bovenkant, zitten de digitale pinnen aan de rechterkant. Merk op dat de digitale connectoren onderaan beginnen met 0. Pin 3 zou de 4e van onderen zijn.
- Plaats/Houd het breadboard zo vast dat de twee Power/Ground-kolommen zich aan de linker- en rechterzijde bevinden. Elke rij op het breadboard is horizontaal verbonden en elke voedings-/aardingspin is verticaal met elkaar verbonden.
- Het breadboard heeft ook een scheidingswand in het midden. De pinnen aan de twee zijden van de verdeler zijn niet horizontaal met elkaar verbonden.
Stap 2. Sluit het ene uiteinde (we noemen dit End 1) van de weerstand van 270 ohm op een pin op dezelfde rij als de jumperdraad die is aangesloten op Digital Pin 3
Sluit het andere uiteinde (End 2) van de weerstand aan op een andere pin naar keuze op het breadboard.
Stap 3. Sluit de basispin (middelste pin) van de PN2222-transistor aan op een pin op dezelfde rij als End 2 van de 270 ohm-weerstand
(Dit uiteinde bevindt zich niet in dezelfde rij als de draad die binnenkomt van digitale pin 3)
Houd de PN2222-transistor met de platte kant naar u toe gericht. De pin aan de linkerkant is de Collector-pin en die aan de rechterkant is de Emitter-pin. De middelste pin is de basispin
Stap 4. Pak een jumperdraad en verbind de Collector-pin (links) van de PN2222-transistor met de GND-pin (aarde) op de Arduino
Stap 5. Sluit het positieve (+) uiteinde van de 1N4001-diode aan op de emitterpen van de PN2222-transistor
Verbind het negatieve (-) uiteinde met een pin op een andere rij.
Het uiteinde met de strooklijn is het negatieve (-) uiteinde op de 1N4001-diode. De kant zonder de lijn is het positieve (+) uiteinde
Stap 6. Pak een jumperdraad en verbind de 5V-pin op de Arduino met een pin op dezelfde rij op het breadboard waar je het negatieve (-) uiteinde van de 1N4001-diode hebt aangesloten
Stap 7. Pak de gelijkstroommotor
Sluit de positieve poot aan op een pin in dezelfde rij als waar u het negatieve (-) uiteinde van de 1N4001-diode hebt aangesloten. Sluit de negatieve poot van de DC-motor aan op een pin op dezelfde rij als waar u het positieve (+) uiteinde van de 1N4001-diode en de emitterpin van de PN2222-transistor hebt aangesloten.
Stap 8. Uw circuit is nu voltooid
Controleer aan de hand van het schakelschema of uw schakeling correct is. Ga verder naar deel 2.
Deel 2 van 2: De code schrijven
Stap 1. Open de Arduino IDE op uw computer
Standaard zou een deel van de schets moeten zijn geschreven om alles gemakkelijker te maken: (U kunt de opmerkingen desgewenst wissen. Stap 5 heeft de volledige code)
Stap 2. Verklaar de uitgang de pinvariabele voor de DC-motor:
const int MOTORPIN = 3; (MOTORPIN kan ook alles zijn wat je maar wilt)
const int specificeert dat de variabele MOTORPIN een constant geheel getal is
Stap 3. Ga naar de setup() functie
Schrijf tussen de accolades het volgende om de motorpin in te stellen als outputpin: pinMode(MOTORPIN, OUTPUT);
- void setup() - Deze functie wordt één keer uitgevoerd aan het begin. Het zal instellen welke pinnen op de Arduino zullen worden gebruikt.
- pinMode (MOTORPIN, OUTPUT) - geeft aan dat de door MOTORPIN aangegeven pin een uitvoerpin is en geen gegevens kan opnemen.
Stap 4. Ga naar de loop() functie
Schrijf het volgende tussen de twee accolades:
- Verklaar de snelheidsvariabele (hoe snel de DC-motor zal draaien): int speed = 255; De waarde voor snelheid moet een getal zijn van 0 tot 255, waarbij 0 betekent dat de motor is gestopt.
- Stuur in de volgende regel output naar de pin die we voor de DC-motor zullen gebruiken met analogWrite(): analogWrite(MOTORPIN, speed); Dit zal de waarde van snelheid naar MOTORPIN sturen als output.
Stap 5. Uw code is voltooid
Stap 6. Sla het bestand op uw computer op en verifieer de schets
Ga naar de werkbalk bovenaan de Arduino IDE en klik op het vinkje. Hiermee wordt je schets gecompileerd zodat deze op de Arduino kan worden uitgevoerd.
Stap 7. Vink de zwarte doos aan de onderkant van de Arduino IDE aan
Als er fouten zijn gevonden, zou het u daar moeten vertellen. Als je fouten krijgt, controleer dan de regels waarvan de compiler zegt dat de fout zich voordoet. Ga door als er geen fouten worden gevonden.
Stap 8. Gebruik nu de USB-kabel die bij uw Arduino-kit is geleverd en sluit uw Arduino aan op een USB-poort op uw computer
Stap 9. Ga terug naar de Arduino IDE
Klik op Extra, dan op Poort: en klik vervolgens op COM. Dit is het nummer van uw USB "Serial Communications"-poort en dit is afhankelijk van de computer en/of de USB-poort. Als er geen COM-poorten in het menu verschijnen, probeer dan een andere USB-poort of start uw computer opnieuw op.
Stap 10. Klik op de knop Uploaden (pijltje naar rechts) en upload de schets naar je Arduino
De IDE compileert uw code en als er geen fouten worden gevonden, stuurt het de schets naar de Arduino. Als je fouten krijgt, controleer dan je code.
Stap 11. Zodra uw code is geüpload, moet de DC-motor beginnen te draaien met de snelheid die u in de code hebt opgegeven
Tips
- U hoeft de pinnen niet als constanten te declareren, maar het is een goede programmeerpraktijk om dit te doen.
- Vergeet de puntkomma's in uw code niet om fouten te voorkomen!
- Sommige gelijkstroommotoren trekken meer stroom dan een USB-poort aankan. Als u waarschuwingen voor USB-stroompieken krijgt, voed de Arduino dan met de USB-poort -en- de voedingsadapter/batterijen.
- Als uw motor niet draait, controleer dan uw bedrading. Als uw bedrading correct is, kan dit te wijten zijn aan defecte componenten of verbindingen. Verwissel de componenten om te zien of het werkt. De oorzaak kan ook de snelheid zijn die u in de code hebt opgegeven.