Contrôler une LED avec la Raspberry Pi

Schakel een LED aan en uit met de Raspberry Pi en Python.

Bijgewerkt 5 juni 2019 - 0 Opmerkingen - , , ,

ⓘ Dit artikel is mogelijk gedeeltelijk of volledig vertaald met automatische tools. Onze excuses voor eventuele fouten die dit kan veroorzaken.

Deze tutorial is de eerste in een serie gewijd aan het gebruik van de GPIO-poorten van de Raspberry Pi om elektronische componenten aan te sturen.

Zoals je waarschijnlijk weet, heeft de Raspberry Pi poorten genaamd GPIO (General Purpose Input Output) waarmee je een aantal elektronische componenten kunt besturen.

In deze tutorial zullen we zien hoe we deze GPIO-poorten kunnen gebruiken om een LED met de Raspberry Pi aan te sturen.

De benodigde apparatuur

Om deze tutorial te volgen, heb je de volgende materialen nodig:

Deze tutorial kan volledig worden gevolgd zonder een onderdeel te hoeven solderen.

Bovendien moet Raspbian op uw SD-kaart zijn geïnstalleerd en moet u een manier hebben om uw Raspberry Pi te bedienen, hetzij rechtstreeks via toetsenbord / muis / scherm, of via SSH.

De basis rond GPIO's

GPIO-poorten zijn fysieke poorten, meestal in de vorm van vierkante metalen pinnen waarmee een elektrisch signaal kan worden verzonden.

gpios-pinnen
GPIO-connectoren bedoeld om te solderen

Een GPIO-poort verzendt een relatief binair signaal (geen stroom of stroom). In het geval van de Raspberry Pi werken de GPIO-poorten op 3,3 V en ongeveer 20 mA.

GPIO-poorten zijn daarom een eenvoudige manier om fysieke elementen te communiceren of te besturen.

De meest recente modellen van de Raspberry Pi hebben 40 GPIO-connectoren, die zijn onderverdeeld in verschillende categorieën met specifieke toepassingen.

  • Power +: continue stroomvoorziening
  • GND: Ground = Return to earth
  • I2C: synchroon serieel protocol
  • SPI: Ander synchroon serieel protocol
  • UART: Asynchroon protocol + conversie van serieel naar parallelle communicatie.
  • GPIO: algemene poort die optioneel kan worden omgezet in I2C of SPI.

De GPIO-poorten zijn genummerd van 1 tot 40, beginnend van linksboven als je de Raspberry pi GPIO-poorten naar rechts houdt. Dit is de zogenaamde "Bord" -nummeringsmodus. Er bestaat nog een nummeringsmodus, die is gebaseerd op processoradressering, de zogenaamde "BCM" -modus.

In de context van deze tutorial zullen we alleen de GPIO- en GND-type poorten en de "Board" -nummering gebruiken.

Verbind de LED met de Raspberry Pi

Om onze verbinding te maken zullen we de volgende componenten gebruiken: een LED, een weerstand, een breadboard en de Raspberry.

De eerste stap van onze tutorial zal zijn om het circuit te ontwerpen dat de LED verbindt met de Raspberry Pi. Maak je geen zorgen, het is heel eenvoudig en we hoeven geen ingewikkelde diagrammen te maken!

Hoe de weerstand kiezen?

Het eerste dat u moet weten, is dat een led altijd een weerstand moet gebruiken. Dit komt doordat LED's een zogenaamde "drempelspanning" hebben. Simpel gezegd, een beetje teveel stroom en de LED brandt meteen door, dus de weerstand is een bescherming.

We zullen dus moeten kiezen welke weerstand we gebruiken. Hiervoor is er een wiskundige formule om de grootte van de te gebruiken weerstand te berekenen.

Rmin = (Ualim - Uled) / Imax

Tenzij je wat goede restjes hebt van je natuurkundelessen, denk ik dat het je niet te ver brengt. Kleine uitleg:

  • Rmin: Minimaal te gebruiken weerstand, uitgedrukt in ohm (Ω)
  • Ualim: voedingsspanning, uitgedrukt in volt (V)
  • Uled: LED-drempelspanning, uitgedrukt in volt (V)
  • Imax: De maximale intensiteit van de LED, uitgedrukt in ampère (A)

Zoals we al zeiden, leveren onze GPIO's 3,3 V en 20 mA. De led heeft een maximale intensiteit van 20 mA (20 mA = 0,020 A) en een drempelspanning van 1,5 en 1,9 V.

De formule is daarom de volgende:

Rmin = (3.3 - 1.5) / 0.020

We krijgen dus een minimale weerstand van 90 Ω, die we afronden naar 100 Ω. We gaan wat ruimte nemen door in plaats daarvan een 270 Ω-weerstand te kiezen (of 330 Ω, genormaliseerde waarden), waardoor we onszelf beschermen tegen een mogelijke stroompiek op de GPIO.

Om de waarde van een weerstand te vinden, zijn er twee mogelijkheden:

  • Dit staat op de strook papier die de leds bij elkaar houdt.
  • U moet de kleurringen op de weerstand lezen om de waarde te berekenen. U vindt online tutorials en sites om u te helpen. (100 Ω = bruin-zwartbruin, 270 Ω = rood-paars-bruin en 330 Ω = oranje-oranjebruin)

Verbind de LED met de GPIO's van de Raspberry Pi

Nu we weten welke weerstand we moeten gebruiken, hoeven we alleen maar alles op de Raspberry Pi aan te sluiten.

Neem hiervoor twee Dupont male / female kabels, we kiezen een rode kabel voor de stroomvoorziening en een zwarte kabel voor de retour naar aarde (het is een afspraak).

Sluit de rode kabel aan op GPIO-poort 7 en de zwarte kabel op GPIO 6.

Verbind de twee kabels met je broodplank, gescheiden door een paar rijen. Verbind de rode kabel met de anode van je LED (de langwerpige of lange poot), een poot van de weerstand met de kathode (de andere poot van de led, de korte poot dus), en het andere pootje van de weerstand naar de zwarte kabel.

Tip: Kunt u zich niet herinneren welk been de anode is en welke kathode? Eenvoudig geheugensteuntje, de langwerpige anodefeeds!

Het is niet erg duidelijk? Geen paniek, "een kleine tekening is beter dan een lange toespraak!"

Het rood naar de anode, de kathode naar de weerstand, de weerstand naar het zwart!

Wil je er zeker van zijn dat alles goed werkt, dan is een kleine simpele test mogelijk. Koppel de rode kabel los van GPIO # 7 en steek deze in # 1. Dit levert permanent 3,3 V, als uw bedrading correct is, zal de LED branden :)!

Schrijf het programma om de LED met de Raspberry te besturen

Nu ons circuit klaar is, hoeven we alleen maar het programma te schrijven om de GPIO-poorten te besturen om de LED aan en uit te zetten.

Hiervoor gaan we de programmeertaal Python gebruiken. In deze tutorial zullen we erg basic blijven, en we zullen slechts een voorbeeld geven van een programma waarin wordt uitgelegd hoe het te gebruiken en hoe het werkt.

Dit is dus geen Python-cursus. Als je dat wilt, hebben we onlangs een inleidende Python-cursus gepubliceerd die je leert hoe je Python kunt gebruiken om je eigen programma's voor je projecten te schrijven!

Maak dus een map aan /home/pi/electronic en een bestand led.py in die map en schrijf daar de volgende code:

Merk op dat de teksten erachter # zijn commentaren die worden gebruikt om uit te leggen wat de code doet, maar die geen invloed hebben op het programma. U hoeft het niet te kopiëren, behalve de eerste twee regels.

#!/usr/bin/env python3
#-- coding: utf-8 --

import RPi.GPIO as GPIO #Importe la bibliothèque pour contrôler les GPIOs

GPIO.setmode(GPIO.BOARD) #Définit le mode de numérotation (Board)
GPIO.setwarnings(False) #On désactive les messages d'alerte

LED = 7 #Définit le numéro du port GPIO qui alimente la led

GPIO.setup(LED, GPIO.OUT) #Active le contrôle du GPIO

state = GPIO.input(LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint

if state : #Si GPIO allumé
    GPIO.output(LED, GPIO.LOW) #On l’éteint
else : #Sinon
    GPIO.output(LED, GPIO.HIGH) #On l'allume

Dit gedaan, zullen we het programma uitvoerbaar maken. Om dit te doen, voert u eenvoudig de volgende opdracht uit:

chmod +x /home/pi/electronic/led.py

Het enige dat u hoeft te doen, is het script uitvoeren door het als volgt te noemen:

/home/pi/electronic/led.py

Elke keer dat u het script uitvoert, gaat de LED aan als hij uit is en uit als hij aan is.

En daar heb je het, je kent nu de basis van het in- en uitschakelen van een LED met de Raspberry Pi. Het enige dat u hoeft te doen, is de code aan uw behoeften aanpassen. Aarzel daarom niet om onze cursus over Python te raadplegen!

Het enige dat u hoeft te doen, is doorgaan naar de volgende tutorial in deze serie, een RFID-kaart lezen met de Raspberry Pi!

Delen
Nieuwsbrief
Auteur :
Raspberry Pi FR
Word lid van de Raspberry Pi-gemeenschap
Van een computer van $ 35 zijn al 10 miljoen exemplaren verkocht
KOOP DE NIEUWE RASPBERRY PI 4
Gerelateerde tutorials
Gebruik een RFID-lezer met de Raspberry Pi. Activeer de TTL-seriële poort van de Raspberry Pi en controleer of deze werkt. Maak een Raspberry Pi-cluster met Docker Swarm Flits de groene LED aan boord van de Raspberry Pi. Leer programmeren met Python 3 en de Raspberry Pi, inleidende cursus.
Geen reacties
Delen
Aanmelden nieuwsbrief
Abonneer u op de nieuwsbrief.
Vond je dit artikel leuk?
Schrijf je in en blijf op de hoogte!