Πίνακας περιεχομένων:

Ιστότοπος/WiFi ελεγχόμενη λωρίδα LED με Raspberry Pi: 9 βήματα (με εικόνες)
Ιστότοπος/WiFi ελεγχόμενη λωρίδα LED με Raspberry Pi: 9 βήματα (με εικόνες)

Βίντεο: Ιστότοπος/WiFi ελεγχόμενη λωρίδα LED με Raspberry Pi: 9 βήματα (με εικόνες)

Βίντεο: Ιστότοπος/WiFi ελεγχόμενη λωρίδα LED με Raspberry Pi: 9 βήματα (με εικόνες)
Βίντεο: 🧢Πώς να εγκαταστήσετε λωρίδες led REFRIGERATED (✅ ΔΕΝ ΔΙΑΚΟΠΟΥΝ) 2024, Νοέμβριος
Anonim
Ιστοσελίδα/WiFi Ελεγχόμενη λωρίδα LED με Raspberry Pi
Ιστοσελίδα/WiFi Ελεγχόμενη λωρίδα LED με Raspberry Pi

Ιστορικό:

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

Πρόσφατα δούλευα για την ενημέρωση της ρύθμισης του γραφείου μου και αποφάσισα ότι μια ωραία προσθήκη θα ήταν κάποιος φωτισμός διάθεσης. Στην αρχή, αγόρασα μια λωρίδα LED με μπαταρία 5v που ελέγχεται από ένα τηλεχειριστήριο, αλλά δεν ήταν μια πολύ ικανοποιητική διαδικασία και είχα μια ιδέα. Είχα μερικά ανταλλακτικά ξαπλωμένα και προσπαθούσα να σκεφτώ κάτι να κάνω με το Raspberry Pi που είχα πάρει για τα Χριστούγεννα. Κατά τη διάρκεια μιας ιδιαίτερα βαρετής ημέρας στο μάθημα των φυσικών επιστημών, συνειδητοποίησα ότι μπορούσα να χρησιμοποιήσω τις καρφίτσες GPIO του Raspberry Pi για τον έλεγχο των φώτων LED, αρκεί να τους έβγαζα τιμές RGB.

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

Αυτό το έργο είναι ανοικτό σε πολλές βελτιώσεις και ενώ το html + php μου είναι κάπως πρόχειρο, ολοκληρώνουν τη δουλειά

Θέματα:

Τα κύρια σημεία που θα αγγίξει αυτός ο οδηγός είναι ---

  1. Έλεγχος GPIO στο Raspberry Pi
  2. Φιλοξενία διακομιστή ιστού Apache στο Pi
  3. Χρήση του διακομιστή ιστού για τον έλεγχο μιας λωρίδας LED RGB

Βήμα 1: Απαιτούμενα υλικά και αναλώσιμα

  • 1 x Raspberry Pi (χρησιμοποίησα ένα Pi 2 Model B)
  • Κάρτα MicroSD
  • Κάτι που τροφοδοτεί το Pi σας (καλώδιο USB και προσαρμογέας ρεύματος AC)
  • 1 x προσαρμογέας WiFi USB an σύνδεση Ethernet
  • 1 x USB σε σειριακό καλώδιο -
  • 1 x έξοδος GPIO -
  • 1 x μικρή πλάκα ψωμιού -
  • USB σε MicroSD -
  • Πολλαπλά χρώματα από σύρμα συμπαγούς πυρήνα
  • Ένα περίβλημα
  • 3 x τρανζίστορ τύπου NPN (χρησιμοποίησα τρανζίστορ BC547b)
  • 1x λωρίδα φωτισμού LED 5V
  • Σύρματα από jumper σε αρσενικό jumper -

Βήμα 2: Ρύθμιση του περιβάλλοντος του Pi

Ρύθμιση του περιβάλλοντος του Pi
Ρύθμιση του περιβάλλοντος του Pi
Ρύθμιση του περιβάλλοντος του Pi
Ρύθμιση του περιβάλλοντος του Pi

Χρησιμοποίησα ένα πλαστικό κουτί για να περικλείσω το έργο, ώστε να μην ξεχωρίζει στο ράφι μου. Άνοιξα μια τρύπα στο πλάι για το σειριακό καλώδιο USB και τοποθέτησα το Pi δίπλα στο breadboard και το Pi Wedge.

Βήμα 3: Ρύθμιση του Pi σας (Μέρος 1)

Ρύθμιση του Pi σας (Μέρος 1)
Ρύθμιση του Pi σας (Μέρος 1)

Για αυτό το έργο χρησιμοποίησα την τελευταία έκδοση του Raspbian που δεν είναι επιτραπέζιος

Μπορείτε να βρείτε έναν οδηγό για την εγκατάσταση του Raspbian εδώ:

(Μπορεί να χρειαστείτε προσαρμογέα USB σε microSD για τον υπολογιστή σας)

Μόλις το Raspbian εγκατασταθεί στην κάρτα SD, μπορείτε να το συνδέσετε στο Raspberry Pi και να συνδέσετε το καλώδιο Ethernet ή τον προσαρμογέα USB WiFi στο Pi

Στη συνέχεια, εγκαταστήστε τον Tera Term στον υπολογιστή σας, ο οποίος σας επιτρέπει να συνδεθείτε με το τερματικό του Raspberry Pi μέσω του υπολογιστή σας:

Στη συνέχεια, συνδέστε το σειριακό καλώδιο USB από τη σφήνα Pi στον υπολογιστή. Μπορείτε να έχετε πρόσβαση μέσω του Tera Term. Βεβαιωθείτε ότι ο ρυθμός baud της σειριακής θύρας έχει οριστεί σε 115200.

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

Το προεπιλεγμένο όνομα χρήστη και κωδικός πρόσβασης είναι:

Όνομα χρήστη: pi

Κωδικός πρόσβασης: βατόμουρο

Βήμα 4: Ρύθμιση του Pi σας (Μέρος 2)

Ρύθμιση WiFi

Στο τερματικό, εκτελέστε την εντολή

sudo nano/etc/network/interfaces

Στη συνέχεια, επικολλήστε αυτόν τον κωδικό και αντικαταστήστε το SSID και το PSK με το όνομα και τον κωδικό πρόσβασης του δρομολογητή σας

auto lo

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "password"

Αυτό το αρχείο επιτρέπει στο Pi να συνδεθεί στο WiFi σας

Στη συνέχεια, επανεκκινήστε το Pi με τη γραμμή

sudo επανεκκίνηση

Εγκατάσταση διακομιστή Web

Συνδεθείτε και, στη συνέχεια, εγκαταστήστε τον διακομιστή Apache με

sudo apt -get install apache2 -y

και

sudo apt-get install php libapache2-mod-php -y

Για να βρείτε τη διεύθυνση IP του Pi σας εκτελέστε την εντολή

όνομα κεντρικού υπολογιστή -I

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

Για παράδειγμα, στο Google Chrome θα έγραφα 192.168.1.72 στη γραμμή διευθύνσεων.

Τα έγγραφα που πρέπει να ακολουθήσετε βρίσκονται στη διεύθυνση

Πρέπει επίσης να εγκατασταθεί η βιβλιοθήκη PiGPIO, η οποία σας επιτρέπει να ελέγχετε τα δεδομένα που αποστέλλονται μέσω των ακίδων GPIO.

sudo apt-get install build-essential unzip wget

και

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

Βήμα 5: Γράφοντας τον Κώδικα

Μεταβείτε στο/var/www/html με τη γραμμή

cd/var/www/html

Στον κατάλογο, θα υπάρχει ένα προεπιλεγμένο αρχείο html, το οποίο θα χρειαστεί να επεξεργαστείτε.

sudo nano index.html

Μέσα στο Nano, διαγράψτε οτιδήποτε υπάρχει ήδη και αντικαταστήστε το με τον ακόλουθο κώδικα.

(Ο όρος Tera μπορεί να είναι λίγο funky με την αντιγραφή και επικόλληση, αλλά συνήθως μόλις αντιγράψετε κείμενο, το alt+v πρέπει να κάνει τη δουλειά)

συνάρτηση readRGB (χρώμα) {if (color.length == 0) {document.getElementById ("txtHint"). innerHTML = ""; ΕΠΙΣΤΡΟΦΗ; } else {var xmlhttp = new XMLHttpRequest (); xmlhttp.onreadystatechange = λειτουργία () {if (this.readyState == 4 && this.status == 400) {document.getElementById ("txtHint"). innerHTML = this.responseText; }}; temp = encodeURIComponent (χρώμα); xmlhttp.open ("GET", "action_page.php? q =" + temp, true); xmlhttp.send (); }} Επιλέξτε ένα χρώμα:

Στη συνέχεια, αποθηκεύστε το ως main.html, αντί για index.html

Ο παραπάνω κώδικας λειτουργεί ως το κουμπί που πατάτε και ως ο κωδικός που στέλνει το χρώμα που επιλέγετε στο άλλο αρχείο.

Στη συνέχεια, εκτελέστε την εντολή

sudo nano

και επικολλήστε μέσα

$ r $ g $ b ;

exec ("χοίροι p 17 $ g"); exec ("γουρούνια p 22 $ r"); exec ("γουρούνια p 22 $ b"); ?>

και αποθηκεύστε το ως action_page.php

Αυτός ο κωδικός λαμβάνει την τιμή RGB και ορίζει τις τιμές PWM στη λωρίδα LED.

Βήμα 6: Σχεδιασμός κυκλωμάτων

Σχεδιασμός κυκλωμάτων
Σχεδιασμός κυκλωμάτων

Τώρα που έχει ρυθμιστεί όλο το λογισμικό, ήρθε η ώρα να εργαστείτε στο υλικό.

Ο στόχος του κυκλώματος είναι να στείλει σήματα PWM (Pulse Width Modulated) από το Pi στη συστοιχία LED.

Η λωρίδα LED έχει τέσσερις ακίδες: κόκκινο, πράσινο, μπλε και ισχύ (5 βολτ στην περίπτωσή μου).

Κάθε πείρος PWM ελέγχει ένα από τα τρία χρώματα μέσω ενός τρανζίστορ, το οποίο λειτουργεί ως διακόπτης.

Κάθε τρανζίστορ έχει τρεις ακίδες: συλλέκτη, βάση και πομπό.

Το σήμα PWM ελέγχει τον κύκλο λειτουργίας (πόσο καιρό ο διακόπτης ενεργοποιείται και απενεργοποιείται).

Ο κύκλος λειτουργίας έχει ως αποτέλεσμα τα φώτα να είναι πιο σκούρα ή πιο φωτεινά.

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

ΣΗΜΕΙΩΣΗ: Στο σχήμα, τα σύμβολα LED αντιπροσωπεύουν τη συστοιχία LED και τις αντιστάσεις περιορισμού ρεύματος εντός του καλωδίου.

Βήμα 7: Βουτυρώνετε το ψωμί σας. Το Το Σανίδα

Βουτυρώνετε το ψωμί σας. Το Το Σανίδα
Βουτυρώνετε το ψωμί σας. Το Το Σανίδα

Κατά τη σύνδεση, βεβαιωθείτε ότι έχετε απενεργοποιήσει το Pi.

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

Τοποθετήστε τα τρανζίστορ στο επάνω μισό της σανίδας (στήλη Α) και συνδέστε τον πίνακα LED στο κάτω μισό (σειρές H, I ή J).

Συνδέστε τη ράγα αρνητικής ισχύος στον πείρο GND στη σφήνα και τη θετική ράγα στον πείρο 5V.

Συνδέστε τη ράγα θετικής ισχύος στον πείρο τροφοδοσίας της συστοιχίας LED.

Για κάθε τρανζίστορ, συνδέστε τον πείρο εκπομπής στη ράγα αρνητικής ισχύος και συνδέστε τον πείρο συλλέκτη σε ξεχωριστές σειρές που αντιστοιχούν στους πείρους του πίνακα LED (χρησιμοποίησα τη σειρά 1 ως 5v και 2, 3 και 4 ως πράσινες, κόκκινες και μπλε, στη στήλη στ). Στη συνέχεια, συνδέστε τέσσερα αρσενικά με θηλυκά καλώδια από το ψωμί στη λωρίδα LED.

Τέλος, συνδέστε τον πείρο βάσης του πράσινου τρανζίστορ στον πείρο 17 στη σφήνα, την κόκκινη βάση του τρανζίστορ στον πείρο 22 και τη μπλε βάση του τρανζίστορ στον πείρο 24.

Βήμα 8: Δοκιμή

Δοκιμές
Δοκιμές

Σε ένα πρόγραμμα περιήγησης ιστού, μεταβείτε στη διεύθυνση IP του Pi και μετά γράψτε /main.html

Επιλέξτε ένα χρώμα και εκπλαγείτε από τα «θαύματα της σύγχρονης τεχνολογίας»!

Βήμα 9: Επικοινωνήστε μαζί μου εάν έχετε οποιεσδήποτε ερωτήσεις/σχόλια

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

Καλή τύχη!

Συνιστάται: