Inhoudsopgave:
- Stap 1: Het brede overzicht
- Stap 2: "Hallo wereld" in Tkinter
- Stap 3: Het venster aanpassen
- Stap 4: Widgets in Tkinter
- Stap 5: Logica toevoegen
- Stap 6: LED-bediening
- Stap 7: Servomotorcontroller toevoegen
- Stap 8: Conclusie
Video: Aan de slag met Raspberry Pi GUI: 8 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dus je hebt een Raspberry Pi en een cool idee, maar hoe maak je het voor je gebruiker net zo gemakkelijk als een smartphone om mee te communiceren?
Het bouwen van een grafische gebruikersinterface (GUI) is eigenlijk vrij eenvoudig en met wat geduld kun je geweldige projecten produceren.
Stap 1: Het brede overzicht
Een van de krachtigste tools die Raspberry Pi biedt ten opzichte van andere micro's, is de hoge snelheid en het gemak waarmee u een grafische gebruikersinterface (GUI) voor uw project kunt maken.
Een manier om dit te bereiken, specialiteit als je een volledig touchscreen hebt (of een standaardscherm en invoerapparaat zoals een muis), werd geweldig!
Voor de toepassing van dit artikel gebruiken we Python 3 met Tkinter:
Een krachtige bibliotheek voor het ontwikkelen van grafische gebruikersinterface (GUI) applicaties, op de Raspberry Pi wat makers betreft.
Tkinter wordt waarschijnlijk het meest gebruikt met Python en er zijn veel bronnen op internet.
Stap 2: "Hallo wereld" in Tkinter
We gebruiken aRaspberry Pi geladen met Raspbian Stretch OS.
Om onze Tkinter GUI-applicaties uit te voeren. we kunnen ook elk ander besturingssysteem gebruiken waarop python is geïnstalleerd.
Raspbian wordt geleverd met zowel Python 2, Python 3 als de Tkinter-bibliotheek geïnstalleerd.
Om te controleren welke versie u hebt geïnstalleerd, voert u vanaf de terminal uit:
python3 --versie
Maak een nieuw bestand met de naam app.py en voer de onderstaande basiscode in:
#!/usr/bin/python
van tkinter import * # importeert de Tkinter lib root = Tk() # maak het root-object root.wm_title("Hello World") # stelt de titel van het venster in root.mainloop() # start de GUI-lus
Als u geen IDE gebruikt, voert u de volgende opdracht uit in een terminal vanuit de map met uw Python-code om het programma uit te voeren.
python3 app.py
Stap 3: Het venster aanpassen
Laten we nu kijken hoe we dit venster kunnen aanpassen.
Achtergrond kleur
root.configure(bg="black") # verander de achtergrondkleur in "black"
of
root.configure(bg="#F9273E") # gebruik de hexadecimale kleurcode
Raamafmetingen
root.geometry("800x480") # specificeer de vensterdimensie
of
root.attributes("-fullscreen", True) # ingesteld op volledig scherm
Houd er rekening mee dat u vastloopt in de modus Volledig scherm als u geen manier maakt om af te sluiten
# we kunnen afsluiten als we op de escape-toets drukken
def end_fullscreen(event): root.attributes("-fullscreen", False) root.bind("", end_fullscreen)
Stap 4: Widgets in Tkinter
Tkinter bevat veel verschillende widgets om u te helpen de meest geschikte gebruikersinterface te maken. Widgets die u kunt gebruiken zijn onder meer:• tekstvak
• toetsen
• vinkje
• schuifregelaar
• keuzelijst
• Radio knop
•enzovoort..
Nu kunnen we enkele widgets toevoegen, zoals tekst, knoppen en invoer.
Widgets toevoegen
Etiketten
label_1 = Label(root, text="Hallo, wereld!")
Voordat het echter zichtbaar is in het venster, moeten we zijn positie instellen. We zullen rasterpositionering gebruiken.
label_1.grid(rij=0, kolom=0) # stel de positie in
Invoer invoer
label_1 = Label(root, text="Hello, World!", font="Verdana 26 bold, fg="#000", bg="#99B898")
label_2 = Label(root, text="Wat is uw naam?", fg="#000", bg="#99B898") entry_1 = Entry(root) #input entry label_1.grid(row=0, kolom=0) label_2.grid(rij=1, kolom=0) entry_1.grid(rij=1, kolom=1)
Toetsen
#Voeg een knop toe in het venster
Knop = Knop (root, tekst = "Verzenden") Button.grid (rij = 2, kolom = 1)
Stap 5: Logica toevoegen
Nu hebben we een eenvoudig formulier, maar klikken op de knop doet niets!!
We zullen onderzoeken hoe u een gebeurtenis op de knoppenwidget kunt instellen en deze kunt koppelen aan een functie die wordt uitgevoerd wanneer erop wordt geklikt.
Voor dit doel zullen we label_1 bijwerken om "Hallo + de tekst ingevoerd in de invoer" weer te geven. Wanneer u de verzendknop selecteert.
Download de onderstaande code en voer deze uit.
Stap 6: LED-bediening
Tot nu toe hebben we gezien hoe we een knop aan het venster kunnen toevoegen en er logica aan kunnen toevoegen om actie uit te voeren.
Nu zullen we de code een beetje veranderen. Dus we gaan een formulier maken en er twee knoppen aan toevoegen. Een om de LED aan/uit te zetten en de andere om het programma af te sluiten.
Opmerking: zorg ervoor dat je je Raspberry hebt bijgewerkt voordat je begint en dat je de GPIO-bibliotheek hebt geïnstalleerd. Open het opdrachtvenster en voer het volgende in voor de installatie van de GPIO-bibliotheek. Open het opdrachtvenster en voer het volgende in:
$ sudo apt-get update
$ sudo apt-get install python-rpi.gpio python3-rpi.gpio
De bouw:
Benodigde onderdelen:
1 x Framboos Pi 3
1 x LED
1 x 330Ω Weerstand
Het circuit bouwen:
Volg de foto's hierboven.
Let op de LED-oriëntatie en de pin waar deze is aangesloten (GPIO23).
Stap 7: Servomotorcontroller toevoegen
We gaan naar iets anders dan een knop, we kunnen ook verschillende ingangen gebruiken om de PWM-uitgangen (Pulse Width Modulation) van de Raspberry Pi te bedienen.
Een servomotor is een goede keuze, deze vertaalt een PWM-signaal in een hoek.
De opbouw:
Benodigde onderdelen:
1 x Framboos Pi 3
1 x LED
1 x 330Ω Weerstand
1 x servomotor
Het circuit bouwen:
Volg het bovenstaande schema (LED aangesloten op GPIO 23, servomotor aangesloten op GPIO 18).
Check de video als je vastzit.
Stap 8: Conclusie
Daar heb je het! Ga door en overwin een aantal geweldige UI-ideeën!
Als je een vraag hebt kun je natuurlijk een reactie achterlaten.
Ga naar mijn kanaal om meer over mijn werken te zien
mijnYouTube
mijnTwitter
mijnLinkedin
Bedankt voor het lezen van deze instructable ^^ en een fijne dag verder. Tot ziens. Ahmed Nouira.
Aanbevolen:
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: 7 stappen
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: Soms zijn trillingen de oorzaak van ernstige problemen in veel toepassingen. Van machineassen en lagers tot de prestaties van de harde schijf, trillingen veroorzaken schade aan de machine, vroegtijdige vervanging, lage prestaties en veroorzaken een grote aanslag op de nauwkeurigheid. Toezicht houden
Aan de slag met Ham Radio: 5 stappen (met afbeeldingen)
Aan de slag met Ham Radio: Als een onlangs geslagen ham-licentiehouder, wil ik het proces doorgeven dat ik heb gevolgd om in hamradio te komen. Ik werd verleid door het zelfredzaamheidsaspect van de hobby, mensen een manier geven om te communiceren wanneer andere methoden worden verstoord. Maar het is ook de moeite waard om
Aan de slag met I2C-sensorinterface?? - Interface uw MMA8451 met ESP32's: 8 stappen
Aan de slag met I2C-sensorinterface?? - Interface uw MMA8451 met behulp van ESP32's: in deze tutorial leert u alles over het starten, aansluiten en laten werken van een I2C-apparaat (versnellingsmeter) met een controller (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Raspbian Buster installeren op Raspberry Pi 3 - Aan de slag met Raspbian Buster met Raspberry Pi 3b / 3b+ - Ajarnpa
Raspbian Buster installeren op Raspberry Pi 3 | Aan de slag met Raspbian Buster met Raspberry Pi 3b / 3b+: Hallo allemaal, onlangs heeft de Raspberry pi-organisatie een nieuw Raspbian-besturingssysteem gelanceerd, genaamd Raspbian Buster. Het is een nieuwe versie van Raspbian voor Raspberry pi's. Dus vandaag zullen we in deze instructables leren hoe je Raspbian Buster OS op je Raspberry pi 3 kunt installeren
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50