Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Koncepcija:
Aš padariau lempą, kuriai visada reikia dėmesio. Tai įkvėpė mano žmona. Esu abiturientė, todėl visada esu užsiėmusi mokykliniais darbais. Mano žmona nori su manimi pasikalbėti, kai grįšiu namo. Kai mažai kreipiu į ją dėmesį, ji pasidaro niūri, o aš vaikštau ant kiaušinių lukštų. Į šią lempą įdėjau jos charakteristiką. Norėdamas ir toliau įjungti lempą, vartotojas kas valandą turi atsukti raktą. Lemputė užges, kai laikmatis pasieks 0 minučių.
Jei gaminsite šią lempą, elkitės su ja gerai. („Tick-tock“garsas yra jums premija.)
Pirkimo sąrašai:
„Arduino Nano“(ATmega328P)
Pagrindinė stalinė lempa
5V 5W USB lemputė
A tipo USB lizdinė plokštelė
Metaliniai laikrodžio raktai
Virimo laikmatis
Halės efekto jutiklis (A1301/A1302)
Magnetai (6 x 2 mm)
Plokščias „Phillips“galvutės varžtas 6/32 (2 colių ilgio)
Riešutai, 6/32
1 žingsnis: apatinę dalį iškirpkite lazeriu ir išardykite lempą
Apatinėje dalyje aš suprojektavau ir supjaustiau akrilo plokštes, naudodami lazerio pjovimo mašiną.
Išardykite lempą.
2 žingsnis: įdėkite magnetus ir jutiklį / prijunkite USB lempą
1. Įdėkite salės magnetinį jutiklį į kūno dalį, kad aptiktų magnetą ant sukimosi dalies.
2. Prijunkite USB lempą, salės magnetinį jutiklį ir „Arduino Nano“.
3. Į skylutes įstatykite magnetus.
3 žingsnis: kodas ir schema
Schema ^
Kodas
/////// HALL EFFECT JUTIKLIS ////////// #define NOFIELD 505L #define TOMILLIGAUSS 1953L
// LED (USB jungties pertraukimo plokštė) į skaitmeninį kaištį 3
int led = 3;
// Halės efekto jutiklis į analoginį kaištį 0
int salė = A0;
// Žemiau esančios eilutės yra iš Robo Tillaarto
int gauss;
int gaussX; int gauss2;
void setup () {pinMode (LED, OUTPUT); pinMode (salė, INPUT); Serial.begin (9600); }
negaliojantis „DoMeasurement“()
{int raw = analogRead (salė); ilgai kompensuojama = žalia - NOFIELD; // koreguoti, palyginti su netaikomu lauku ilgas gauss = kompensuotas * TOMILLIGAUSS / 1000; // sureguliuoti skalę pagal Gausą gaussX = apriboti (gauss, 0, 500); gauss2 = žemėlapis (gaussX, 0, 500, 0, 255); Serial.println (gauss2); // Serial.println (raw);
analogWrite (LED, gauss2);
}
tuštumos kilpa ()
{DoMeasurement (); vėlavimas (100); }
4 žingsnis: paskutinis žingsnis
Padaryta.