Inhoudsopgave:

Aan de slag met Raspberry Pi GUI: 8 stappen
Aan de slag met Raspberry Pi GUI: 8 stappen

Video: Aan de slag met Raspberry Pi GUI: 8 stappen

Video: Aan de slag met Raspberry Pi GUI: 8 stappen
Video: Hoe installeer je een Raspberry Pi? 2024, November
Anonim
Aan de slag met Raspberry Pi GUI
Aan de slag met Raspberry Pi GUI

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

Afbeelding
Afbeelding

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

Het venster aanpassen
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

Widgets in Tkinter
Widgets in Tkinter
Widgets in Tkinter
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

Logica toevoegen
Logica toevoegen
Logica toevoegen
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

LED-bediening
LED-bediening
LED-bediening
LED-bediening
LED-bediening
LED-bediening
LED-bediening
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

Servomotorcontroller toevoegen
Servomotorcontroller toevoegen
Servomotorcontroller toevoegen
Servomotorcontroller toevoegen
Servomotorcontroller toevoegen
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: