7/10/2018
Εισαγωγή
Σε αυτόν τον οδηγό θα μάθετε πως να ανάψετε και να σβήσετε ένα LED με την χρήση ενός κουμπιού με το Raσpberry Pi με δύο τρόπους. Ο πρώτος τρόπος είναι να ανάβει το LED όση ώρα κρατάμε πατημένο το κουμπί και ο δεύτερος τρόπος είναι να πατήσουμε μία φορά το κουμπί ώστε να ανάψει το LED και αν θέλουμε να σβήσει να το ξαναπατήσουμε. Αυτό θα το πετύχουμε με την βοήθεια μιας μεταβλητής που ονομάσαμε flag.
Τα υλικά που θα χρειαστούμε
Για το tutorial αυτό θα χρειαστούμε:
|
Το κύκλωμα
Οι συνδέσεις είναι αρκετά εύκολες, δείτε την παραπάνω εικόνα με το σχηματικό του κυκλώματος σε breadboard.
Ο κώδικας
Στο πρόγραμμα παρακάτω, το πρώτο πράγμα που κάνουμε είναι να εισάγουμε την βιβλιοθήκη για το GPIO και την sleep. Στην συνέχεια δηλώσαμε τα pins οπου έχουμε βάλει το LED και το κουμπί. Μετά απο αυτό θα πρέπει να γράψουμε οτι το κουμπί είναι είσοδος και με την μεταβλητή pull_up_down ορίζουμε ότι όταν δεν πατάμε το κουμπί το Raspberry διαβάζει λογικό 1 ενώ όσο το πατάμε διαβάζει λογικό 0. Στην επανάληψη while True, ο κώδικας τρέχει ξανά και ξανά, για πάντα. Όπως είπαμε θα ανάψουμε το LED με δύο τρόπους. Ο πρώτος τρόπος είναι να ανάβει το LED όση ώρα κρατάμε πατημένο το κουμπί και ο δεύτερος τρόπος είναι αν πατήσουμε μια φορά το κουμπί το LED θα ανάψει και αν το ξαναπατήσουμε θα σβήσει με την βοήθεια μιας μεταβλητής που ονομάσαμε Flag. Αυτός ο τρόπος είναι μεσα σε σχόλια ( ''' ) όπως και το #flag=0.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #Libraries import RPi.GPIO as GPIO from time import sleep #Set warnings off (optional) GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) #Set Button and LED pins Button = 23 LED = 24 #Setup Button and LED GPIO.setup(Button,GPIO.IN,pull_up_down=GPIO.PUD_UP) GPIO.setup(LED,GPIO.OUT) #flag = 0 while True: button_state = GPIO.input(Button) print(button_state) if button_state == 0: GPIO.output(LED,GPIO.HIGH) else: GPIO.output(LED,GPIO.LOW) sleep(1) ''' if button_state==0: sleep(0.5) if flag==0: flag=1 else: flag=0 if flag==1: GPIO.output(LED,GPIO.HIGH) else: GPIO.output(LED,GPIO.LOW) ''' |
Κατεβάστε τον κώδικα απ' εδώ και ανοίξτε το αρχείο με το Thonny Python IDE.
|
|
Συγχαρητήρια!
Μόλις ολοκληρώσατε το πρώτο "How to" tutorial και μάθατε πως να ανάψετε και να σβήσετε ένα LED με την χρήση ενός κουμπιού.
Βίντεο στα Ελληνικά
Ελπίζω να σας άρεσε, αν θέλετε μπορείτε να αφήσετε το σχόλιο σας παρακάτω.