Raspberry Pi - LED - Knipperen Zonder Vertraging
Laten we ons voorstellen dat de Raspberry Pi twee taken moet uitvoeren: een LED laten knipperen en de status van een knop monitoren die op elk moment ingedrukt kan worden. Als we de time.sleep() functie gebruiken (zoals besproken in een vorige tutorial), kan het gebeuren dat Raspberry Pi sommige knopindrukken niet registreert. Met andere woorden, de Raspberry Pi voert de tweede taak niet volledig uit.
Deze handleiding leert u hoe Raspberry Pi een LED kan laten knipperen en tegelijkertijd de status van een knop kan controleren zonder dat er persmomenten worden gemist.
We bespreken drie voorbeelden en vergelijken de verschillen:
- Raspberry Pi laat een LED knipperen met de time.sleep() functie
- Raspberry Pi laat een LED knipperen met de millis() functie
Deze methode beperkt zich niet alleen tot het knipperen van een LED en het controleren van een knop. Hiermee kan de Raspberry Pi meerdere taken tegelijkertijd uitvoeren zonder dat deze elkaar verstoren.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over LED en Knop
Als u niet vertrouwd bent met LED en knop (inclusief pinout, functionaliteit en programmering), kunnen de volgende tutorials u helpen:
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Code - Met Vertraging
Snelstappen
- Zorg dat u Raspbian of een ander compatibel besturingssysteem voor Raspberry Pi hebt geïnstalleerd op uw Pi.
- Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
- Zorg dat uw Raspberry Pi internettoegang heeft indien u libraries moet installeren.
- Als u voor het eerst met Raspberry Pi werkt, zie hoe u de Raspberry Pi instelt.
- Maak verbinding met uw Raspberry Pi via SSH vanaf uw pc met de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u verbinding maakt met Raspberry Pi via SSH.
- Zorg dat u de RPi.GPIO library geïnstalleerd hebt. Zo niet, installeer deze dan met de volgende opdracht:
- Maak een Python script bestand led_blink_with_delay.py aan en voeg de volgende code toe:
- Sla het bestand op en voer het Python-script uit met de volgende opdracht in de terminal:
- Druk vier keer op de knop.
- Kijk naar de LED; deze gaat elke seconde aan en uit.
- Bekijk de output in de Terminal.
- Sommige knopindrukken worden niet geregistreerd in de terminal. Dit komt doordat de Raspberry Pi tijdens de vertraging niets kan doen en daardoor het drukgebeuren mist.
Het script loopt in een oneindige lus totdat u Ctrl + C indrukt in de terminal.
Raspberry Pi Code - Zonder Vertraging
Snelstappen
- Maak een Python script bestand led_blink_without_delay.py aan en voeg de volgende code toe:
- Sla het bestand op en voer het Python-script uit met de volgende opdracht in de terminal:
- Druk vier keer op de knop.
- Kijk naar de LED, deze zal elke seconde wisselen tussen AAN en UIT.
- Bekijk de output in de Terminal.
- Alle knopindrukken werden geregistreerd terwijl de LED knipperde.
Het script loopt in een oneindige lus totdat u Ctrl + C indrukt in de terminal.
Code Uitleg
Bekijk de regel-voor-regel uitleg in de commentaarregels van de broncode!
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Uitbreidbaarheid
Deze methode stelt de Raspberry Pi in staat om meerdere taken tegelijk uit te voeren zonder dat ze elkaar verstoren. Bijvoorbeeld het versturen van een verzoek naar het internet en wachten op de respons, terwijl tegelijkertijd meerdere LED-indicatoren knipperen en een annuleerknop wordt gecontroleerd.