Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

De Raspberry Pi Pico is het nieuwste lid van de Raspberry Pi-familie. Daarvoor bestond de Raspberry Pi-productlijn uit computers met één bord die een besturingssysteem konden draaien.

De Raspberry Pi Pico is gebaseerd op de nieuwe RP2040-chip en ondersteunt zowel MicroPython als C/C++. Met de Raspberry Pi Pico kunnen beginners en enthousiastelingen hardware en aangesloten apparaten aansturen. De GPIO-pinnen van de Raspberry Pi Pico kunnen worden gebruikt om lichten te vervagen, de status van schakelaars af te lezen en nog veel meer.

Wat is MicroPython?

Programmeren op microcontrollers gebeurde voornamelijk in C-taal, zoals te zien is in Arduino-ontwikkelborden . Toen werd in 2014 een nieuwe programmeertaal voor microcontrollers, MicroPython, gepubliceerd. Met MicroPython kun je Python-code schrijven op het kale metaal van een microcontroller. Dit betekent dat je Python-code kunt schrijven zonder een besturingssysteem.

Python is een beginnersvriendelijke programmeertaal op hoog niveau waarmee gebruikers zich kunnen concentreren op het leren van programmeerconcepten. Dit is vrijwel hetzelfde met MicroPython.

Een LED gebruiken

Om hardware te bedienen, praat de Pico met de reeks pinnen langs beide randen. Dit worden GPIO-pinnen (General Purpose Input Output) genoemd en de ingebouwde LED is te vinden op GPIO 25. Om deze te bedienen, importeert u eerst de benodigde bibliotheken:

import machine

import utime

Roep vervolgens de Pin- functie aan met behulp van de machinebibliotheek om de GPIO-pin van de Pin te verwerken, in dit geval stellen we de Pin in op GPIO 25, dus het is de eerste parameter. De tweede parameter stelt het in als een output-pin in plaats van een input-pin, waardoor de pin weet wat hij zou moeten doen:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Om verder te gaan, in de volgende code, vertellen we de Pico om vervolgens zijn pinwaarde in te stellen op GPIO 25 op 1, of 'aan'.

while True: onboard_led.value(1)

U kunt zich echter realiseren dat er niets lijkt te gebeuren. Dit komt doordat de Pico erg snel werkt, waardoor de LED sneller oplicht dan je met het oog kunt waarnemen. Om dit op te lossen, moeten we het programma vertragen met behulp van de sleep-opdracht uit de utime- bibliotheek. De volledige code waar de LED aan en uit gaat, is hieronder te zien:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

LED's in- en uitschakelen

Als alternatief is er een andere manier om LED's aan en uit te zetten, met het schakelcommando :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

In het voorbeeld vervangt het toggle- commando de noodzaak om de waarde van de LED in te stellen op 1 en later op 0. Het zal nog steeds 5 seconden oplichten en dan nog vijf seconden uitgaan, zolang het programma loopt.

Functies maken

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

Naarmate programma's complexer worden, helpt het om stukjes code te groeperen zodat de samenhang behouden blijft. Om dit te doen, staat MicroPython zoals Python het gebruik van functies toe. Functies zijn een groep gerelateerde instructies die een specifieke taak uitvoeren. In de volgende code is bijvoorbeeld een functie met de naam printNames gedefinieerd:

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

De laatste regel in de code roept de functie aan zodat deze daadwerkelijk wordt uitgevoerd.

lussen

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

Voorwaardelijke logica voert verschillende acties uit, afhankelijk van of een Booleaanse beperking waar of onwaar wordt geëvalueerd. Veel Raspberry Pi Pico-projecten zijn gebaseerd op deze logische uitspraken. In het volgende voorbeeld wordt een if-else-instructie gebruikt om te bepalen of een print- instructie wordt uitgevoerd:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

In het volgende voorbeeld wordt de for-lus gebruikt met de bereikfunctie . Deze lussen kunnen worden gebruikt om een ​​codeblok een aantal keren te herhalen.

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

Voor dit voorbeeld, de druk zal commando vijf keer worden uitgevoerd met een vertraging van vijf seconden tussen elk van hen met de slaap commando:

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Analoog naar digitaal converter (ADC)

Hoewel je het niet kunt zien, heeft de Raspberry Pi Pico een interne analoog naar digitaal converter. In het volgende voorbeeld is een potentiometer aangesloten op de Raspberry Pi Pico op GPIO 26, die in staat is tot ADC-functionaliteit:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Hier, voordat we deze ADC-compatibele pin kunnen gebruiken, moet deze worden ingesteld met de ADC-functie. Terwijl het programma loopt, zal de waarde van de potentiometer elke seconde worden afgedrukt. Andere pinnen op de Raspberry Pi Pico die geschikt zijn voor ADC zijn GPIO27, 28 en 29.

Pulsbreedtemodulatie (Pwm)

De digitale uitgang van een microcontroller kan slechts 1 of 0 zijn. Om een ​​analoog signaal te creëren, heb je een digitaal-naar-analoog-omzetter nodig. Een andere manier is echter om kunstmatig een analoog signaal te creëren, door gebruik te maken van pulsbreedtemodulatie of kortweg PWM.

Door een digitaal signaal aan en uit te zetten, staat dit bekend als een puls. Door de breedte van een puls te moduleren, wordt kunstmatig een analoog signaal gecreëerd, zoals te zien is in het volgende voorbeeld:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Eerst werden de machine- en utime- bibliotheken geïmporteerd. Er wordt een object onboard_led gemaakt met een geactiveerde PWM-uitgang op GPIO-pin 21. Vervolgens stelt dit, met behulp van het freq- commando, de frequentie in om de pulsbreedte te moduleren. Stel je voor dat je aan de potentiometer draait, de LED zal feller worden als hij in één richting wordt gedraaid.

Dit gebeurt omdat de analoge waarde van de potentiometer wordt gebruikt als waarde voor de duty cycle van het PWM-signaal, het is een waarde tussen 0 en 65535. Zonder conversie kan het echter al gebeuren dat de LED zijn maximale helderheidsniveau bereikt door de potentiometer iets te draaien .

Om dit op te lossen, zodat de potentiometer pas de volledige helderheid bereikt als hij helemaal tot het einde wordt gedraaid, wordt de waarde omgezet met de functie duty_u16 . Deze functie verandert het in een 16-bits geheel getal, een waarde tussen 0 en 1024, hetzelfde bereik van waarden die u zou ontvangen van de analoge pin van de Pico.

Creëer meer met Raspberry Pi Pico

Dit artikel heeft de basisopdrachten in MicroPython op de Raspberry Pi Pico behandeld. Bekijk voor meer informatie de officiële documentatie over MicroPython-programmering met de Raspberry Pi Pico .

Als het nog niet is ingesteld op je Raspberry Pi Pico, zorg dan dat de Thonny IDE je MicroPython-code uitvoert, of bekijk de Unicorn CPU-emulator om een ​​virtuele microcontroller rechtstreeks op je computer uit te voeren.


Uw eigen tafelmodelminiaturen ontwerpen en 3D-printen met een FDM-printer

Uw eigen tafelmodelminiaturen ontwerpen en 3D-printen met een FDM-printer

Tafelspellen zoals D&D en Warhammer bieden een geweldige manier om van interactief entertainment te genieten zonder dat je een computer of console nodig hebt.

Een dashcam in uw auto installeren

Een dashcam in uw auto installeren

Als je een dashcam hebt, lijkt het passen misschien een beetje een karwei. In sommige gevallen is het niet zo eenvoudig als je zou willen, maar het installeren van een dashcam in je auto is elke minuut waard die je eraan besteedt.

De 6 beste plaatsen om naar 3D-afdrukmodellen te zoeken

De 6 beste plaatsen om naar 3D-afdrukmodellen te zoeken

Toen de patenten voor 3D-printen afliepen, explodeerde de industrie in huis.

Gegevens herstellen van een externe harde schijf

Gegevens herstellen van een externe harde schijf

Externe harde schijven zijn steeds populairder geworden vanwege hun snelheid, kosten en gemak. Net als gewone harde schijven zijn ze echter onderhevig aan dezelfde risico's voor gegevensverlies, of het nu mechanisch of softwarematig is.

10 doe-het-zelf lange afstand wifi-antennes die u thuis kunt maken

10 doe-het-zelf lange afstand wifi-antennes die u thuis kunt maken

Hoewel u met moderne Wi-Fi-antennes de hoogste snelheden binnen het pakket van uw ISP kunt gebruiken, kunnen ze behoorlijk duur zijn. Gelukkig kun je je altijd wenden tot doe-het-zelf-projecten om je verbindingssignaal te verbeteren zonder al te veel geld uit te geven.

Een doe-het-zelf-dobbeltoren bouwen voor gamen op tafel

Een doe-het-zelf-dobbeltoren bouwen voor gamen op tafel

Men denkt dat dobbelstenen al duizenden jaren bestaan. In deze tijd is er echter heel weinig gedaan om deze technologie vooruit te helpen of te innoveren. Hoewel de materialen zijn veranderd en de methoden voor het maken van dobbelstenen ook vooruit zijn gegaan, moet je nog steeds je dobbelstenen met de hand gooien als een soort holbewoner.

De 10 beste ESP32 Smart Home-projecten

De 10 beste ESP32 Smart Home-projecten

Een smart home is een huis waarin apparaten en apparaten op afstand kunnen worden bediend vanaf elke telefoon of computer met een internetverbinding. Het is meestal gebaseerd op draadloos verbonden apparaten die zijn gemaakt met microcontrollers, zoals een Arduino of een ESP32-bord.

Hier leest u hoe u pc-RAM kunt overklokken: maar zou u dat moeten doen?

Hier leest u hoe u pc-RAM kunt overklokken: maar zou u dat moeten doen?

Het verkrijgen van RAM voor uw pc is een noodzaak. Hoewel, als u het niet op zijn maximale capaciteit uitvoert, u veel verliest. Elk afzonderlijk programma slaat gegevens een tijdje op in RAM voor snellere toegankelijkheid. Met een overgeklokt RAM-geheugen kunt u de prestaties van uw pc verhogen.

11 alternatieven voor de Raspberry Pi Pico

11 alternatieven voor de Raspberry Pi Pico

De release van de Raspberry Pi Pico was spannend. Niet alleen betrad de Raspberry Pi Foundation eindelijk de markt voor hobbymicrocontrollers die voorheen werd gedomineerd door Arduino, maar het deed het ook met zijn eigen silicium.

De 10 beste doe-het-zelf-lichtideeën om je slaapkamer te transformeren

De 10 beste doe-het-zelf-lichtideeën om je slaapkamer te transformeren

Verlichting is de lijm die je interieur bij elkaar houdt. Het accentueert de aantrekkelijke kenmerken van uw kamers en verandert het in een warme, gezellige oase waar u elke avond graag komt. Het beste gedeelte? Je hoeft niet eens de bank te breken, want er zijn een aantal behoorlijk fenomenale DIY-ideeën om je slaapkamer te verlichten. Dit is onze top 10:

Uw eigen tafelmodelminiaturen ontwerpen en 3D-printen met een FDM-printer

Uw eigen tafelmodelminiaturen ontwerpen en 3D-printen met een FDM-printer

Tafelspellen zoals D&D en Warhammer bieden een geweldige manier om van interactief entertainment te genieten zonder dat je een computer of console nodig hebt.

Een dashcam in uw auto installeren

Een dashcam in uw auto installeren

Als je een dashcam hebt, lijkt het passen misschien een beetje een karwei. In sommige gevallen is het niet zo eenvoudig als je zou willen, maar het installeren van een dashcam in je auto is elke minuut waard die je eraan besteedt.

De 6 beste plaatsen om naar 3D-afdrukmodellen te zoeken

De 6 beste plaatsen om naar 3D-afdrukmodellen te zoeken

Toen de patenten voor 3D-printen afliepen, explodeerde de industrie in huis.

Gegevens herstellen van een externe harde schijf

Gegevens herstellen van een externe harde schijf

Externe harde schijven zijn steeds populairder geworden vanwege hun snelheid, kosten en gemak. Net als gewone harde schijven zijn ze echter onderhevig aan dezelfde risico's voor gegevensverlies, of het nu mechanisch of softwarematig is.

10 doe-het-zelf lange afstand wifi-antennes die u thuis kunt maken

10 doe-het-zelf lange afstand wifi-antennes die u thuis kunt maken

Hoewel u met moderne Wi-Fi-antennes de hoogste snelheden binnen het pakket van uw ISP kunt gebruiken, kunnen ze behoorlijk duur zijn. Gelukkig kun je je altijd wenden tot doe-het-zelf-projecten om je verbindingssignaal te verbeteren zonder al te veel geld uit te geven.

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

Een beginnershandleiding voor MicroPython met de Raspberry Pi Pico

De Raspberry Pi Pico is het nieuwste lid van de Raspberry Pi-familie. Daarvoor bestond de Raspberry Pi-productlijn uit computers met één bord die een besturingssysteem konden draaien.

Een doe-het-zelf-dobbeltoren bouwen voor gamen op tafel

Een doe-het-zelf-dobbeltoren bouwen voor gamen op tafel

Men denkt dat dobbelstenen al duizenden jaren bestaan. In deze tijd is er echter heel weinig gedaan om deze technologie vooruit te helpen of te innoveren. Hoewel de materialen zijn veranderd en de methoden voor het maken van dobbelstenen ook vooruit zijn gegaan, moet je nog steeds je dobbelstenen met de hand gooien als een soort holbewoner.

De 10 beste ESP32 Smart Home-projecten

De 10 beste ESP32 Smart Home-projecten

Een smart home is een huis waarin apparaten en apparaten op afstand kunnen worden bediend vanaf elke telefoon of computer met een internetverbinding. Het is meestal gebaseerd op draadloos verbonden apparaten die zijn gemaakt met microcontrollers, zoals een Arduino of een ESP32-bord.

Hier leest u hoe u pc-RAM kunt overklokken: maar zou u dat moeten doen?

Hier leest u hoe u pc-RAM kunt overklokken: maar zou u dat moeten doen?

Het verkrijgen van RAM voor uw pc is een noodzaak. Hoewel, als u het niet op zijn maximale capaciteit uitvoert, u veel verliest. Elk afzonderlijk programma slaat gegevens een tijdje op in RAM voor snellere toegankelijkheid. Met een overgeklokt RAM-geheugen kunt u de prestaties van uw pc verhogen.