Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
Αυτό το διδακτικό αναφέρει λεπτομερώς τα βήματα που είναι απαραίτητα για την κατασκευή μιας υποτυπώδους ασύρματης λάμπας LED ανίχνευσης φωτός χρησιμοποιώντας το Arduino Unos και μια φωτοαντίσταση. Μια πιθανή εφαρμογή για αυτήν τη συσκευή θα ήταν ο φωτισμός ενός δωματίου που δεν έχει παράθυρα με τεχνητό ηλιακό φως, που ταιριάζει με τις πραγματικές συνθήκες φωτισμού έξω σε πραγματικό χρόνο. Ας αρχίσουμε!
Λίστα Προμηθειών:
Arduino Uno x2
NRF24L01 Ασύρματος πομποδέκτης x2 (Προαιρετικό - NRF24L01 σακίδιο πλάτης x2)
TIP120 τρανζίστορ darlington
Φωτοαντίσταση
LED 5mm x3
Κουμπί ώθησης
Αντίσταση 100 ohm x3
Αντίσταση 10k ohm x3
Διάφορα καλώδια άλτη
Βήμα 1: Καλωδίωση των ενοτήτων και κυκλώματος NRF24L01
Σε αυτό το έργο, ένα Arduino θα λειτουργήσει ως πομπός, στέλνοντας δεδομένα επιπέδου φωτός από τη φωτοαντίσταση όταν πατηθεί το κουμπί ώθησης. Το άλλο Arduino θα χρησιμεύσει ως δέκτης, παίρνοντας αυτά τα δεδομένα και μετατρέποντάς τα σε σήμα προς τα LED. Η πρώτη εικόνα δείχνει το διάγραμμα πομπού και η δεύτερη το δέκτη.
Σημείωση: στις φωτογραφίες του έργου μου, θα παρατηρήσετε ότι οι πομποδέκτες NRF24L01 είναι προσαρτημένοι σε άλλο PCB. Αυτή είναι μια μονάδα σακιδίου για τους πομποδέκτες, η οποία λειτουργεί ως ρυθμιστής ισχύος. Εκτός από τη διευκόλυνση της καλωδίωσης, αυτά τα σακίδια ρυθμίζουν την είσοδο ισχύος για το NRF24L01, επιτρέποντας τη χρήση τροφοδοσίας 5V. Έχω παραλείψει αυτά τα σακίδια στο διάγραμμά μου για λόγους σαφήνειας.
(Εάν αποφασίσετε να χρησιμοποιήσετε τα σακίδια πλάτης, ανατρέξτε σε αυτόν τον σύνδεσμο για ένα διάγραμμα των τοποθεσιών των καρφιών σε σχέση με το απόθεμα NRF24L01).
Παρακάτω επισυνάπτεται ένα αντίγραφο PDF του κυκλώματος, για ευκολότερη μεγέθυνση/λεπτομερή προβολή.
Βήμα 2: Κωδικοποίηση του πομπού
Το τελευταίο βήμα είναι η κωδικοποίηση. Θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη RadioHead ή μια αντίστοιχη βιβλιοθήκη για χρήση με τις μονάδες NRF24L01.
Για αυτό το έργο, ο πομπός και ο δέκτης Arduinos χρησιμοποιούν διαφορετικό κωδικό σε καθένα. Εδώ είναι ο κωδικός για τον πομπό:
Έχω επισυνάψει επίσης το αρχείο.ino (NRF_Send) για διευκόλυνση.
#περιλαμβάνω
#περιλαμβάνω
RH_NRF24 nrf24; // Αρχικοποίηση πομποδέκτη ως nrf24
κουμπί int = 5; // Ρύθμιση τιμών καρφιτσών για το κουμπί και τη φωτοαντίσταση
int pResistor = A0; int τιμή = 0; // Τιμή φωτός από 0-1023
void setup ()
{Serial.begin (9600); pinMode (κουμπί, ΕΙΣΟΔΟΣ); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Ειδοποιεί το χρήστη εάν η εκκίνηση της μονάδας αποτύχει Serial.println ("η αποτυχία του init"); // Οι προεπιλογές μετά το init είναι 2,402 GHz (κανάλι 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel απέτυχε"); εάν (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF απέτυχε"); }
κενός βρόχος ()
{if (digitalRead (κουμπί)) {// Στείλτε ένα μήνυμα αν πατήσετε το κουμπί value = analogRead (pResistor); // Διαβάστε την τιμή της φωτοαντίστασης (0-1023) uint8_t data = {value}; // Ορίζει έναν πίνακα που ονομάζεται "data " που περιέχει τη φωτεινή τιμή nrf24.send (data, sizeof (data)); // Αποστολή του πίνακα στον δέκτη nrf24.waitPacketSent (); // Περιμένετε μέχρι να σταλεί το πακέτο Serial.println ("Light Value:" +String (value)); // Εκτυπώστε την τιμή φωτός στη σειριακή οθόνη}}
Βήμα 3: Κωδικοποίηση του δέκτη
Για τον δέκτη, ο κώδικας χρησιμοποιεί επίσης τη βιβλιοθήκη RadioHead.
#περιλαμβάνω
#περιλαμβάνω
RH_NRF24 nrf24;
int LEDPin = 3;
int τιμή = 0; // Τιμή φωτός από 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); εάν (! nrf24.init ()) Serial.println ("η αποτυχία του init"); // Οι προεπιλογές μετά το init είναι 2,402 GHz (κανάλι 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel απέτυχε"); εάν (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF απέτυχε"); }
κενός βρόχος ()
{// Περιμένετε ένα μήνυμα uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Αποθηκεύστε το ληφθέν μήνυμα ως πίνακα που ονομάζεται "buf " uint8_t len = sizeof (buf); // Αποθηκεύστε το μέγεθος του buf ως "len" ενώ (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Λαμβάνει το μήνυμα για 200 χιλιοστά του δευτερολέπτου ή έως ότου ληφθεί ολόκληρο το μήνυμα {value = buf [0]; // Ορίζει τιμή στον πρώτο δείκτη του buf , που είναι το int από το photoRistor analogWrite (LEDPin, χάρτης (τιμή, 0, 1023, 0, 255)). // Ρυθμίζει τον πείρο PWM για έξοδο κλιμακούμενης τιμής μεταξύ 0-255 για τη φωτεινότητα LED Serial.println (συμβολοσειρά (τιμή)); } analogWrite (LEDPin, 0); }
Βήμα 4: ΕΓΙΝΕ
Απολαύστε το παιχνίδι με διαφορετικά επίπεδα φωτισμού και βλέποντας τα LED να ταιριάζουν με αυτά! Ο φωτοαντιστάτης μπορεί μερικές φορές να είναι ασταθής και λειτουργεί καλύτερα σε σκοτεινό δωμάτιο με τοπική πηγή φωτός (αλλά μπορεί να λειτουργήσει και έξω με τον ήλιο).
Συνιστάται:
MicroKeyRing: Μικρή αποθήκευση κωδικού πρόσβασης που ταιριάζει στην τσέπη σας: 4 βήματα
MicroKeyRing: Μικρή αποθήκευση κωδικού πρόσβασης που ταιριάζει στην τσέπη σας: Κωδικοί πρόσβασης, κωδικοί πρόσβασης και περισσότεροι κωδικοί πρόσβασης. Κάθε ιστότοπος, εφαρμογή αλληλογραφίας ή υπηρεσία Google χρειάζεται κωδικό πρόσβασης. Και ΔΕΝ ΠΡΕΠΕΙ να χρησιμοποιείτε τον ίδιο κωδικό πρόσβασης σε δύο μέρη. Πού μπορείτε να τα αποθηκεύσετε; Σε εφαρμογή επιφάνειας εργασίας; Σε μια (εξαιρετικά ασφαλή) εφαρμογή ιστού;
Ασύρματη επικοινωνία χρησιμοποιώντας μονάδα πομποδέκτη NRF24L01 για έργα που βασίζονται σε Arduino: 5 βήματα (με εικόνες)
Ασύρματη επικοινωνία με χρήση μονάδας πομποδέκτη NRF24L01 για έργα που βασίζονται σε Arduino: Αυτό είναι το δεύτερο διδακτικό μου σεμινάριο σχετικά με τα ρομπότ και τους μικροελεγκτές. Είναι πραγματικά εκπληκτικό να βλέπεις το ρομπότ σου ζωντανό και να λειτουργεί όπως αναμενόταν και πίστεψέ με θα είναι πιο διασκεδαστικό αν ελέγχετε το ρομπότ σας ή άλλα πράγματα ασύρματα με γρήγορο και
Ασύρματη μετάδοση DIY χρησιμοποιώντας IR LED και ηλιακό πάνελ .: 4 βήματα
DIY Wireless Transmission Using IR LED and Solar Panel .: Όπως όλοι γνωρίζουμε για τους ηλιακούς συλλέκτες, τα φωτοβολταϊκά ηλιακά πάνελ απορροφούν το ηλιακό φως ως πηγή ενέργειας για την παραγωγή ηλεκτρικής ενέργειας. Είναι ένα υπέροχο δώρο μιας δωρεάν πηγής ενέργειας. Ωστόσο, δεν χρησιμοποιείται ευρέως. Ο κύριος λόγος πίσω από αυτό είναι η δαπάνη
Νυχτερινό φως που αλλάζει χρώμα χρησιμοποιώντας Ardruino 101: 4 βήματα (με εικόνες)
Νύχτα που αλλάζει χρώμα χρησιμοποιώντας το Ardruino 101: Σε αυτό το έργο θα φτιάξετε μια νυχτερινή λάμπα χρησιμοποιώντας ardruino, Adafruit neo rgb Strips και έναν 3D εκτυπωτή. Σημειώστε ότι αυτό το άκαμπτο είναι καθαρά για το σχολικό μου έργο. Ο κώδικας για αυτό το έργο βασίζεται σε άλλο έργο. Με αυτό είπε ότι δεν είμαι πρώην
Κύκλωμα φωτισμού κεριών OLED με φωτοαντίσταση για έλεγχο έντασης (TfCD): 4 βήματα (με εικόνες)
Κύκλωμα φωτισμού κεριών OLED με φωτοαντίσταση για έλεγχο έντασης (TfCD): Σε αυτό το διδακτικό σας δείχνουμε πώς να φτιάξετε ένα κύκλωμα που δείχνει ότι το LED (O) αναβοσβήνει σαν ένα κερί και αντιδρά στην ένταση του περιβάλλοντος. Με χαμηλότερη ένταση φωτός απαιτείται μικρότερη έξοδος φωτός από τις πηγές φωτός. Με αυτήν την εφαρμογή