INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Konsep:
Ek het 'n lamp gemaak wat altyd aandag nodig het. Dit is geïnspireer deur my vrou. Ek is 'n gegradueerde, en ek is altyd besig met my skoolwerk. My vrou wil met my praat as ek by die huis kom. As ek min aandag aan haar gee, word sy stom, en ek loop op eierdoppe. Ek plaas haar kenmerk in hierdie lamp. Om die lamp aan te hou, moet 'n gebruiker elke uur 'n sleutel opdraai. Die lamp sal afskakel as die timer na 0 minute gaan.
Behandel dit goed as u hierdie lamp maak. (Tik-klank is 'n bonus vir jou.)
Kooplyste:
Arduino Nano (ATmega328P)
Basiese lessenaarlamp
5V 5W USB gloeilamp
USB tipe A vroulike houer -uitbreekbord
Metaalklok sleutels
Kooktyd
Hall Effect Sensor (A1301/A1302)
Magnete (6 x 2 mm)
Platte Phillips-kopskroef 6/32 (2-duim lank)
Neute, 6/32
Stap 1: Sny die onderste deel van die laser af en haal die lamp uitmekaar
Vir die onderste deel het ek akrielpanele ontwerp en gesny met behulp van 'n lasersnitmasjien.
Demonteer die lamp.
Stap 2: Plaas magnete en sensor in / koppel 'n USB -lamp
1. Plaas die magnetiese sensor van die saal in die liggaamsdeel om die magneet op die rotasie -deel op te spoor.
2. Koppel 'n USB -lamp, 'n halmagnetiese sensor en 'n Arduino Nano.
3. Steek magnete in die gate.
Stap 3: Kode en skematiese
Skematiese ^
Kode
/////// HALL EFFECT SENSOR /////////// #define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (USB Receptacle Breakout board) na digitale pen 3
int led = 3;
// Hall -effek sensor na analoog pen 0
int saal = A0;
// Die onderstaande lyne kom van https://playground.arduino.cc/Code/HallEffect deur Rob Tillaart
int gauss;
int gaussX; int gauss2;
leemte -opstelling () {pinMode (led, OUTPUT); pinMode (saal, INVOER); Serial.begin (9600); }
nietig DoMeasurement ()
{int raw = analogRead (saal); lank vergoed = rou - NOFIELD; // pas in verhouding tot geen toegepaste veld lang gauss = vergoed * TOMILLIGAUSS / 1000; // pas die skaal aan by Gauss gaussX = beperking (gauss, 0, 500); gauss2 = kaart (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (rou);
analogWrite (led, gauss2);
}
leemte lus ()
{DoMeasurement (); vertraging (100); }
Stap 4: Laaste stap
Klaar.