Μάθημα 3 (Blinking LED)

Σήμερα θα μάθουμε

  1. Πώς να δημιουργούμε αρχεία python και να τα εκτελούμε
  2. Τι είναι η εσοχή (identation) στην python και πού μας βοηθάει
  3. Τη λέξη while

Με τη βοήθεια αυτών των γνώσεων θα προγραμματίσουμε ένα λαμπάκι να αναβοσβήνει συνέχεια

Συνδεσμολογία

Επαναλαμβάνουμε τη συνδεσμολογία που κάναμε και στο προηγούμενο μάθημα.

Πως δημιουργούμε αρχεία python

Συνδεόμαστε στο Raspberry Pi και πατάμε το εικονίδιο RPi και μετά Programming / Python 3 (IDLE)

Μετά επιλέγουμε File / New File

Θα μας ανοίξει ένα νέο παράθυρο στο οποίο θα γράψουμε τον παρακάτω κώδικα

from gpiozero import LED
from time import sleep
myled = LED(4)
while True:
    myled.on()
    sleep(1)
    myled.off()
    sleep(1)

Πολλές από τις εντολές που γράψαμε τις έχουμε ξαναχρησιμοποιήσει στο προηγούμενο μάθημα. Πάμε να δούμε ποιες είναι οι καινούριες

from time import sleep

time είναι ακόμη μία βιβλιοθήκη (module) η οποία έχει μέσα εντολές (methods) που έχουν σχέση με τον χρόνο.
Μία από αυτές είναι το sleep, η οποία σταματάει το πρόγραμμά μας για όσα δευτερόλεπτα του πούμε.
Για παράδειγμα

sleep(1)

Το σταματάει για ένα δευτερόλεπτο

while True:

Αν θέλαμε το λαμπάκι μας να αναβοσβήνει συνέχεια θα έπρεπε να γράψουμε

myled.on()
sleep(1)
myled.off()
sleep(1)
myled.on()
sleep(1)
myled.off()
sleep(1)
myled.on()
sleep(1)
myled.off()
sleep(1)

και ούτω καθ’ εξής και φυσικά κάποια στιγμή θα σταματούσε, δεν μπορούμε να γράψουμε εντολές για πάντα.

Αυτό φυσικά δεν είναι σωστό, διότι εμείς θέλουμε απλώς να του πούμε «Άναψε, σβήσε και κάνε το συνέχεια αυτό».

Σε αυτό μας βοηθάει η εντολή while. Το πώς ακριβώς δουλεύει και τι είναι οι συνθήκες με τις οποίες συνεργάζεται είναι ένα πολύ μεγάλο μάθημα.

Για την ώρα είναι αρκετό να μάθουμε ότι το «while True:» σημαίνει «ενώ είναι αλήθεια κάνε τα παρακάτω:» ή ακόμη καλύτερα «για πάντα κάνε τα παρακάτω:».

Πρόσεξε ότι χρησιμοποιώ την άνω και κάτω τελεία στα ελληνικά όπως και στην εντολή.

Όταν όμως λέει «κάνε τα παρακάτω», ποια παρακάτω εννοεί; Εδώ έρχεται λοιπόν η έννοια της εσοχής, η οποία είναι σημαντική στην python.

Τι είναι η εσοχή (identation)

Εσοχή ονομάζουμε το σημείο στο οποίο ο κώδικάς μας ξεκινάει λίγο πιο δεξιά από τον υπόλοιπο.
Δεν έχει σημασία πόσο πιο δεξιά.
Αυτό που έχει σημασία είναι σε όλες τις γραμμές που έχουμε εσοχή να βάζουμε την ίδια ακριβώς απόσταση.

Που μας χρειάζεται η εσοχή

Πρόσεξε πως φαίνεται ο κώδικας μας.

Το σημείο

    myled.on()
    sleep(1)
    myled.off()
    sleep(1)

δεν φαίνεται σαν μία ομάδα από εντολές; Αυτές οι εντολές είναι μαζί διότι είναι στο ίδιο σημείο του κώδικα και έχουν την ίδια εσοχή.

Όταν λοιπόν με το while παραπάνω είπαμε «κάνε τα παρακάτω», με το «παρακάτω» εννοούσαμε ακριβώς αυτή την ομάδα τεσσάρων εντολών.

Δηλαδή καταφέραμε αυτό που θέλαμε.

Είπαμε στο πρόγραμμα

    Άναψε
    Σβήσε
    Αυτό κάνε το για πάντα

Πώς σώζουμε αρχεία python

Τίποτα το ιδιαίτερο. Πατάμε File και μετά Save ή Save As…
Στο όνομα όνομα του αρχείου που θα επιλέξουμε θα προστεθεί η κατάληξη .py για να δείχνει ότι είναι αρχείο python

Πώς εκτελούμε αρχεία python

Πατάμε Run / Run Module
Θα δούμε το λαμπάκι να αναβοσβήνει.