Εισαγωγή στο Trinket M0

Το Trinket M0 είναι ένας μικροελεγκτής ο οποίος όμως καταλαβαίνει python (για την ακρίβεια circuit-python), όπως και το Raspberry Pi, οπότε είναι εύκολο για εμάς να τον χειριστούμε.

Θα φτιάξουμε ένα κύκλωμα με λαμπάκια το οποίο θα τοποθετήσουμε σε ένα χριστουγεννιάτικο δέντρο.

Φτιάχνουμε το παρακάτω κύκλωμα.

Συγκεκριμένα τοποθετούμε δύο λαμπάκια ίδιου χρώματος (πχ κόκκινο) με το θετικό ποδαράκι στο pin 1 του trinket και το αρνητικό στην άκρη μίας αντίστασης 100 Ω.

Τοποθετούμε άλλα δύο λαμπάκια ίδιου, μεταξύ τους, χρώματος, αλλά διαφορετικού από το προηγούμενο (πχ μπλε) με το θετικό ποδαράκι στο pin 2 του trinket και το αρνητικό στην άκρη μίας άλλης αντίστασης 100 Ω.

Το άλλο άκρο των αντιστάσεων το συνδέουμε με τη Γη του trinket.

Συνδέουμε το trinket με καλώδιο usb με τον υπολογιστή μας.

Ανοίγουμε την εφαρμογή Mu Editor. Οδηγίες μπορείτε να βρείτε στο τέλος του άρθρου.

Δημιουργούμε ένα νέο αρχείο με το όνομα «mygpiozero.py» και γράφουμε τον κώδικα που αναφέρεται στο τέλος του μαθήματος. Σε αυτή τη φάση δεν χρειάζεται να ασχοληθείτε με το τι ακριβώς κάνει. Στην πράξη προετοιμάζει το trinket για να λειτουργήσει ακριβώς όπως το Raspberry Pi στα μαθήματα που έχουμε κάνει.

Σώζουμε το αρχείο στον φάκελο lib.

Μετά δημιουργούμε ένα νέο αρχείο «code.py».

Κατά τα γνωστά, από τα προηγούμενα μαθήματα, γράφουμε τον παρακάτω κώδικα για να αναβοσβήνουν τα λαμπάκια.

from mygpiozero import LED
from time import sleep

myled1 = LED(1)
myled2 = LED(2)

while True:
    myled1.on()
    myled2.off()
    sleep(1)
    myled1.off()
    myled2.on()
    sleep(1)

Σώζουμε το αρχείο στον βασικό φάκελο του trinket.

Κανονικά, μετά από αυτή την κίνηση, τα λαμπάκια πρέπει να αρχίσουν να αναβοσβήνουν.

Για να απομακρύνουμε το trinket από τον υπολογιστή, μπορούμε να το συνδέσουμε με μπαταρίες. Διαλέγουμε 3 μπαταρίες των 1.5 V και τις συνδέουμε στο pin «Bat» και στη Γη.

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

Πληροφορίες σχετικά με το Mu Editor

Μπορούμε να γράψουμε με διάφορους editor τα python αρχεία στο Trinket M0, αλλά ο ενδεδειγμένος τρόπος από την Adafruit είναι ο Mu Editor.

Θα τον βρείτε εδώ.

Ο κώδικας για το mygpiozero.py

import board
import digitalio

mymapping = [board.A0, board.D2]

class LED():
    def __init__(self, pin):
        self.led = digitalio.DigitalInOut(mymapping[pin-1])
        self.led.direction = digitalio.Direction.OUTPUT
    def on(self):
        self.led.value = True
    def off(self):
        self.led.value = False

Σημειώσεις

Το module mygpiozero δηλώνεται ρητά ότι δεν έχει καμία σχέση με το επίσημο gpiozero module της python. Δημιουργήθηκε μόνο για εκπαιδευτικούς λόγους, ώστε οι μαθητές να μπορούν να επαναλάβουν τις ίδιες εντολές για τον controller.

Στην αντιμετώπιση προβλημάτων που είχα κατά τη δημιουργία του κώδικα, είχα την καθοριστική βοήθεια του Αλέξανδρου Ζεάκη και τον ευχαριστώ.