Satura rādītājs:
- 1. darbība: sastāvdaļu savākšana
- 2. darbība: mūsu bibliotēkas instalēšana
- 3. darbība. Nepieciešamo bibliotēku instalēšana
- 4. solis: moduļa salikšana
- 5. darbība. Spilgtuma moduļa skices rakstīšana
- 6. darbība: mūsu AtHome moduļa pārbaude
- 7. solis: moduļa korpusa izveide
Video: Izveidojiet spožuma moduli, izmantojot AtHome: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
AtHome ir pilnībā atvērta avota un atvērtas aparatūras studentu projekts, ko izstrādājusi grupa AtHome no Epitech, un kura mērķis ir izstrādāt vairāku atsevišķu sensoru moduļu savienotu risinājumu, kas sazinās ar pašmītni mitinātu datu bāzi, atklājot API, ko izmanto viedtālruņa lietojumprogrammas un tīmekļa lietojumprogrammas barošanai. Moduļi uzrauga mājas iekštelpu vidi un spēj sniegt lietotājam vizuālu atgriezenisko saiti, pārejot no zaļas (labas) uz sarkanu (sliktu), un lietotājs var redzēt pārsūtītos datus, izmantojot moduļa sērijas sakarus vai mūsu lietojumprogrammas, ja tās izmantojat.
Lai gan šis projekts joprojām tiek aktīvi attīstīts, mūsu moduļu pamatfunkcijas tagad ir gatavas un šķietami viegli lietojamas pielāgotu moduļu izstrādei. Tāpēc es ierosinu jums redzēt, kā izveidot savu vienkāršo moduli, izmantojot šo spilgtuma moduļa piemēru.
Šie moduļi pamatā ir veidoti ar Arduino saderīgu plati (ar daļēju Arduino kodolu vajadzētu pietikt, ja vien tam ir Stream, Wire un UART plūsmas atbalsts), LED (sarkans vai RGB), kas problēmas gadījumā kļūst sarkans, sensors, barošanas avots (sienas barošanas avots vai akumulators) un lāzera griezuma korpuss.
Jā, tas noteikti nav jaunums, ir daudz sensoru projektu, bet mēs ceram, ka jums palīdzēs citas funkcijas, piemēram, veselības problēmu noteikšana, saziņa un informācijas glabāšana paša mitinātā serverī un vizualizācijas lietojumprogramma. Vai arī, ja vēlaties tikai uzraudzīt savu māju, vienkāršus projektus vai ne mazāk interesantus:)
1. darbība: sastāvdaļu savākšana
Šim projektam jums būs nepieciešami daži komponenti, lai izveidotu AtHome moduli:
- 1x ar Arduino saderīga tāfele: šeit es izmantošu Arduino UNO (bet tas darbojas arī ar citiem dēļiem, piemēram, TI Launchpad un ESP8266 dēļiem)
- 1x sensors: izmantošu spilgtuma sensoru TSL2561 (atbalstīto sensoru saraksts ir pieejams mūsu bibliotēkas dokumentācijā)
- 1x LED: šeit es izmantošu Grove Chainable RGB LED (bet tas var būt arī vienkāršs sarkans LED vai NeoPixel)
- Dupont vadi
Saderīgo komponentu saraksts ir pieejams mūsu projekta dokumentācijā.
2. darbība: mūsu bibliotēkas instalēšana
Lai instalētu mūsu bibliotēku, jums ir jālejupielādē no mūsu krātuves (mēs to vēlāk publicēsim Arduino IDE sarakstā un PlatformIO), izmantojot šo saiti:
gitlab.com/Woodbox/Framework/-/jobs/artifacts/master/download?job=deploy
Pēc tam dodieties uz Arduino IDE un izvēlieties "Skice> Iekļaut bibliotēku> Pievienot. ZIP bibliotēku …". Pēc tam atlasiet zip failu ar nosaukumu "artifacts.zip" un noklikšķiniet uz "Labi".
3. darbība. Nepieciešamo bibliotēku instalēšana
Lai mūsu bibliotēka darbotos, datorā ir jāinstalē dažas citas bibliotēkas:
- Arkhipenko TaskScheduler bibliotēka
- SEEED Studio Grove digitālā gaismas sensora bibliotēka
- SEEED Studio Grove Chainable RGB LED bibliotēka
- Adafruit NeoPixel bibliotēka
Jūs varat tos instalēt, izmantojot Arduino IDE bibliotēkas pārvaldnieku, dodoties uz "Skice"> "Iekļaut bibliotēku"> "Pārvaldīt bibliotēkas …".
Atvērtajā jaunajā logā baltajā meklēšanas joslā ierakstiet tās bibliotēkas nosaukumu, kuru vēlaties instalēt, un pēc tam noklikšķiniet uz tās bloka. Parādīsies poga "Instalēt", jums vienkārši jānoklikšķina uz tās, un IDE to lejupielādēs un instalēs jūsu vietā.
4. solis: moduļa salikšana
Mēs sāksim ar sensoru. Savienojiet caur vadu TSL2561 VCC tapu ar Arduino 5V tapu, sensora GND tapu ar vienu no Arduino GND tapām un sensora SDA un SCL tapas ar Arduino SDA un SCL tapām. Tagad esat pabeidzis!
Tagad pievienojiet Grove Chainable RGB LED VCC tapu ar Arduino 5V tapu un LED GND tapu ar Arduino otro GND. Ja jūs esat Arduino kā tikai viena 5V tapa, varat izmantot maizes dēli, lai savienotu Arduino 5V ar + rīvdēļa rindu un savienotu visas savas sastāvdaļas ar 5V tapām vai lodētu tās kopā uz sloksnes plāksnes vai izmantojiet wago savienotājus vai visu, ko vēlaties. Tagad savienojiet sava LED CI tapu ar Arduino 7. tapu un gaismas diodes DI tapu ar Arduino 8. tapu. Ja jums nav šāda gaismas diodes, neuztraucieties, ir iespējams izmantot iebūvēto Arduino plates vai klasisko gaismas diodi, tikai nedaudz mainot kodu.
5. darbība. Spilgtuma moduļa skices rakstīšana
Izveidosim jaunu skici un uzrakstīsim sava moduļa kodu.
Ja jūs neinteresē skices skaidrojums, varat to vienkārši nokopēt un ielīmēt savā Arduino IDE:
#iekļaut
izmantojot LightModule = AtHomeModule; Straume *straumes = {& Sērijas, nullptr}; GroveChainableLED:: Pins grovePins = {7, 8}; GroveChainableLED LED (& grovePins); LightModule *modulis = LightModule:: getInstance (); void setup () {// ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: Serial.begin (9600); modulis-> setStreams (straumes); GroveDigitalLightSensor *lightSensor = jauns GroveDigitalLightSensor (); modulis-> setSensor (lightSensor); modulis-> setDisplay (& led); modulis-> iestatīšana (); } void loop () {// ievietojiet šeit savu galveno kodu, lai palaistu atkārtoti: module-> run (); }
Ja vēlaties saprast visu, ko šis kods dara, varat izlasīt šo informāciju vai, ja jūs tas neinteresē, varat pāriet tieši uz nākamo darbību.
Lai sāktu, mūsu skicē ir jāiekļauj mūsu bibliotēka, uzrakstot šo rindu skices augšdaļā:
#iekļaut
Tagad mums ir jāizveido aizstājvārds izmantotajam moduļa objektam. To var redzēt kā kastīti ar vairākām pogām, ko izmanto, lai mainītu tā komponentus, iedarbinātu, apturētu utt. Tā kā tā ir kastīte, kas veidota pēc veidnes (tāpat kā parastā veidne, ko mēs izmantojam projektos kā cilvēki, tai ir sākuma bāze, un Arduino kompilators izveido galīgo kodu, pamatojoties uz parametriem, kurus mēs viņam piešķiram), kas nosaka veidu, kas attēlo sensora vērtību un sensoru vērtību skaits, ko mēs vēlamies saglabāt atmiņā, tas ir norādīts tā nosaukumā, un tas parasti jāatkārto katru reizi, kad mēs to vēlamies izmantot. Kas ir mazliet kaitinoši, tāpēc šīs kastes pilnajam nosaukumam mēs piesaistīsim jaunu nosaukumu, aizstājvārdu.
Teiksim, piemēram, es vēlos, lai šī lodziņa nosaukums būtu "LightModule", jo tā tiks izmantota, lai ieviestu spožuma uzraudzības moduli, un es vēlos vienlaikus saglabāt tikai 1 vērtību. Spilgtumu luksos kā neatņemamu tipu attēlo mūsu TSL2561 sensors, ko datori attēlo kā uint16_t. Mūsu aizstājvārds izskatīsies šādi:
izmantojot LightModule = AtHomeModule;
atslēgvārds "izmantojot" nozīmē, ka mēs veidojam aizstājvārdu, un nosaukums, ko tam piešķiram, atbilst secībai aiz rakstzīmes "=".
"AtHomeModule" ir šīs kastes īstais nosaukums, un mēs piešķiram jaunu nosaukumu, un parametri, kas nosaka vērtību attēlojumu un atmiņā saglabāto vērtību skaitu, ir norādīti starp "".
Tagad, kad vēlāk izmantosim nosaukumu "AtHomeModule", Arduino zinās, ka tas attiecas uz pilnu nosaukumu "AtHomeModule".
Ja vēlaties, lai kaste atmiņā varētu saglabāt 5 vērtības, nevis 1, jums vienkārši jāaizstāj “1” ar “5”, un Arduino ģenerēs jums cita veida lodziņu, kas spēj darīt to, ko vēlaties. Tomēr ņemiet vērā: ja modulis ir ieprogrammēts nosūtīt savas vērtības, pirms tam ir laiks efektīvi izmērīt 5 sensora vērtības, jūs nekad neredzēsit, ka 5 no tām tiek nosūtītas, jo tas sūta tikai jaunās vērtības kopš pēdējās augšupielādes.
Tālāk mums ir jāizveido rādītāju masīvs, kas satur norādes uz Arduino plūsmām, ko modulis izmanto saziņai, un to vienmēr izbeidz atslēgas darbs "nullptr". Šeit es izmantoju tikai Arduino sērijas straumi, kas sazinās ar datoru, izmantojot USB portu, tāpēc masīvs izskatās šādi:
Straume *straumes = {& Sērijas, nullptr};
Rakstzīme "*" nozīmē, ka tips ir rādītājs (elementa atrašanās vieta, nevis pats elements), un iekavas "" nozīmē, ka Arduino tas ir masīvs, tāpēc mēs varam ievietot vairākas vērtības.
Tālāk mums ir jāizveido mūsu LED. Lai to izdarītu, mums jāraksta šādas divas rindas;
GroveChainableLED:: Pins grovePins = {7, 8};
GroveChainableLED LED (& grovePins);
Ja jums nav Grove RGB LED, bet tomēr vēlaties vizuālu atgriezenisko saiti, varat to izdarīt, vienkārši mainot skici. Aizstājiet divas iepriekšējās rindas ar šo rindu:
Vienkrāsains LED LED (LED_BUILTIN);
Šajā konfigurācijā zaļā iebūvētā gaismas diode iedegsies tik ilgi, kamēr uzraudzīta vērtība būs veselībai piemērota, un izslēgsies, kad tā vairs nebūs savienota. Ja vēlaties, lai tas ieslēgtos, kad tas vairs nav savienots (jo, piemēram, 13. tapā izmantojat sarkano gaismas diodi, nevis zaļo), varat izmantot šo rindu:
Vienkrāsains LED LED (LED_BUILTIN, true);
Nākamais solis ir izveidot mūsu moduli. Tas tiek darīts pirmo reizi, kad iegūstam tās atrašanās vietu atmiņā, izsaucot metodi "getInstance", piemēram:
LightModule *modulis = LightModule:: getInstance ();
Pēc tam mums ir jāiestata parametri Arduino funkcijā "setup ()", vispirms inicializējot "Sērijas" portu, kā parasti Arduino skicēs:
Sērijas sākums (9600);
Mēs izveidojam gaismas sensoru, rakstot šo rindu:
GroveDigitalLightSensor *lightSensor = jauns GroveDigitalLightSensor ();
Pēc tam mēs sakām savam modulim izmantot mūsu rādītāju masīvu Arduino straumē, lai sazinātos caur tiem:
modulis-> setStreams (straumes);
Mēs arī sakām savam modulim izmantot mūsu gaismas sensoru, lai uzraudzītu gaismas intensitāti, kur atrodas modulis:
modulis-> setSensor (lightSensor);
Mēs sakām savam modulim izmantot mūsu LED, lai sniegtu mums vizuālu atgriezenisko saiti:
modulis-> setDisplay (& led);
Visbeidzot, mēs sakām savam modulim, ka tas ir gatavs veikt jebkuru iekšējo konfigurāciju, kas tam ir jāizdara, izsaucot savu "iestatīšanas" funkciju:
modulis-> iestatīšana ();
Mūsu pēdējais solis ir izsaukt mūsu moduļa funkciju "run ()", kas ir paredzēts izsaukšanai katrā Arduino funkcijas "cilpa" atkārtojumā, ierakstot šo rindu funkcijas "cilpa" iekšpusē:
modulis-> palaist ();
Tagad mūsu skice beidzot ir gatava augšupielādēt Arduino un pārbaudīt mūsu moduli!
6. darbība: mūsu AtHome moduļa pārbaude
Lai augšupielādētu skici Arduino, izvēlieties savu Arduino UNO plati, dodoties uz "Tools"> "Port"> "[COMx or/dev/x] (Arduino/Genuino UNO)".
Visbeidzot, vienkārši noklikšķiniet uz pogas "Augšupielādēt" (apļa poga ar bultiņu, kas vērsta pa labi, rīkjoslas otrā ikona), lai augšupielādētu skici savā dēlī.
Tas ir pabeigts! Tagad jūsu modulim vajadzētu strādāt un nosūtīt vērtības uz datoru, kas redzams Arduino sērijas monitorā. To var pārbaudīt, izvēlnē "Rīki" atverot Arduino "Sērijas monitoru", un jums vajadzētu būt izvadam, kas izskatās kā šī soļa otrais titulbilde:)
7. solis: moduļa korpusa izveide
Jūs varat izveidot vienkāršu kārbu savam modulim, sagriežot to ar lāzeru 3 mm saplākšņa dēļā.
Lai izgatavotu kastes, mēs izmantojam makercase, lai sagatavotu veidni vēlamajos izmēros, kurus vēlāk pielāgojam. Šim solim ir pievienots spožuma moduļa svg fails.
Pēc tam vienkārši pielīmējiet sejas kopā, izņemot vienu, lai vēlāk varētu to atvērt, ievietojiet ķēdi iekšpusē un ievietojiet gaismas diodi korpusa caurumā (mēs izmantojam caurspīdīgu lenti, lai aizpildītu caurumu un izkliedētu gaismu, kā arī uzlīmētu gaismas diodi priekšā) no tā).
Tagad vienkārši pievienojiet akumulatoru, lai darbinātu savu Arduino, aizveriet korpusu, un jūsu modulis ir gatavs, un tam vajadzētu izskatīties labi:)
Ieteicams:
Led kontrole, izmantojot lietotni Blynk, izmantojot Nodemcu, izmantojot internetu: 5 soļi
Led kontrole, izmantojot lietotni Blynk, izmantojot Nodemcu, izmantojot internetu: Sveiki, visi šodien, mēs jums parādīsim, kā jūs varat kontrolēt LED, izmantojot viedtālruni internetā
DEEDU spožuma aktivitāte: 6 soļi
DEEDU spilgtuma aktivitāte: Šīs aktivitātes mērķis ir palielināt lietotāja jutību pret enerģijas patēriņu spilgtuma kontrolei. Šī aktivitāte ir paredzēta bērniem, kas vecāki par 9 gadiem, kuri spēj nolasīt un saprast indikatīvos spilgtuma mērījumus un
Kā pagatavot dronu, izmantojot Arduino UNO - Izveidojiet kvadkopteri, izmantojot mikrokontrolleru: 8 soļi (ar attēliem)
Kā pagatavot dronu, izmantojot Arduino UNO | Izveidojiet kvadrakopteru, izmantojot mikrokontrolleru: Ievads Apmeklējiet manu Youtube kanālu. Drone ir ļoti dārgs sīkrīks (produkts), ko iegādāties. Šajā rakstā es apspriedīšu, kā to pagatavot lēti ?? Un kā jūs varat izgatavot šādu par lētu cenu … Nu Indijā visi materiāli (motori, ESC
Bezvadu tālvadība, izmantojot 2,4 GHz NRF24L01 moduli ar Arduino - Nrf24l01 4 kanālu / 6 kanālu raidītāja uztvērējs kvadrakopteram - Rc helikopters - Rc lidmašīna, izmantojot Arduino: 5 soļi (ar attēliem)
Bezvadu tālvadība, izmantojot 2,4 GHz NRF24L01 moduli ar Arduino | Nrf24l01 4 kanālu / 6 kanālu raidītāja uztvērējs kvadrakopteram | Rc helikopters | Rc lidmašīna, izmantojot Arduino: lai vadītu Rc automašīnu | Kvadkopters | Drons | RC plakne | RC laiva, mums vienmēr ir nepieciešams uztvērējs un raidītājs, pieņemsim, ka RC QUADCOPTER mums ir nepieciešams 6 kanālu raidītājs un uztvērējs, un šāda veida TX un RX ir pārāk dārgi, tāpēc mēs to izgatavosim savā
TCP/IP savienojums, izmantojot GPRS: Kā nosūtīt datus uz serveri, izmantojot SIM900A moduli: 4 soļi
TCP/IP savienojums, izmantojot GPRS: Kā nosūtīt datus uz serveri, izmantojot SIM900A moduli: Šajā apmācībā es jums pastāstīšu par to, kā nosūtīt datus uz TCP serveri, izmantojot sim900 moduli. Mēs arī redzēsim, kā mēs varam saņemt datus no servera uz klientu (GSM modulis)