Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Koncept:
Napravio sam lampu na koju uvek treba obratiti pažnju. Inspirisala ga je moja žena. Ja sam apsolvent pa sam uvijek zauzet školskim poslovima. Moja žena želi razgovarati sa mnom kad dođem kući. Kad joj ne obraćam malo pažnje, ona se naduri, a ja hodam po ljusci od jaja. U ovu lampu sam stavio njenu karakteristiku. Da bi nastavio paliti lampu, korisnik mora navijati ključ svakih sat vremena. Lampica će se isključiti kad mjerač vremena pređe na 0 minuta.
Ako pravite ovu svjetiljku, s njom postupajte dobro. (Zvuk tik-tak je bonus za vas.)
Liste za kupovinu:
Arduino Nano (ATmega328P)
Osnovna radna lampa
5V 5W USB žarulja
USB utičnica za utičnicu ženskog priključka tipa A
Metalni ključevi za satove
Tajmer za kuhanje
Hall -ov senzor (A1301/A1302)
Magneti (6 x 2 mm)
Ravni Phillips zavrtanj za glavu 6/32 (dugačak 2 inča)
Matice, 6/32
Korak 1: Lasersko izrežite donji dio i rastavite lampu
Za donji dio sam dizajnirao i rezao akrilne ploče pomoću laserske mašine za rezanje.
Rastavite lampu.
Korak 2: Umetnite magnete i senzor / spojite USB lampu
1. Stavite Hall -ov magnetni senzor u dio tijela za detekciju magneta na rotacionom dijelu.
2. Priključite USB lampu, Hall -ov magnetni senzor i Arduino Nano.
3. Umetnite magnete u rupe.
Korak 3: Kod i shema
Shema ^
Kod
/////// HALL EFFECT SENSOR /////////// #define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (USB razvodna utičnica) na digitalni pin 3
int led = 3;
// Senzor Hall efekta na analogni pin 0
int hall = A0;
// Donji redovi su s https://playground.arduino.cc/Code/HallEffect od Roba Tillaarta
int gauss;
int gaussX; int gauss2;
void setup () {pinMode (led, OUTPUT); pinMode (sala, INPUT); Serial.begin (9600); }
void DoMeasurement ()
{int raw = analogRead (sala); dugo kompenzirano = sirovo - NOFIELD; // podešavanje u odnosu na neprimjenjeno polje long gauss = kompenzirano * TOMILLIGAUSS / 1000; // prilagodimo skalu Gaussu gaussX = ograničenje (gauss, 0, 500); gauss2 = mapa (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (neobrađeno);
analogWrite (led, gauss2);
}
void loop ()
{DoMeasurement (); kašnjenje (100); }
Korak 4: Posljednji korak
Gotovo.