
Een tijdje geleden was ik in een hotel in Lille waar je de belichting van de kamer met een bedieningsdisplay kon besturen. Naast het bedienen van de gordijnen, het schakelen van de lampen was een van de opties het dimmen van de lampen. Het eerste dat ik dacht was: 'Dat moet ook met een Raspberry Pi kunnen'. Dus aan de slag!
In deze tutorial laat ik zien hoe je met een Tkinter interface de dutycycle laat variëren en op een mooie manier een LED dimt. Om de basiskennis snel op te doen adviseer ik om les 9 van Paul even te volgen zodat de gebruikte begrippen duidelijk zijn. In 40 minuten ben je helemaal bijgepraat hoe PWM werkt.
Daar gaan we…
Voorwaarde is wel dat je Tkinter op de Raspberry Pi geïnstalleerd hebt. In de moderne Raspberry Pi OS is Tkinter beschikbaar. Je hoeft het alleen maar te activeren bij Add/Remove Sofware. Tkinter handmatig installeren doe je met:
sudo apt-get install python-tk python3-tk
Tkinter heeft de grafische omgeving van de desktop nodig. Op afstand kun je dus geen SSH zoals Putty gebruiken. Wel werkt VNC prima omdat de grafische interface dan op afstand te zien is.
Om te zien of Tkinter goed geïnstalleerd is, gebruik je het twee-regel script in de terminal:
import tkinter
tkinter._test()
Als het goed geïnstalleerd is, zie je in de desktop van de Pi een venster verschijnen zoals hieronder.

Hoe werkt PWM?
Wil je even nakijken hoe het ook al weer zit, klik dan hier en volg de waardevolle les van Paul om te snappen hoe je PWM gebruikt om een LED te dimmen. Neem even de tijd ervoor, je zult het daarna nooit meer vergeten.

230V lamp dimmen
Kun je een LED dimmen? Dan lukt dat ook met een 220V lamp, maar dan heb je wel een interface nodig die de lamp aanstuurt. In de speciale tutorial ‘Dimmer voor lamp (230V)’ laat ik de interface zien en hoe dit werkt.
Aansluitschema
In het script maken we gebruik van GPIO20 op pin 38 van de Raspberry Pi. Je kunt natuurlijk ook een andere pin gebruiken, pas het script dan even aan. Bij een serieweerstand van 330ohm licht de LED mooi op. Wil je een andere kleur LED gebruiken? Kijk dan op de calculator om de ideale serieweerstand te bepalen.

Script
Je kunt het script gebruiken dat je in les 9 van Paul bent tegengekomen, maar ik wil je laten zien dat je met een Tkinter interface ook een LED kunt dimmen, maar dan een stuk moderner.
Eindresultaat
In de video hieronder zie je het eindresultaat van deze tutorial.
Als ik de schuif met de waarde van de dutycycle wijzig, lees je dit op de oscilloscoop af. Afhankelijk van de hoogte van de dutycycle zal de LED meer of minder oplichten.
De ingestelde waarde van de dutycycle kun je in de Tkinter interface opslaan (Save value). Bij de volgende keer dat je het script opstart zal de schuif op de opgeslagen waarde ingesteld staan.
3 kanalen
Als je een beetje handig bent, kun je een 3-kanaals PWM-dimmer maken zoals ik in de video hieronder laat zien.
Have A Nice Day!

Laat een reactie achter