Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: 11 βήματα
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch: 11 βήματα
Anonim
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch
Κυκλώστε ένα LED RGB μέσω του φάσματος χρωμάτων χρησιμοποιώντας ένα Raspberry Pi 2 και Scratch

Ενημέρωση σημειώσεων Πέμπτη 25 Φεβρουαρίου 2016: Έχω βελτιώσει το πρόγραμμα Scratch και επανασχεδίασα το εκπαιδευτικό μου.

Γεια σας παιδιά, με αυτό το έργο ήθελα να χρησιμοποιήσω το Scratch για να μετακινήσω ένα LED RGB στο χρωματικό φάσμα.

Υπάρχουν πολλά έργα που το κάνουν αυτό με το Arduino, οπότε ήμουν περίεργος να δω αν θα μπορούσα να έχω ένα αξιοπρεπές αποτέλεσμα με το Raspberry Pi.

Η πρώτη μου προσπάθεια σε αυτό το διδακτικό δεν ήταν πολύ καλή, οπότε έχω κάνει περισσότερη έρευνα και πιστεύω ότι έχω κάτι που λειτουργεί καλύτερα. Όταν έψαχνα κάποια έργα Arduino για να καταλάβω πού έκανα λάθος στο αρχικό μου πρόγραμμα, έπεσα πάνω σε ένα απολύτως εξαιρετικό σενάριο Arduino, το οποίο θα σας συνδέσω στο τέλος. Ο φίλος μου ο Andrew και εγώ περάσαμε το απόγευμα μετατρέποντάς το σε Scratch. Κάναμε ό, τι καλύτερο μπορούσαμε με αυτό και ελπίζω να το δοκιμάσετε.

Αυτό το έργο είναι μια συνέχεια από τις οδηγίες μου σχετικά με την αλλαγή της φωτεινότητας ενός LED χρησιμοποιώντας κουμπιά και Scratch που μπορείτε να βρείτε εδώ:

www.instructables.com/id/PWM-Based-LED-Cont…

Σύνδεσμος για το αρχικό Arduino Sketch I βασίζω το πρόγραμμα Scratch μου:

www.arduino.cc/en/Tutorial/DimmingLEDs συγγραφέας Clay Shirky

Βήμα 1: Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο

Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο
Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο
Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο
Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο
Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο
Συλλέξτε μαζί τα πράγματα που θα χρειαστείτε για αυτό το έργο

Στοιχεία που θα χρειαστείτε:

Ένα Raspberry Pi με λειτουργικό σύστημα Raspian και σύνδεση στο Διαδίκτυο

1 x Breadboard

1 x RGB LED (κοινή κάθοδος)

3 x 330 ohm αντιστάσεις (πορτοκαλί πορτοκαλί καφέ)

4 x αρσενικά/θηλυκά καλώδια breadboard

1 x αρσενικό/αρσενικό καλώδιο breadboard (ή ένα μικρό καλώδιο άλτης αν έχετε)

Βήμα 2: Κατανόηση του τι κάνουν τα πόδια στο LED RGB

Κατανόηση του τι κάνουν τα πόδια στο LED RGB
Κατανόηση του τι κάνουν τα πόδια στο LED RGB

Πάρτε το LED RGB και κοιτάξτε τα πόδια, θα παρατηρήσετε ότι το ένα πόδι είναι μακρύτερο από όλα τα άλλα. Προσανατολίστε το LED έτσι ώστε αυτό το μεγαλύτερο πόδι να είναι αριστερά.

Ο πείρος 1 χρησιμοποιείται για να κάνει το LED να λάμπει ΚΟΚΚΙΝΟ

Ο πείρος 2 είναι ο πείρος γείωσης

Το pin 3 κάνει το LED να λάμπει ΠΡΑΣΙΝΟ

Το pin 4 κάνει το LED να λάμπει ΜΠΛΕ

Το LED RGB που χρησιμοποιώ έχει μια κοινή κάθοδο, πράγμα που σημαίνει ότι συνδέετε το πόδι της γείωσης του με έναν πείρο γείωσης Raspberry Pi για να λειτουργήσει.

Βήμα 3: Εισαγωγή των αντιστάσεων 330 Ohm και του καλωδίου Ground Jumper στο Breadboard

Τοποθέτηση των αντιστάσεων 330 Ohm και του καλωδίου Ground Jumper στο Breadboard
Τοποθέτηση των αντιστάσεων 330 Ohm και του καλωδίου Ground Jumper στο Breadboard

Για να βλέπουμε τα πράγματα εύκολα στο διάγραμμα, μπορούμε να τοποθετήσουμε τις αντιστάσεις και το καλώδιο γείωσης εκεί που πρέπει να είναι πρώτοι. Οι αντιστάσεις δεν έχουν πολικότητα, οπότε δεν έχει σημασία ποιος δρόμος κινούνται.

Σημείωση: Γιατί χρειαζόμαστε τρεις αντιστάσεις για ένα LED;

Σκεφτείτε ένα LED RGB ως 3 διαφορετικές λυχνίες LED σε ένα. Αν είχαμε 3 μεμονωμένα LED σε ένα κύκλωμα, θα χρησιμοποιούσαμε μια αντίσταση για κάθε μία, και έτσι χρειαζόμαστε μια αντίσταση για κάθε χρωματικό σκέλος του LED RGB.

Βήμα 4: Προσθήκη του LED στο κύκλωμά μας

Προσθέτοντας το LED στο κύκλωμά μας
Προσθέτοντας το LED στο κύκλωμά μας
Προσθέτοντας το LED στο κύκλωμά μας
Προσθέτοντας το LED στο κύκλωμά μας

Τώρα έχουμε τις αντιστάσεις και το καλώδιο γείωσης στη θέση τους, μπορούμε να εγκαταστήσουμε το LED μας στο κύκλωμα του breadboard. Προσανατολίστε το LED έτσι ώστε το μεγαλύτερο πόδι να είναι αριστερά.

Χωρίστε απαλά τα πόδια για να μπορέσουν να συνδεθούν με το ψωμί, βεβαιωθείτε ότι κάθε πόδι είναι στην ίδια γραμμή με μια αντίστοιχη αντίσταση.

Το μακρύτερο πόδι (σκέλος 2) πρέπει να ευθυγραμμιστεί με το μαύρο καλώδιο γείωσης.

Βήμα 5: Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους

Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους
Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους
Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους
Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους
Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους
Σύνδεση των καλωδίων στο Breadboard Μέρος 1: Σύνδεση εδάφους

Αρχικά ας συνδέσουμε το έδαφος από το Raspberry Pi στο πόδι γείωσης στο LED.

Στο διάγραμμά μου έχω συνδέσει το αρσενικό/θηλυκό καλώδιο από τον πείρο 6 στο Raspberry GPIO στη ράγα γείωσης του breadboard για να συνδέσω το πόδι γείωσης του LED με το Raspberry Pi.

Η κάρτα αναφοράς σας δείχνει τη διάταξη καρφιτσών για το Raspberry Pi GPIO. Το GPIO 40 ακίδων στα δεξιά της εικόνας είναι για το Raspberry Pi 2, το οποίο χρησιμοποιώ για να κάνω αυτό το έργο.

Βήμα 6: Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED

Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 2: Σύνδεση του ποδιού κόκκινου LED

Σπρώξτε το αρσενικό άκρο του καλωδίου στην οπή ακριβώς πάνω από την αντίσταση στα αριστερά και σπρώξτε το θηλυκό άκρο του καλωδίου στο GPIO17 (pin11) στο Raspberry Pi.

Η κάρτα αναφοράς για τις καρφίτσες GPIO θα σας καθοδηγήσει στο σωστό pin.

Βήμα 7: Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED

Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 3: Σύνδεση του ποδιού πράσινου LED

Σπρώξτε το αρσενικό άκρο του καλωδίου στην οπή ακριβώς πάνω από την αντίσταση στη μέση και σπρώξτε το θηλυκό άκρο του καλωδίου στο GPIO18 (pin12) στο Raspberry Pi.

Η κάρτα αναφοράς για τις καρφίτσες GPIO θα σας βοηθήσει να σας καθοδηγήσει στο σωστό pin.

Βήμα 8: Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED

Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED
Σύνδεση των καλωδίων στο Breadboard Μέρος 4: Σύνδεση του μπλε ποδιού LED

Σπρώξτε το αρσενικό άκρο του καλωδίου στην οπή ακριβώς πάνω από την αντίσταση στα δεξιά και σπρώξτε το θηλυκό άκρο του καλωδίου στο GPIO27 (pin13) στο Raspberry Pi.

Η κάρτα αναφοράς για τις καρφίτσες GPIO θα σας καθοδηγήσει στο σωστό pin.

Βήμα 9: Προγραμματισμός στο Scratch: Circuit Check

Προγραμματισμός στο Scratch: Circuit Check
Προγραμματισμός στο Scratch: Circuit Check
Προγραμματισμός στο Scratch: Circuit Check
Προγραμματισμός στο Scratch: Circuit Check
Προγραμματισμός στο Scratch: Circuit Check
Προγραμματισμός στο Scratch: Circuit Check

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

Η δοκιμή LED ελέγχεται από 3 ζεύγη κλειδιών

Τα A και Z ελέγχουν το RED, το A ανάβει κόκκινο, το Z σβήνει το κόκκινο

Ο έλεγχος S και X ΠΡΑΣΙΝΟΣ, ο S ενεργοποιείται πράσινος, ο X απενεργοποιείται πράσινος

Ο έλεγχος D και C ελέγχει το ΜΠΛΕ, το D ενεργοποιεί το μπλε, το C απενεργοποιεί το μπλε

Ρυθμίζοντας μια καρφίτσα σε υψηλή τιμή, ανάβει η λυχνία LED, ρυθμίζοντάς την σε χαμηλή, απενεργοποιεί τη λυχνία LED.

Κατεβάστε το πρόγραμμα και δοκιμάστε το κύκλωμά σας εάν θέλετε να βεβαιωθείτε ότι έχει συνδεθεί σωστά.

Βήμα 10: Προγραμματισμός στο Scratch: Τι ήθελα να κάνω με το LED RGB

Προγραμματισμός στο Scratch: Τι ήθελα να κάνω με το LED RGB
Προγραμματισμός στο Scratch: Τι ήθελα να κάνω με το LED RGB

Ο προγραμματισμός στο Scratch είναι μια ωραία εμπειρία. Έχει διεπαφή κλικ και μεταφοράς και είναι αρκετά διαισθητικό. Παρόλο που δημιουργήθηκε κυρίως για να μυήσει τα παιδιά στον προγραμματισμό, νομίζω ότι είναι ένα αρκετά χρήσιμο περιβάλλον προγραμματισμού, όπως νομίζω ότι φαίνεται στον κώδικα που ελέγχει τη λυχνία LED στο έργο μου.

Ιδού λοιπόν αυτό που ήθελα να συμβεί:

Οι αλλαγές χρώματος θα γίνουν σε τρεις φάσεις:

Σε πρώτη φάση ξεκινάμε με κόκκινο στο μέγιστο και πράσινο και μπλε σε πολύ μικρό επίπεδο.

Στη συνέχεια ξεκινήσαμε να μειώνουμε την κόκκινη φωτεινότητα κατά -1, ενώ αυξάνουμε τη φωτεινότητα του πράσινου κατά 1.

Χρησιμοποιήσαμε έναν μετρητή βρόχου για να περιορίσουμε πόσες φορές συνέβη αυτό.

Μόλις ο μετρητής βρόχου έφτασε τους 255 ξεκινήσαμε τη δεύτερη φάση.

Σε δεύτερη φάση, το πράσινο θα είναι στο μέγιστο, το κόκκινο και το μπλε ρυθμίζεται σε χαμηλό επίπεδο.

Μειώνουμε την πράσινη φωτεινότητα κατά -1 ενώ αυξάνουμε τη φωτεινότητα του μπλουζ κατά 1.

Ο μετρητής βρόχου μας για τη δεύτερη φάση ορίστηκε στο 509.

Μόλις έφτασε το 509 ξεκινούσαμε τη φάση 3.

Στην τρίτη φάση, το μπλε είναι στη μέγιστη φωτεινότητα και το πράσινο και το κόκκινο είναι σε χαμηλά επίπεδα.

Αρχίζουμε να μειώνουμε τη μπλε φωτεινότητα κατά -1 ενώ αυξάνουμε την κόκκινη φωτεινότητα κατά 1.

Μόλις ο μετρητής βρόχου έφτασε το 763, ο κύκλος θα ξεκινούσε από τη φάση 1.

Έχουμε τρεις μεταβλητές redVal, greenVal και blueVal για να κρατήσουμε τις τιμές του επιπέδου φωτεινότητας κάθε χρώματος και αυτές οι τιμές αποστέλλονται στη συνέχεια στις σωστές καρφίτσες GPIO για να ενεργοποιηθούν στα πόδια των LED για να ορίσετε την τιμή φωτεινότητας κάθε χρώματος, η οποία με τη σειρά μας δίνει το μείγμα χρωμάτων που θέλουμε.

Και αυτή είναι η προσπάθειά μου να περιηγηθώ στο φάσμα χρωμάτων χρησιμοποιώντας LED RGB και Scratch.

Εάν έχετε Arduino και εκτελέσετε το σκίτσο που ένωσα και με ενέπνευσε να γράψω την έκδοση Scratch, θα δείτε ότι δεν τρεμοπαίζει καθόλου το χρώμα. Δεν είμαι απόλυτα σίγουρος γιατί η έκδοση Scratch τρεμοπαίζει τόσο πολύ. Υποψιάζομαι ότι το Arduino είναι καλύτερο στο χειρισμό του PWM, αλλά αν δείτε κάτι στον κώδικά μου που χρειάζεται βελτίωση, θα ήμουν πραγματικά ευγνώμων αν αφιερώνατε χρόνο για να μου το πείτε.

Σας ευχαριστώ που διαβάσατε το διδακτικό μου και ελπίζω να έχετε μια υπέροχη μέρα!

Βήμα 11: Λήψη οθόνης του προγράμματος Scratch

Λήψη οθόνης του προγράμματος Scratch
Λήψη οθόνης του προγράμματος Scratch

Εάν θέλετε να προχωρήσετε στον προγραμματισμό μόνοι σας εδώ είναι μια προσεκτική ματιά στη διάταξη.