Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Koncepti:
Kam bërë një llambë që gjithmonë ka nevojë për vëmendje. Ajo u frymëzua nga gruaja ime. Unë jam student i diplomuar kështu që jam gjithmonë i zënë me detyrat e mia të shkollës. Gruaja ime dëshiron të flasë me mua kur të kthehem në shtëpi. Kur i kushtoj pak vëmendje asaj, ajo bëhet e acaruar dhe unë eci mbi lëvozhgat e vezëve. Unë e vendosa karakteristikën e saj në këtë llambë. Për të ndezur llambën, një përdorues duhet të mbyllë një çelës çdo një orë. Llamba do të fiket kur kohëmatësi të shkojë në 0 minuta.
Nëse e bëni këtë llambë, ju lutemi trajtojeni mirë. (Tingulli tik-tak është një bonus për ju.)
Listat e blerjes:
Arduino Nano (ATmega328P)
Llamba e tavolinës bazë
Llambë USB 5V 5W
Pllakë USB Breakout e Tipave A të Femrave
Çelësat e orës metalike
Kohëmatësi i gatimit
Sensori i Efektit Hall (A1301/A1302)
Magnet (6 X 2mm)
Vidë e sheshtë Phillips 6/32 (e gjatë 2 inç)
Arra, 6/32
Hapi 1: Pjesa e poshtme e prerë me lazer dhe çmontoni llambën
Për pjesën e poshtme, kam projektuar dhe prerë panele akrilike duke përdorur makinë prerëse me lazer.
Çmontoni llambën.
Hapi 2: Futni magnet dhe sensorin / lidhni një llambë USB
1. Vendosni sensorin magnetik të sallës në pjesën e trupit për zbulimin e magnetit në pjesën e rrotullimit.
2. Lidhni një llambë USB, sensor magnetik të sallës dhe Arduino Nano.
3. Futni magnet në vrima.
Hapi 3: Kodi dhe Skema
Skematike ^
Kodi
/////// SENSORI I EFEKTIT T H HALL //S /////////// #define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (tabela USB Receptacle Breakout) në kunjin dixhital 3
int led = 3;
// Sensori i efektit Hall në pin analoge 0
int salla = A0;
// Linjat më poshtë janë nga https://playground.arduino.cc/Code/HallEffect nga Rob Tillaart
int gauss;
int gaussX; int gauss2;
void setup () {pinMode (led, OUTPUT); pinMode (salla, INPUT); Serial.filloj (9600); }
void DoMeasurement ()
{int raw = analogRead (salla); e kompensuar gjatë = e papërpunuar - NOFIELD; // rregulloje në lidhje me asnjë fushë të aplikuar të gjatë gauss = kompensuar * TOMILLIGAUSS / 1000; // përshtat shkallën në Gauss gaussX = kufizim (gaus, 0, 500); gauss2 = hartë (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (i papërpunuar);
analogWrite (led, gauss2);
}
lak void ()
{DoMeasurement (); vonesë (100); }
Hapi 4: Hapi i fundit
U krye