Turinys:

„Arduino Pro-mini“duomenų kaupiklis: 15 žingsnių
„Arduino Pro-mini“duomenų kaupiklis: 15 žingsnių

Video: „Arduino Pro-mini“duomenų kaupiklis: 15 žingsnių

Video: „Arduino Pro-mini“duomenų kaupiklis: 15 žingsnių
Video: CS50 2015 - Week 10 2024, Lapkritis
Anonim
„Arduino Pro-mini“duomenų kaupiklis
„Arduino Pro-mini“duomenų kaupiklis

Sukurkite atviro kodo „Pro-mini Arduino“duomenų kaupiklio instrukcijas

Atsakomybės apribojimas: šį dizainą ir kodą galima nemokamai atsisiųsti ir naudoti, tačiau jam visiškai netaikoma jokia garantija ar garantija.

Pirmiausia turiu padėkoti ir reklamuoti talentingus žmones, kurie įkvėpė šio duomenų kaupiklio idėją ir prisidėjo prie naudojamo kodo ir jutiklių. Pirma, duomenų kaupiklio idėja kilo iš labai gerai suplanuoto ir gerai paaiškinto (atsiprašome, kad mūsų pamoka nėra tokia gera) Edvardo Mallono duomenų kaupėjo: https://thecavepearlproject.org/2017/06/19/ arduin…

Antra, „Catnip Electronics“suprojektavo ir pagamino čia naudojamus atviro kodo dirvožemio drėgmės jutiklius, taip pat kodą/biblioteką jiems paleisti. Tai aukštos kokybės jutikliai ir labai tvirti. Žemiau pateikiama informacija, kur juos nusipirkti ir gauti jų paleidimo kodą (ačiū Ingo Fischer).

1 žingsnis: reikalingos medžiagos, įrankiai, įranga

Reikalingos medžiagos, įrankiai, įranga
Reikalingos medžiagos, įrankiai, įranga

Pro-mini „Arduino“lenta. Šiai programai naudojame atvirojo kodo (kaip ir visos mūsų dalys) Kinijoje pagamintus pro-mini klonus (5V, 16MHz, ATmega 326 mikroprocesorius) (1a pav.). Šias plokštes galima įsigyti „Aliexpress“, „Ebay“ir panašiose svetainėse už mažiau nei 2 USD. Tačiau kitos plokštės gali būti naudojamos taip pat lengvai (atkreipkite dėmesį į reikalingų jutiklių įtampos reikalavimus ir programos atminties reikalavimus).

SD kortelės ir realaus laiko laikrodžio (RTC) registravimo modulis, kurį sukūrė „Deek-Robot“(ID: 8122) (1b pav.). Šiame modulyje yra DS13072 RTC ir „micro-sd“kortelių skaitytuvas. Šios plokštės kainuoja mažiau nei 2 USD ir yra labai tvirtos.

„Arduino nano“(taip-„nano“) varžto gnybtų adapteris, taip pat išleido „Deek-Robot“, kurį galima įsigyti už mažiau nei 2 USD iš „Aliexpress“ar pan. (1c pav.). Kaip matote, mums tiesiog patinka „Aliexpress“.

22 gabaritų kieto gyslo izoliuota viela (1d pav.).

Duomenų kaupiklio dėžutė (1e pav.). Mes naudojame „tyrimams tinkamas“dėžutes, tačiau nebrangūs plastikiniai gaminiai puikiai tinka daugeliu atvejų.

Baterijų dėklas 4 AA NiMh baterijoms (1f pav.). Juos galima įsigyti „Aliexpress“už maždaug. Po 0,20 USD (taip - 20 centų). Nešvaistykite pinigų brangesniems akumuliatorių dėklams.

6V, apie 1W saulės kolektorius. Galima įsigyti „Aliexpress“už mažiau nei 2 USD.

Lituoklis, lydmetalis ir praeities tipo srautas.

Karštas klijų pistoletas.

2 žingsnis: Sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Statybai reikalingas laikas: nuo 30 iki 60 min.

Lituoti paruoškite nano gnybtų adapterį.

Šiam demonstravimui mes paruošime nano varžto gnybtų adapterį, kad būtų lengviau prijungti tris I2C dirvožemio drėgmės jutiklius. Tačiau, pasitelkus šiek tiek kūrybiškumo, varžtų gnybtai gali būti paruošti įvairiais būdais, kad būtų lengviau naudoti kitus įrenginius. Jei nežinote, kas yra I2C, apsilankykite šiose svetainėse:

howtomechatronics.com/tutorials/arduino/ho…

www.arduino.cc/en/Reference/Wire

Idėja naudoti nano varžtų adapterius buvo paimta iš nuostabaus Edvardo Mallono duomenų registravimo dizaino:

thecavepearlproject.org/2017/06/19/arduino…

Iškirpkite pėdsakus varžto gnybto gale tarp didelių ir mažų kaiščių 3, 5, 9, 10 ir 11 padėtyse (skaičiuojant nuo gnybto viršaus) (2 pav.). Šie pėdsakai atitinka etiketes „RST“, „A7“, „A3“, „A2“ir „A1“ant varžto gnybto. Pjaustyti pėdsakus yra daug lengviau, jei turite „Dremel“tipo įrankį, tačiau jei to nepadarysite, mažas peilis veiks lengvai. Nepjaukite savęs! Atkreipkite dėmesį, kad varžtų gnybto ir „pro-mini“etiketės nėra vienodos („nano“ir „pro-mini“turi kai kuriuos kaiščius skirtingose vietose). Tai vienas iš šio dizaino nepatogumų, tačiau, jei norite, pakankamai paprasta iš naujo pažymėti gnybtų plokštę.

Atsargiai (naudodami „Dremel“ar mažą peilį) nubraukite ploną epoksidinės plėvelės sluoksnį, esantį greta didelių 9, 10 ir 11 kaiščių (pažymėtas „A3“, „A2“, „A1“ant nano gnybto) (2 pav.). Po epoksidine danga esanti varinė danga yra įžeminta prie „Arduino pro-mini“plokštės. Vėliau šią atvirą sekciją lituosime prie gretimų kaiščių, taip užtikrindami tris įžemintus varžtus.

3 žingsnis: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Nupjaukite aštuonis 8 cm ilgio izoliuotus 22 gabarito laidus ir nuimkite maždaug 5 mm izoliaciją iš vieno galo ir 3 mm nuo kito galo. Rekomenduojame naudoti tvirtą laidą.

Paimkite keturis iš šių laidų, sulenkite vieną galą 90 laipsnių kampu (galą su 5 mm arba atvira viela) ir lydmetalį * per * (t.

1 laidas: dideli 3, 4 ir 5 kaiščiai (pažymėti „RST“, „5V“, „A7“ant nano gnybto). Šiuos tris varžtus sujungsime į tris VCC gnybtus (3 pav.).

4 žingsnis: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

2 viela: dideli 9, 10 ir 11 kaiščiai (pažymėti „A3“, „A2“, „A1“ant nano gnybto), taip pat anksčiau atidengta varinė danga. Naudokite daug lydmetalio. Nesijaudinkite, jei jis atrodo netvarkingas. Šiuos tris varžtus sujungsime į tris įžeminimo gnybtus (-) (4 pav.).

5 žingsnis: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

3 viela: dideli 13, 14 ir 15 kaiščiai (pažymėti „REF“, „3V3“, „D13“ant nano gnybto). Šiuos tris varžtus sujungsime į tris A5 SCL gnybtus, skirtus I2C ryšiams (5 pav.).

6 veiksmas: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

4 viela: dideli 28, 29 ir 30 kaiščiai (pažymėti „D10“, „D11“, „D12“ant nano gnybto). Šiuos tris varžtus sujungsime į tris A4 formato SDA gnybtus, skirtus I2C ryšiams (6 pav.).

7 žingsnis: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Lituokite po vieną laidą prie kiekvieno mažo (dar kartą sakau - mažo) kaiščio 9, 10 ir 11 (pažymėtas „A3“, „A2“, „A1“ant nano gnybto) (7 pav.).

8 žingsnis: Sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Lituoklis

likusį laidą prie didelio kaiščio 22 (pažymėtas „D4“ant nano gnybto) (8 pav.).

9 veiksmas: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Lituokite laisvą kiekvieno laido galą į atitinkamas kaiščių angas „Deek-Robot“duomenų kaupiklio skydelyje (9 pav.):

didelis kaištis „RST+5V+A7“prie 5V kaiščio skylės

didelis kaištis „A3+A2+A1“prie GND kaiščio skylės

mažas kaištis „A3“prie SCK kaiščio angos

mažas kaištis „A2“prie MISO kaiščio angos

mažas kaištis „A1“prie MOSI kaiščio angos

didelis kaištis „REF+3V3+D13“prie SCL kaiščio angos

didelis kaištis „D10+D11+D12“prie SDA kaiščio angos

ir didelis kaištis „D4“prie CS kaiščio angos

10 veiksmas: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Atminkite, kad čia pateikiame nano etiketes, kad būtų lengviau prijungti. Įdėjus į varžto gnybtą, šios etiketės neatitiks kaiščių, esančių „pro-mini“plokštėje.

Lituokite du 6 cm ilgio laidus į A4 ir A5 kaiščius iš apačios pro-mini plokštės (10 pav.).

11 veiksmas: sukurkite instrukcijas

Sukūrimo instrukcijos
Sukūrimo instrukcijos

Lituokite kaiščius prie „pro-mini“plokštės ir įstatykite į užbaigtą varžtą. Nepamirškite įkišti A5 ir A4 laidų į nano plokštės D12 (A4) ir D13 (A5) gnybtus. Visada atminkite, kad kaiščiai ant „Arduino“ir varžtų gnybtų etikečių nebus tiksliai suderinti („pro-mini“ir „nano“plokštės turi skirtingą kaiščių išdėstymą).

Į registravimo plokštę įdėkite CR 1220 bateriją ir „micro-sd“kortelę. Mes naudojame SD korteles, kurių talpa mažesnė nei 15 GB, nes turėjome problemų su didesnės talpos kortelėmis. Kortelių formatą naudojame FAT32 formatu.

Galiausiai uždenkite visas lituotas jungtis ir karštais klijais pritvirtinkite visus laidus prie gnybtų plokštės.

Dabar plokštė yra paruošta naudoti. Užbaigta lenta dabar turėtų atrodyti taip: 11 pav.

12 veiksmas: Duomenų kaupiklio nustatymas naudoti lauke

Duomenų kaupiklio nustatymas naudoti lauke
Duomenų kaupiklio nustatymas naudoti lauke

Kad jūsų duomenų kaupiklis nevirstų duomenų kaupiklio dėžutėje ir kad būtų galima lengvai pasiekti ryšio kaiščius, rekomenduojame sukurti stabilizavimo platformą. Platforma taip pat palaiko elektroniką bent kelis centimetrus nuo dėžutės apačios, jei užtvindytų. Mes naudojame 1,5 mm akrilo lakštą ir prijungiame jį prie duomenų kaupiklio 4 mm varžtais, veržlėmis ir poveržlėmis (12 pav.).

13 žingsnis:

Vaizdas
Vaizdas

Mes naudojame atviro kodo I2C talpos tipo dirvožemio drėgmės jutiklius. Mes juos perkame iš „Catnip Electronics“(svetainė žemiau). Juos galima įsigyti „Tindie“ir kainuoja apie 9 USD už standartinį modelį ir apie 22 USD už tvirtą modelį. Lauko eksperimentuose naudojome tvirtą versiją. Jie yra labai tvirti ir siūlo panašų našumą, kaip ir daug brangesnės komercinės alternatyvos (mes nieko neįleisime į Front Street, bet tikriausiai žinote įprastus įtariamuosius).

„Catnip Electronics I2C“jutiklis, pateiktas šioje pamokoje:

pirkite čia:

arduino biblioteka:

arduino biblioteka „Github“:

Pritvirtinkite geltoną laidą iš I2C jutiklio prie vieno iš A5 varžtų gnybtų. Prijunkite žalią laidą iš I2C jutiklio prie vieno iš A4 gnybtų. Raudoni ir juodi laidai iš jutiklio eina atitinkamai į VCC ir įžeminimo gnybtus.

Įdėkite keturias įkrautas NiMh baterijas į baterijų dėklą. Pritvirtinkite raudoną (+) laidą prie duomenų kaupiklio RAW kaiščio (t. Y. RAW kaiščio, esančio „pro-mini“plokštėje) (bet žr. Toliau pateiktą skyrių „Energijos taupymas“). Pritvirtinkite juodą (-) laidą prie vieno duomenų kaupiklio įžeminimo kaiščio.

Ilgalaikiam lauko naudojimui prie registratoriaus pritvirtinkite 6V 1W saulės kolektorių. Saulės kolektorius bus naudojamas duomenų kaupikliui paleisti ir akumuliatoriui įkrauti dienos metu. Jis veikia net esant debesuotam dangui (nors sniegas yra problema).

Pirma, lituokite ~ 2A Schottky diodą ant teigiamo saulės skydelio gnybto. Tai neleis srovei tekėti atgal į saulės kolektorių, kai nėra saulės spindulių. Nepamirškite to padaryti, kitaip akumuliatoriai greitai išsikraus.

Pritvirtinkite (+) gnybtą nuo saulės kolektoriaus (ty diodo) prie registratoriaus RAW kaiščio (ty RAW kaiščio „pro-mini“) ir (-) terminalą nuo saulės kolektoriaus prie žemės registratoriaus terminalai.

Ši sąranka leidžia integruotam įtampos reguliatoriui, esančiam „pro-mini“plokštėje, reguliuoti tiek saulės kolektoriaus, tiek akumuliatoriaus įtampą. Dabar … pasakysiu, kad tai nėra idealus įrenginys NiMh akumuliatorių įkrovimui (sunku net ir puikiomis sąlygomis). Tačiau mūsų naudojamos saulės baterijos išleidžia apie 150 mA esant saulės spinduliams, o tai atitinka maždaug 0,06 C (C = akumuliatoriaus talpa), o tai mums pasirodė esanti paprasta, saugi ir patikima įkrovimo metodika mūsų medkirčiams. Pas mus jie taip bėgo lauke iki metų Kolorado valstijoje. Tačiau prašome žiūrėti atsakomybės atsisakymą - mūsų registratoriams visiškai netaikoma jokia garantija ar garantija. Kiekvieną kartą lauke naudodami baterijas ar saulės kolektorius rizikuojate sukelti gaisrą. Būk atsargus. Naudokite šį dizainą savo rizika!

Duomenų kaupiklį ir akumuliatorių pritvirtinkite dėžutėje, kuri yra atspari oro sąlygoms (13 pav.).

14 žingsnis: energijos taupymas

Dažnai išjungiame maitinimo šviesos diodus tiek iš „pro-mini“, tiek iš duomenų kaupiklio plokštės. Šių šviesos diodų pėdsakus galima kruopščiai nupjauti skutimosi peiliuku (žr. Nuorodą žemiau). Kiekvienas šviesos diodas sunaudoja apie 2,5 mA srovės esant 5 V įtampai (nuoroda žemiau). Tačiau daugeliui programų šis energijos nuostolis bus nereikšmingas ir tyrėjas gali tiesiog palikti maitinimo šviesos diodus tokius, kokie jie yra.

www.instructables.com/id/Arduino-low-Proje…

Mes taip pat valdome biblioteką „LowPower.h“(„rocketscream“; nuoroda pateikta žemiau), kuri yra labai paprasta naudoti ir žymiai sumažina energijos suvartojimą tarp registravimo intervalų.

github.com/rocketscream/Low-Power

Pašalinus maitinimo šviesos diodus iš „pro-mini“ir duomenų registravimo plokštės bei paleidus „LowPower.h“biblioteką (žr. Žemiau esantį „kodą“), registratorius sunaudos maždaug. 1 mA srovė esant 5 V įtampai miegant. Veikdamas tris I2C jutiklius vienu metu, registratorius miego režimu (tarp mėginių ėmimo iteracijų) sunaudoja apie 4,5 mA esant 5 V įtampai ir apie 80 mA imant mėginius. Tačiau kadangi mėginių ėmimas vyksta labai greitai ir gana retai, 80 mA srovės stiprumas reikšmingai neprisideda prie akumuliatoriaus išeikvojimo.

Nenaudojant saulės baterijų galima sutaupyti daugiau energijos, prijungus (+) akumuliatoriaus gnybtą tiesiai prie registratoriaus VCC kaiščio. Tačiau jungiantis tiesiai prie VCC, o ne prie RAW kaiščio, išvengiama įmontuoto įtampos reguliatoriaus, o srovė į jutiklius nebus beveik tokia pat pastovi, kokia būtų, jei ji būtų nukreipta per reguliatorių. Pavyzdžiui, įtampa sumažės, kai akumuliatorius išsikraus per dienas ir savaites, ir daugeliu atvejų dėl to reikšmingai pasikeis jutiklių rodmenys (priklausomai nuo to, kokius jutiklius naudojate). Nejunkite saulės kolektoriaus tiesiai prie VCC.

15 žingsnis: kodas

Pridedame du eskizus, kaip paleisti duomenų kaupiklį su trimis I2C dirvožemio drėgmės jutikliais. Pirmasis eskizas „logger_sketch“ims mėginius iš kiekvieno jutiklio ir registruos talpos ir temperatūros duomenis į SD kortelę kas 30 minučių (bet vartotojas gali lengvai juos pakeisti). Antrasis eskizas „ChangeSoilMoistureSensorI2CAddress“leis vartotojui priskirti skirtingus I2C adresus kiekvienam jutikliui, kad juos vienu metu galėtų naudoti duomenų kaupėjas. „Logger_sketch“adresus galima pakeisti 25, 26 ir 27 eilutėse. Jutikliui paleisti reikalingas bibliotekas rasite „Github“.

Rekomenduojamas: