Μάθημα 2 (LED)

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

1. Πώς να εκτελούμε εντολές python
2. Τι είναι οι βιβλιοθήκες (modules) και οι κλάσεις
3. Τη βιβλιοθήκη gpiozero και την κλάση LED, όπως και τις εντολές (methods) on και off

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

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

Συνδέουμε το Raspberry μας με το λαμπάκι, όπως το παρακάτω σχήμα.

Θετικό ποδαράκι του LED –> GPIO 4

Αρνητικό ποδαράκι του LED –> Ground

Το GPIO 4 του Raspberry είναι το τέταρτο στην αριστερή στήλη, ενώ ένα από τα Ground είναι το τρίτο στη δεξιά. Μπορούμε να βρούμε που βρίσκεται κάθε pin εδώ.

Θετικό ποδαράκι του LED είναι το μεγαλύτερο από τα δύο. Έχει σημασία ποιο είναι ποιο, διότι αν τα κάνουμε ανάποδα, το λαμπάκι μας δεν θα ανάψει.

Εντολές python

Η Python είναι μία γλώσσα προγραμματισμού. Είναι μία γλώσσα δηλαδή, όχι σαν τις ξένες γλώσσες που μαθαίνουμε στο σχολείο, αλλά μία γλώσσα την οποία καταλαβαίνουν οι υπολογιστές και με την οποία μπορούμε να τους πούμε τι θέλουμε να κάνουν. Υπάρχουν πολλές γλώσσες, όπως η Java, η C++, η Perl και η Ruby. Η καθεμία έχει τα δικά της θετικά κι αρνητικά. Η Python έχει πολλά θετικά, αλλά κυρίως είναι φτιαγμένη έτσι, ώστε ακόμη και τα παιδιά να μπορούν να καταλάβουν πώς δουλεύει και να την χρησιμοποιούν.

Ας δούμε πως μπορούμε να γράψουμε σε αυτή τη γλώσσα.

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

Θα μας ανοίξει ένα παράθυρο στο οποίο μπορούμε να δώσουμε εντολές python.

Ξεκινάμε λοιπόν. Γράφουμε τις παρακάτω εντολές.

from gpiozero import LED

Η περίεργη λέξη εδώ είναι η gpiozero. Πρόκειται για το όνομα μίας βιβλιοθήκης. Μπορούμε να φανταστούμε τη βιβλιοθήκη σαν μία ομάδα από εντολές και αντικείμενα τις οποίες το πρόγραμμά μας δεν γνωρίζει και πρέπει να τις φέρουμε από έξω.

Εδώ για παράδειγμα λέμε στο πρόγραμμά μας να πάει στη βιβλιοθήκη gpiozero και να μας φέρει την «κλάση» LED, έτσι ώστε να μπορέσουμε να παίξουμε με το λαμπάκι (LED).

Υπάρχουν πολλές βιβλιοθήκες στην python και στη συνέχεια θα μάθουμε κι άλλες.

Η λέξη «κλάση» μπορεί να μας μπερδέψει επίσης. Μπορούμε να συζητάμε με τις ώρες για τις κλάσεις, αλλά για τώρα ας πούμε απλώς ότι θέλουμε να αναβοσβήσουμε το λαμπάκι και ο υπολογιστής δεν ξέρει τι είναι το λαμπάκι. Οπότε του λέμε με αυτή την εντολή σε ποια βιβλιοθήκη θα πρέπει να διαβάσει για να ξέρει τι να κάνει με το λαμπάκι. Αργότερα θα μάθουμε κι άλλες κλάσεις, όπως «κουμπί», «κινητήρας» κλπ.

Με δύο λόγια λοιπόν αυτή η εντολή σημαίνει: «πήγαινε στη βιβλιοθήκη gpiozero και φέρε μου την κλάση LED».

myled = LED(4)

Αφού το πρόγραμμά μας έμαθε τι είναι το λαμπάκι (LED), του λέμε ότι το δικό μας το λαμπάκι είναι συνδεδεμένο στο pin 4 (όπως κάναμε στη συνδεσμολογία παραπάνω). Δίνουμε κι ένα όνομα στο λαμπάκι μας και το λέμε myled. Μπορείς να διαλέξεις ό,τι όνομα θέλεις.

Είμαστε έτοιμοι να ανάψουμε το λαμπάκι μας.

myled.on()

Μόλις δώσεις την εντολή κοίταξε το λαμπάκι σου. Άναψε;

Ωραία

Αυτό που είπαμε στο πρόγραμμά μας είναι κάνε το λαμπάκι μας (που το ονομάσαμε myled) να ανάψει (on).

Τώρα γράψε

myled.off()

Το λαμπάκι πρέπει να σβήσει.

Μπράβο! Έδωσες τις πρώτες σου εντολές σε ένα κύκλωμα με τη βοήθεια της python.