Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Εννοια:
Έφτιαξα μια λάμπα που θέλει πάντα προσοχή. Εμπνεύστηκε από τη γυναίκα μου. Είμαι μεταπτυχιακός φοιτητής και έτσι είμαι πάντα απασχολημένος με τις σχολικές μου εργασίες. Η γυναίκα μου θέλει να μιλήσει μαζί μου όταν γυρίσω σπίτι. Όταν της δίνω λίγη προσοχή, γίνεται νευρική και περπατάω με κελύφη αυγών. Έβαλα το χαρακτηριστικό της σε αυτό το φωτιστικό. Για να συνεχίσει να ανάβει η λάμπα, ένας χρήστης πρέπει να τυλίγει ένα κλειδί κάθε μία ώρα. Η λυχνία θα σβήσει όταν ο χρονοδιακόπτης μεταβεί στα 0 λεπτά.
Εάν φτιάχνετε αυτόν τον λαμπτήρα, φροντίστε να τον φέρετε καλά. (Ο ήχος tick-tock είναι ένα μπόνους για εσάς.)
Λίστες αγορών:
Arduino Nano (ATmega328P)
Βασικός λαμπτήρας γραφείου
Λάμπα USB 5V 5W
USB Type A Γυναικεία υποδοχή Breakout σανίδα
Μεταλλικά κλειδιά ρολογιού
Χρονόμετρο μαγειρέματος
Αισθητήρας εφέ Hall (A1301/A1302)
Μαγνήτες (6 Χ 2mm)
Flat Phillips Head Screw 6/32 (μήκος 2 ιντσών)
Ξηροί καρποί, 6/32
Βήμα 1: Κάτω μέρος Laser Cut και αποσυναρμολογήστε τη λάμπα
Για το κάτω μέρος, σχεδίασα και έκοψα ακρυλικά πάνελ χρησιμοποιώντας μηχανή κοπής λέιζερ.
Αποσυναρμολογήστε τη λάμπα.
Βήμα 2: Εισαγάγετε μαγνήτες και αισθητήρα / Συνδέστε μια λάμπα USB
1. Τοποθετήστε τον μαγνητικό αισθητήρα αίθουσας στο τμήμα του σώματος για την ανίχνευση του μαγνήτη στο τμήμα περιστροφής.
2. Συνδέστε μια λάμπα USB, έναν μαγνητικό αισθητήρα χώρου και ένα Arduino Nano.
3. Εισάγετε μαγνήτες στις οπές.
Βήμα 3: Κωδικός και σχηματική
Σχηματική ^
Κώδικας
/////// HALL EFFECT SENSOR ////////////define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (πλακέτα USB Receptacle Breakout) σε ψηφιακή ακίδα 3
int led = 3;
// Αισθητήρας εφέ Hall στην αναλογική ακίδα 0
int hall = A0;
// Οι παρακάτω γραμμές προέρχονται από https://playground.arduino.cc/Code/HallEffect από τον Rob Tillaart
int gauss?
int gaussX; int gauss2;
void setup () {pinMode (led, OUTPUT); pinMode (αίθουσα, ΕΙΣΟΔΟΣ); Serial.begin (9600); }
void DoMeasurement ()
{int raw = analogRead (αίθουσα); μακρά αντισταθμισμένη = ακατέργαστη - NOFIELD; // προσαρμόζω σε σχέση με κανένα εφαρμοζόμενο πεδίο long gauss = αντισταθμίζεται * TOMILLIGAUSS / 1000; // προσαρμογή κλίμακας στο Gauss gaussX = περιορισμός (gauss, 0, 500); gauss2 = χάρτης (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (ακατέργαστο);
analogWrite (led, gauss2);
}
κενός βρόχος ()
{DoMeasurement (); καθυστέρηση (100)? }
Βήμα 4: Τελευταίο βήμα
Εγινε.