Κάποιες βασικές γνώσεις για να μπορέσουμε να ξεκινήσουμε…
Για να προγραμματίσουμε το raspberry pi θα χρησιμοποιήσουμε τα GPIO pins. Τα GPIO pins είναι ακροδέκτες που μας επιτρέπουν να συνδέσουμε στο Raspberry Pi άλλα κυκλώματα/άλλες συσκευές.
Γαι τη δημιουργία των κυκλωμάτων μας θα χρησιμοποιήσουμε Breadboard. Τι είναι όμως το breadboard ;
Το breadboard είναι μια μονάδα για την κατασκευή προσωρινών κυκλώματα (πρωτοτύπων) και δεν απαιτούν απολύτως καμία συγκόλληση .
Μπροστά σας θα πρέπει να έχετε σχεδιάγραμμα των pins
Κίτρινα είναι τα προγραμματιζόμενα pins, με μαύρο είναι η γείωση, τα πορτοκαλί δίνουν ρεύμα τάσης 3.3V και τέλος τα κόκκινα δίνουν ρεύμα τάσης 5V.
Στα πρώτα φύλλα θα ξεκινήσουμε με led για τα οποία πρέπει να γνωρίζουμε ότι το μακρύ ποδαράκι είναι το pin ρεύματος ενώ το κοντό είναι το pin γείωσης.
Θα χρειαστούμε αντιστάσεις (αντίσταση που παρουσιάζεται στη διέλευση ηλεκτρικού ρεύματος δια μέσου ενός αγωγού).
Για να υπολογίσουμε τα ohm (ω) μιας αντίστασης χρησιμοποιούμε τον παρακάτω χρωματικό πίνακα:
Και τέλος διάφορους αισθητήρες
Χρήσιμες εντολές κονσόλας στο Raspbian
Αν χρειαστεί να κάνουμε login, εισάγουμε όνομα χρήστη: pi και συνθηματικό: raspberry (όταν πληκτρολογούμε το password, δεν φαίνεται κάτι στην οθόνη).
<εντολή> – – help ή man <εντολή> | Εμφανίζει βοήθεια/πληροφορίες για την εντολή |
pwd | Εμφανίζει τη διαδρομή του φακέλου στον οποίο βρισκόμαστε (default: /home/pi) |
ls | Εμφανίζει τα περιεχόμενα του τρέχοντος φακέλου |
mkdir <φάκελος> | Δημιουργεί ένα φάκελο με το αναφερόμενο όνομα |
cd <όνομα φακέλου ή διαδρομή> | Μας μεταφέρει στον αναφερόμενο φάκελο. Π.χ.: cd videos ή cd /home/pi/videos |
cp <αρχείο1> <διαδρομή ή αρχείο2> | Αντιγράφει το αρχείο1 στην αναφερόμενη διαδρομή ή φτιάχνει ένα αντίγραφο με το όνομα αρχείο2. Π.χ.: cp ex3.py /home/pi/exercises/ ή cp ex1.py ex2.py |
nano nano <όνομα_αρχείου.py> Συνδυασμός πλήκτρων Ctrl+O Συνδυασμός πλήκτρων Ctrl+X |
Ανοίγει τον επεξεργαστή κειμένου nano Ανοίγει το αναφερόμενο αρχείο στο nano Αποθηκεύει το ανοιχτό αρχείο (αποθήκευση ως ?) Κλείνει το ανοιχτό αρχείο και το nano |
python3 <όνομα_αρχείου.py> Συνδυασμός πλήκτρων Ctrl+C |
Εκτελεί το συγκεκριμένο αρχείο στην python 3 Επιβάλλει τον τερματισμό του προγράμματος/script που εκτελείται |
sudo <εντολή> | Εκτελεί την αναφερόμενη εντολή με δικαιώματα διαχειριστή |
sudo reboot | Κάνει επανεκκίνηση του Pi |
sudo poweroff | Τερματίζει τη λειτουργία του Pi |
sudo apt-get update sudo apt-get upgrade sudo apt-get install <πακέτο> sudo apt-get upgrade <πακέτο> |
Ενημερώνει τη λίστα των πακέτων του Raspbian Αναβαθμίζει το Raspbian Εγκαθιστά το αναφερόμενο πακέτο/εφαρμογή Αναβαθμίζει το αναφερόμενο πακέτο/εφαρμογή |
sudo raspi-config | Ξεκινάει το κύριο διαχειριστικό εργαλείο του Raspbian (για αλλαγή password, hostname, προσθήκη γλωσσών, ακόμα και overclocking) |
hostname hostname -I |
Εμφανίζει το hostname του Pi Εμφανίζει την IP διεύθυνση του Pi |
geany & | Ανοίγει σε ξεχωριστό παράθυρο το πρόγραμμα επεξεργασίας κώδικα Geany (εφόσον είναι εγκατεστημένο) |
Οδηγός αναφοράς στην Python
Πριν από την αναφορά στα αντικείμενα της βιβλιοθήκης gpiozero, γίνεται μια σύντομη ανασκόπηση των εντολών και λειτουργιών της Python που είναι απαραίτητες για την υλοποίηση των συνοδευτικών δραστηριοτήτων.
Αριθμητικοί τελεστές | +, -, *, /, **, //, % |
Συγκριτικοί τελεστές | >, >=, <, <= , ==, != |
Λογικοί τελεστές | and, or, not |
Λογικές τιμές | True, False |
Εκχώρηση τιμής σε μεταβλητή | i = 2 ** 3 # ύψωση σε δύναμη (σχόλιο μιας γραμμής) |
Εμφάνιση μηνύματος στην οθόνη | print ( “Διάλεξε ένα από τα”, i, “Pi μας!” ) |
Είσοδος από το πληκτρολόγιο και απευθείας εκχώρηση |
name = input( “Πως σε λένε; “) b = int ( input( “Ποια χρονιά γεννήθηκες; “) ) |
Επιλογή με την if | if συνθήκη1: # εντολές1 elif συνθήκη2: # εντολές2 else: # εντολές3 # εντολές4 (το τέλος της if ορίζεται μέσω της στοίχισης) |
Επανάληψη με τη while | while συνθήκη: # εντολές |
Επανάληψη με τη for | for μεταβλητή in range( αρχή, τέλος , βήμα ) : # εντολές Παραδείγματα range: range(10): # 0, 1, ?, 9 range(100, 0, -10): # 100, 90, ?, 10 |
Λίστες | pins = [12, 20, 21, 19, 26] # ορισμός λίστας pins[0] = 16 # αλλαγή του 1ου στοιχείου for i in range( len(pins) ): # διάσχιση στοιχείων λίστας print( pins[i], end=” ” ) # εμφάνιση 16 20 21 19 26 |
Ορισμός συνάρτησης | def myfunction( ): # εντολές |