Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Konsept:
Jeg laget en lampe som alltid trenger oppmerksomhet. Det var inspirert av min kone. Jeg er utdannet student, så jeg er alltid opptatt med skolearbeidet mitt. Min kone vil snakke med meg når jeg kommer hjem. Når jeg tar lite hensyn til henne, blir hun sur, og jeg går på eggeskall. Jeg satte hennes karakteristikk i denne lampen. For å fortsette å slå på lampen, må en bruker slå opp en nøkkel hver time. Lampen slås av når timeren går til 0 minutter.
Hvis du lager denne lampen, må du behandle den godt. (Tick-tock-lyd er en bonus for deg.)
Kjøpslister:
Arduino Nano (ATmega328P)
Grunnleggende skrivebordslampe
5V 5W USB lyspære
USB Type A Female Receptacle Breakout board
Nøkler i metall
Timer for matlaging
Hall Effect Sensor (A1301/A1302)
Magneter (6 X 2 mm)
Flat stjerneskrue 6/32 (2 tommer lang)
Nøtter, 6/32
Trinn 1: Laserskåret bunndel og demonter lampen
For den nederste delen designet og kuttet jeg akrylpaneler ved hjelp av laserskåret maskin.
Demonter lampen.
Trinn 2: Sett inn magneter og sensor / koble til en USB -lampe
1. Sett hallens magnetiske sensor i kroppsdelen for å oppdage magneten på rotasjonsdelen.
2. Koble til en USB -lampe, hallmagnetisk sensor og Arduino Nano.
3. Sett inn magneter i hullene.
Trinn 3: Kode og skjematisk
Skjematisk ^
Kode
/////// HALL EFFECT SENSOR ///////////// #define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (USB Receptacle Breakout board) til digital pin 3
int led = 3;
// Hall effekt sensor til analog pin 0
int hall = A0;
// Linjene nedenfor er fra https://playground.arduino.cc/Code/HallEffect av Rob Tillaart
int gauss;
int gaussX; int gauss2;
ugyldig oppsett () {pinMode (led, OUTPUT); pinMode (hall, INPUT); Serial.begin (9600); }
ugyldig DoMeasurement ()
{int raw = analogRead (hall); lang kompensert = rå - NOFIELD; // juster i forhold til ikke påført felt lang gauss = kompensert * TOMILLIGAUSS / 1000; // juster skala til Gauss gaussX = begrensning (gauss, 0, 500); gauss2 = kart (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (rå);
analogWrite (led, gauss2);
}
hulrom ()
{DoMeasurement (); forsinkelse (100); }
Trinn 4: Siste trinn
Ferdig.