Raspberry Pi Pico – Les 5: Raspberry Pi Pico Servo aansturen
Ga verder met je programmeeravontuur tijdens Les 5, waarin we een SG90 servo aansturen met de Raspberry Pi Pico. Deze leerzame les is ideaal voor beginners die willen starten met de Thonny programmeertool en MicroPython. Leer in eenvoudige stappen hoe je de Raspberry Pi Pico verbindt met je computer, programma’s uploadt en een SG90 servo aanstuurt. Ontdek de mogelijkheden van servocontrole met de Pico en zet je eerste stappen in het gebruik van de Raspberry Pi Pico voor motorbesturing. Een boeiend project om je vaardigheden verder te ontwikkelen!
Deze handleiding behandeld:
- Niveau – Beginner 25%
- Tijdsduur 20 min 25%
- Kosten €10,95 11%
Stap 1 – Benodigheden om de servo aan te sturen met de Raspberry Pi Pico
Stap 2 – Software installeren op de Raspberry Pi Pico voor de besturing van de Servo
Deze stap kun je overslaan als je dit al in Les 1 hebt gedaan.
Om de Raspberry Pico te kunnen programmeren met MicroPython moeten we eerst de firmware flashen van de Pico.
Dit betekent dat we de interne software waarmee de pico start, voorzien van een speciale python versie.
Download firmware van onderstaande website (uf2 file)
https://micropython.org/download/RPI_PICO/
https://micropython.org/download/RPI_PICO_W/
(Zorg dat je de goede versie van de firmware selecteert, de wifi versie en de niet-wifi versie zijn verschillend)
Druk op de witte bootsel knop op de pico en blijf deze ingedruk houden.
Plug de pico in een USB poort van je computer. (Daarna kun je de knop loslaten)
Er zal nu een schijfletter, zoals met een memorystick benaderbaar komen.
Kopieer het firmware bestand RPI_PICO_xxxxxx.uf2 naar deze drive
(pico zal herstarten en de firmware wordt geïnstalleerd)
Download en installeer Thonny op je pc.
( https://thonny.org/ )
Selecteer de MicroPython Interpreter onder
Hulpmiddelen > Opties > Interpreter > MicroPython (Raspberry Pi Pico)
Stap 3 – Programmeren van de Raspberry Pi Pico om de Servo aan te sturen
Nu kun je in het onderstaande programma overtypen in de Thonny interface.
from servo import Servo import time sg90_servo = Servo(pin_id=6) while True: sg90_servo.write(0) time.sleep(1) sg90_servo.write(90) time.sleep(1)
Uitleg van het programma:
- Importeer de Servo module
- Importeed de time module
- .
- Definieer de variable sg90_servo op pin_id GP6 (pin 9)
- .
- Eindeloze herhaal lus
- schrijf de waarde 0 naar de servo
- wacht 1 seconde
- schrijf waarde 90 naar de servo
- wacht 1 seconde
Bovenstaand voorbeeld maakt gebruik van de PWM functie in de servo module, gebruik onderstaande om de servo aan te sturen met PWM routines.
# 4500 komt overeen met 90 graden zoals hierboven.
from machine import Pin from machine import PWM from time import sleep pwm = PWM(Pin(6)) pwm.freq(50) # Servo functie def setServoCycle (position): pwm.duty_u16(position) sleep(0.01) while True: for pos in range(1000,4500,50): setServoCycle(pos) for pos in range(4500,1000,-50): setServoCycle(pos)
Onderstaand voorbeeld maakt gebruik van de PWM functie in de servo module, gebruik onderstaande om de servo aan te sturen met PWM routines.
# 4500 komt overeen met 90 graden zoals hierboven.
Druk daarna op opslaan, en sla het programma op je eigen computer op.
Druk op het rode stopbord knopje om de ‘backend’ opnieuw te starten.
(Thonny maakt nu opnieuw verbinding met je Pico)
Daarna zou je groene knop (Voer huidig script uit) in kunnen drukken.
Als de pico nu verwijderd wordt van de computer en opnieuw aangesloten zal het programma niet gestart worden.
We hebben alleen de programmeercode getest.
Om het automatisch starten mogelijk te maken moeten we het programma opnieuw opslaan, maar dan de pico selecteren.
Bestand > Opslaan als > Raspberry Pi Pico
Sla het programma op met de naam main.py. De pico zal het programma met deze naam automatisch starten bij het aansluiten van de Pico op een USB-poort.
In dit geval heb je wel een connectie met je PC en Thonny nodig om de gemeten resultaten te kunnen zien!
Stap 4 – Resultaat: Servo wordt aangestuurd met de Raspberry Pi Pico
Je hebt nu geleerd hoe je een (servo) motor kunt aansluiten en aansturen op een Raspberry Pi Pico.
Vond je dit project leuk om te doen? Kijk bij onze andere projecten, of Les zes van deze Pico reeks!