Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Konsepti:
Tein lampun, joka tarvitsee aina huomiota. Sen inspiroi vaimoni. Olen jatko -opiskelija, joten olen aina kiireinen koulutehtävieni parissa. Vaimoni haluaa puhua kanssani, kun tulen kotiin. Kun kiinnitän häneen vähän huomiota, hän paheksuu ja kävelen munankuorilla. Laitoin hänen ominaisuutensa tähän lamppuun. Jotta lamppu sytyisi jatkuvasti, käyttäjän on käännettävä avain tunnin välein. Lamppu sammuu, kun ajastin siirtyy 0 minuuttiin.
Jos teet tämän lampun, kohtele sitä hyvin. (Tick-tock-ääni on bonus sinulle.)
Ostoslistat:
Arduino Nano (ATmega328P)
Peruspöytävalaisin
5V 5W USB -lamppu
USB -tyypin A naarasliitäntälevy
Metallikellon avaimet
Kypsennysajastin
Hall Effect -anturi (A1301/A1302)
Magneetit (6 x 2 mm)
Litteä ristipääruuvi 6/32 (2 tuumaa pitkä)
Pähkinät, 6/32
Vaihe 1: Laserleikattu alaosa ja purkaa lamppu
Alaosassa suunnittelin ja leikkasin akryylipaneelit laserleikkauskoneella.
Pura lamppu.
Vaihe 2: Aseta magneetit ja anturi / liitä USB -lamppu
1. Aseta hallin magneettianturi runko -osaan magneetin havaitsemiseksi pyörivässä osassa.
2. Liitä USB -lamppu, hallin magneettianturi ja Arduino Nano.
3. Aseta magneetit reikiin.
Vaihe 3: Koodi ja kaavio
Kaavio ^
Koodi
/////// HALL EFFECT SENSOR ///////////define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (USB -liittimen katkaisukortti) digitaaliseen nastaan 3
int led = 3;
// Hall -tehosteanturi analogiseen nastaan 0
int hall = A0;
// Alla olevat rivit ovat osoitteesta https://playground.arduino.cc/Code/HallEffect, kirjoittanut Rob Tillaart
int gauss;
int gaussX; int gauss2;
void setup () {pinMode (led, OUTPUT); pinMode (sali, INPUT); Sarja.alku (9600); }
mitätön DoMeasurement ()
{int raaka = analoginenLue (sali); pitkä kompensoitu = raaka - NOFIELD; // säädä suhteessa ei -käytettyyn kenttään pitkä gauss = kompensoitu * TOMILLIGAUSS / 1000; // säädä asteikko Gaussin mukaan gaussX = rajoita (gauss, 0, 500); gauss2 = kartta (gaussX, 0, 500, 0, 255); Sarja.println (gauss2); // Sarja.println (raaka);
analogWrite (led, gauss2);
}
tyhjä silmukka ()
{DoMeasurement (); viive (100); }
Vaihe 4: Viimeinen vaihe
Tehty.