Sisukord:
- Samm: komponentide kogumine
- 2. samm: meie kogu installimine
- Samm: vajalike raamatukogude installimine
- 4. samm: mooduli kokkupanek
- 5. samm: heledusmooduli eskiisi kirjutamine
- 6. samm: meie AtHome mooduli testimine
- 7. samm: mooduli jaoks korpuse ehitamine
Video: Ehitage AtHome'iga heledusmoodul: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
AtHome on täielikult avatud lähtekoodiga ja avatud riistvaraga õpilasprojekt, mille on koostanud Epitechi grupp AtHome, mille eesmärk on välja töötada ühendatud lahendus mitmest individuaalsest andurimoodulist, mis suhtlevad ise hostitud andmebaasiga, paljastades nutitelefonirakenduse ja veebirakenduse toitmiseks kasutatava API. Moodulid jälgivad maja sisekeskkonda ja suudavad anda kasutajale visuaalset tagasisidet, alates rohelisest (hea) kuni punase (halb) ja edastatud andmed on kasutaja jaoks nähtavad mooduli jadaühenduse kaudu või meie rakendusi, kui te neid kasutate.
Kuigi see projekt on veel aktiivselt arendamisel, on meie moodulite põhifunktsioonid nüüd valmis ja väidetavalt hõlpsasti kasutatavad kohandatud moodulite väljatöötamiseks. Seetõttu soovitan teil selle heledusmooduli näite abil vaadata, kuidas oma lihtsat moodulit luua.
Need moodulid on põhimõtteliselt ehitatud Arduino-ühilduva plaadiga (osalisest Arduino tuumast peaks piisama, kui sellel on voog, traat ja UART-voo tugi), LED (punane või RGB), mis probleemi korral punaseks muutub, andur, toiteallikas (seina toiteallikas või aku) ja laserlõigatud ümbris.
Jah, see pole kindlasti uus, anduriprojekte on palju, kuid loodame, et teid aitavad ka muud funktsioonid, nagu terviseprobleemide avastamine, suhtlemine ja teabe salvestamine ise hostitud serverisse ja visualiseerimisrakendus. Või kui soovite lihtsalt oma maja jälgida, lihtsaid projekte või mitte vähem huvitavaid:)
Samm: komponentide kogumine
Selle projekti jaoks vajate AtHome mooduli loomiseks mõnda komponenti:
- 1x Arduino-ühilduv plaat: siin kasutan Arduino UNO-d (kuid see töötab ka teiste tahvlitega nagu TI Launchpad ja ESP8266 plaadid)
- 1x andur: kasutan heledusandurit TSL2561 (toetatud andurite loend on saadaval meie raamatukogu dokumentatsioonis)
- 1x LED: kasutan siin Grove Chainable RGB LED -i (kuid see võib olla ka lihtne punane LED või NeoPixel)
- Duponti juhtmed
Ühilduvate komponentide loend on saadaval meie projekti dokumentatsioonis.
2. samm: meie kogu installimine
Meie kogu installimiseks peate alla laadima meie hoidlast (avaldame selle hiljem Arduino IDE loendis ja PlatformIO -s) selle lingiga:
gitlab.com/Woodbox/Framework/-/jobs/artifacts/master/download?job=deploy
Seejärel minge Arduino IDE -sse ja valige "Sketch> Include Library> Add. ZIP Library…". Seejärel valige ZIP -fail nimega "artifacts.zip" ja klõpsake "OK".
Samm: vajalike raamatukogude installimine
Töötamiseks vajab meie raamatukogu teie arvutisse installimist veel mõnda raamatukogu:
- Arkhipenko TaskScheduler raamatukogu
- SEEED Studio Grove digitaalse valgusanduri raamatukogu
- SEEED Studio Grove Chainable RGB LED raamatukogu
- Adafruit NeoPixeli raamatukogu
Saate need installida Arduino IDE raamatukoguhalduri kaudu, minnes "Visand"> "Kaasa raamatukogu"> "Halda teeke …".
Avanevas uues aknas kirjutage valgesse otsinguribale selle teegi nimi, mida soovite installida, seejärel klõpsake selle plokki. Ilmub nupp "Install", peate lihtsalt sellel klõpsama ja IDE laadib selle alla ja installib selle teie jaoks.
4. samm: mooduli kokkupanek
Alustame anduriga. Ühendage juhtme kaudu TSL2561 VCC tihvt Arduino 5 V kontaktiga, anduri GND tihvt ühe Arduino GND kontaktiga ja anduri SDA ja SCL tihvtid Arduino SDA ja SCL tihvtidega. Nüüd olete valmis!
Nüüd ühendage Grove Chainable RGB LED VCC tihvt Arduino 5V kontaktiga ja LED GND tihvt Arduino teise GND -ga. Kui olete Arduino ainult ühe 5V pinina, saate leivaplaadi abil ühendada Arduino 5v leivaplaadi + reaga ja ühendada kõik selle komponendid 5V nööpnõelad selle külge või jootma need kokku ribatükil või kasutage wago pistikuid või mida iganes soovite. Nüüd ühendage oma LED -i CI -tihvt Arduino tihvtiga 7 ja LED -i DI -pistik oma Arduino tihvtiga 8. Kui teil sellist LED-i pole, siis ärge muretsege, vaid väikese koodimuudatusega on võimalik kasutada Arduino plaadi sisseehitatud või klassikalist LED-i.
5. samm: heledusmooduli eskiisi kirjutamine
Loome uue visandi ja kirjutame oma mooduli koodi.
Kui teid ei huvita visandi selgitus, saate selle lihtsalt kopeerida ja kleepida oma Arduino IDE -sse:
#kaasake
kasutades LightModule = AtHomeModule; Stream *stream = {& Serial, nullptr}; GroveChainableLED:: Pins grovePins = {7, 8}; GroveChainableLED led (& grovePins); LightModule *moodul = LightModule:: getInstance (); void setup () {// pange oma seadistuskood siia, et seda korra käivitada: Serial.begin (9600); moodul-> setStreams (ojad); GroveDigitalLightSensor *lightSensor = uus GroveDigitalLightSensor (); moodul-> setSensor (lightSensor); moodul-> setDisplay (& led); moodul-> seadistamine (); } void loop () {// pange siia oma põhikood, et seda korduvalt käitada: module-> run (); }
Kui soovite aru saada, mida see kood teeb, võite lugeda järgmist või kui te pole huvitatud, võite hüpata otse järgmisele sammule.
Alustuseks peame oma visandisse kaasama oma raamatukogu, kirjutades visandi ülaossa selle rea:
#kaasake
Nüüd peame looma kasutatava mooduliobjekti varjunime. Näete seda karbina, millel on mitu nuppu selle komponentide muutmiseks, käivitamiseks, peatamiseks jne … Kuna see on malli koostatud kast (nagu tavaline mall, mida kasutame projektidena inimestena, on sellel stardibaas ja Arduino koostaja ehitab lõpliku koodi talle antud parameetrite alusel), mis määratleb anduri väärtust tähistava tüübi ja andurite väärtuste arv, mida soovime mällu hoida, on see nimega määratud ja tavaliselt tuleks seda korrata iga kord, kui seda kasutada soovime. Mis on natuke tüütu, seetõttu seostame selle kasti täisnimega uue nime, varjunime.
Oletame näiteks, et ma tahan, et selle kasti nimi oleks "LightModule", kuna seda kasutatakse heleduse jälgimise mooduli rakendamiseks ja ma tahan hoida ainult 1 väärtust korraga. Heledust esindab luksides lahutamatu tüübina meie TSL2561 andur, mida arvutid tähistavad uint16_t -na. Meie varjunimi näeb välja selline:
kasutades LightModule = AtHomeModule;
märksõna "kasutamine" tähendab, et me loome varjunime ja nimi, mille me sellele vahetult pärast anname, vastab märgile "=" järgnevale järjestusele.
"AtHomeModule" on selle kasti tegelik nimi, millele anname uue nime ning parameetrid, mis määravad väärtuste esituse ja mällu salvestatud väärtuste arvu, on loetletud "" vahel.
Nüüd, kui kasutame hiljem nime "AtHomeModule", teab Arduino, et see viitab täisnimele "AtHomeModule".
Kui soovite, et teie kast hoiaks mällu 5 väärtust, mitte 1, peate lihtsalt asendama "1" väärtusega "5" ja Arduino loob teile teist tüüpi kasti, mis suudab teha seda, mida soovite. Pange aga tähele, et kui moodul on programmeeritud saatma oma väärtused enne, kui on aega anduri 5 väärtust tõhusalt mõõta, ei näe te kunagi 5 neist saadetud, kuna see saadab pärast viimast üleslaadimist ainult uued väärtused.
Järgmisena peame looma kursorite massiivi, mis sisaldavad näpunäiteid Arduino voogudele, mida moodul kasutab suhtlemiseks ja mille lõpetab alati võtmetöötlus "nullptr". Siin kasutan ainult Arduino "jada" voogu, mis suhtleb arvutiga USB -pordi kaudu, nii et massiiv näeb välja selline:
Stream *stream = {& Serial, nullptr};
Märk "*" tähendab, et tüüp on osuti (elemendi asukoht, mitte element ise) ja sulgud "" tähendavad Arduino keeles massiivi, nii et saame panna mitu väärtust.
Järgmisena peame looma oma LED -i. Selleks peame kirjutama järgmised kaks rida;
GroveChainableLED:: Pins grovePins = {7, 8};
GroveChainableLED led (& grovePins);
Kui teil pole Grove RGB LED -i, kuid soovite siiski visuaalset tagasisidet, saate seda teha eskiisi lihtsa muutmisega. Asendage kaks eelmist rida selle reaga:
Ühevärviline LED -valgusdiood (LED_BUILTIN);
Selles konfiguratsioonis süttib sisseehitatud roheline valgusdiood seni, kuni jälgitav väärtus on tervisele sobiv, ja kustub, kui see ei ole ühendatud. Kui soovite, et see lülituks sisse, kui see pole ühendatud (kuna kasutate näiteks tihvti 13 rohelise asemel punast LED -i), võite selle asemel kasutada järgmist rida:
Ühevärviline LED -valgusdiood (LED_BUILTIN, tõene);
Järgmine samm on luua meie moodul ise. See on tehtud esimest korda, kui saame selle asukoha mällu, helistades meetodile "getInstance".
LightModule *moodul = LightModule:: getInstance ();
Seejärel peame seadistama parameetrid Arduino funktsioonis "setup ()", alustades "Serial" pordi lähtestamisega nagu tavaliselt Arduino visanditel:
Seriaalne algus (9600);
Loome valgusanduri, kirjutades selle rea:
GroveDigitalLightSensor *lightSensor = uus GroveDigitalLightSensor ();
Seejärel käskime oma moodulil kasutada nende kaudu suhtlemiseks meie Arduino Streami näpunäidete massiivi:
moodul-> setStreams (ojad);
Samuti ütleme oma moodulile, et see kasutaks meie valgusandurit valguse intensiivsuse jälgimiseks, kui moodul asub:
moodul-> setSensor (lightSensor);
Me ütleme oma moodulile, et ta kasutaks meie LED -i, et anda meile visuaalset tagasisidet:
moodul-> setDisplay (& led);
Lõpuks ütleme oma moodulile, et see on valmis tegema kõiki sisemisi konfiguratsioone, mida ta vajab, helistades oma seadistusfunktsioonile:
moodul-> seadistamine ();
Meie viimane samm on nüüd helistada meie mooduli funktsioonile "run ()", mis on loodud kutsuma Arduino funktsiooni "loop" igal iteratsioonil, kirjutades selle rea funktsiooni "loop" sisse:
moodul-> run ();
Nüüd on meie visand lõpuks valmis Arduinosse üles laadima ja meie moodulit testima!
6. samm: meie AtHome mooduli testimine
Eskiisi Arduinosse üleslaadimiseks valige oma Arduino UNO plaat, valides "Tööriistad"> "Port"> "[COMx või/dev/x] (Arduino/Genuino UNO)".
Viimase asjana klõpsake eskiisi oma tahvlile üleslaadimiseks lihtsalt nuppu "Laadi üles" (ringinupp, millel on nool paremale, tööriistariba teine ikoon).
See on tehtud! Nüüd peaksite moodul töötama ja saatma väärtused arvutisse, mis on nähtav Arduino jadamonitoris. Saate seda kontrollida, avades menüüs "Tööriistad" Arduino "jadamonitori" ja teil peaks olema väljund, mis näeb välja nagu selle sammu teine tiitlipilt:)
7. samm: mooduli jaoks korpuse ehitamine
Saate mooduli jaoks lihtsa karbikarbi ehitada, lõigates selle laseriga 3 mm vineerplaadile.
Karbikarpide valmistamiseks kasutame makercase'i soovitud mõõtmetega malli valmistamiseks, mida hiljem kohandame. Selle sammu juurde on lisatud heledusmooduli svg -fail.
Seejärel liimige näod kokku, välja arvatud üks, et saaksite selle hiljem avada, lülitage oma vooluring sisse ja kleepige LED korpuse auku (me kasutame augu täitmiseks läbipaistvat kleeplinti ja hajutame valgust, et LED -e ees kinni hoida) sellest).
Nüüd lisage Arduino toiteks aku, sulgege ümbris ja moodul on valmis ning peaks hea välja nägema:)
Soovitan:
Ehitage Arduino MIDI -kontroller: 5 sammu (piltidega)
Ehitage Arduino MIDI -kontroller: Tere kõigile! Selles juhendis näitan teile, kuidas luua oma Arduino toitega MIDI -kontroller. MIDI tähistab muusikariistade digitaalset liidest ja see on protokoll, mis võimaldab arvutitel, muusikariistadel ja muul riistvaral suhelda
Kuum iste: ehitage värvimuutev soojendusega padi: 7 sammu (piltidega)
Kuum iste: ehitage värvi vahetav soojendusega padi: kas soovite end külmadel talvepäevadel röstiselt hoida? Hot Seat on projekt, mis kasutab kahte kõige põnevamat e -tekstiili võimalust - värvimuutus ja kuumus! Ehitame istmepadja, mis soojeneb, ja kui see on valmis minema, näitab see
Ehitage kantav liikumisjälgija (BLE Arduinost kohandatud Android Studio rakendusse): 4 sammu
Ehitage kantav liikumisjälgija (BLE Arduinost kohandatud Android Studio rakendusse): Bluetooth Low Energy (BLE) on väikese energiatarbega Bluetooth -side vorm. Kantavad seadmed, nagu nutikad rõivad, mida ma aitan Predictive Wearis disainida, peavad võimaluse korral piirama energiatarbimist, et pikendada aku kasutusaega, ja sageli kasutama BLE -d
Ehitage oma Interneti-juhitav video voogesitusrobot Arduino ja Raspberry Pi abil: 15 sammu (piltidega)
Arduino ja Raspberry Pi abil saate luua oma Interneti-juhitava videovoo robot: olen @RedPhantom (teise nimega LiquidCrystalDisplay / Itay), 14-aastane Iisraeli õpilane, kes õpib Max Sheini kõrgkooli kõrgkoolis. Teen selle projekti kõigile õppimiseks ja jagamiseks! Võimalik, et olete mures
Kujundage ja ehitage oma portatiivne BLUETOOTH -kõlar CUM POWER BANK: 15 sammu (koos piltidega)
Kujundage ja ehitage oma kaasaskantav BLUETOOTH -kõlarite toitepank: Hei kõik, nii et siin on õpetatav inimestele, kes armastavad muusikat ja ootavad oma kaasaskantavate Bluetooth -kõlarite kujundamist ja ehitamist. See on hõlpsasti ehitatav kõlar, mis kõlab hämmastavalt, näeb välja ilus ja piisavalt väike, et