Obsah:

Používanie Arduina pre občiansku vedu!: 14 krokov (s obrázkami)
Používanie Arduina pre občiansku vedu!: 14 krokov (s obrázkami)

Video: Používanie Arduina pre občiansku vedu!: 14 krokov (s obrázkami)

Video: Používanie Arduina pre občiansku vedu!: 14 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, Jún
Anonim
Image
Image
Pssst, Aký je rozdiel medzi občianskou vedou a
Pssst, Aký je rozdiel medzi občianskou vedou a

Veda nám umožňuje klásť si najaktuálnejšie otázky a skúmať najrôznejšie kuriozity. S trochou premýšľania, tvrdej práce a trpezlivosti môžeme svoje skúmania využiť na vybudovanie lepšieho porozumenia a ocenenia zložitého a krásneho sveta okolo nás.

Tento tutoriál vás naučí používať mikrokontrolér Arduino (uno), používať rôzne typy senzorov a zhromažďovať a vizualizovať údaje. Po ceste postavíme tri projekty: sklopný spínač, snímač teploty a vlhkosti a svetelný senzor!

Úroveň obtiažnosti: začiatočník

Čas na čítanie: 20 min

Čas zostavenia: závisí od vášho projektu! (Projekty v tomto návode trvajú asi 15 - 20 minút)

Krok 1: Pssst, Aký je rozdiel medzi občianskou vedou a „oficiálnou vedou“?

Najväčší rozdiel je v tom, že občianska veda je, ako rád hovorím, „ručne vlnitá“, čo znamená, že existuje veľa chýb a neistôt a neexistuje prísny postup na ich identifikáciu. Z tohto dôvodu sú závery dosiahnuté prostredníctvom občianskej vedy oveľa menej presné ako vedecko-vedné a nemalo by sa na ne spoliehať pri vytváraní vážnych/život meniacich/život ohrozujúcich tvrdení alebo rozhodnutí.*

To znamená, že občianska veda je skvelým spôsobom, ako vybudovať základné porozumenie všetkým druhom fascinujúcich vedeckých javov, a je dosť dobrý na väčšinu každodenných aplikácií.

*Ak robíte občiansku vedu a zistíte niečo potenciálne nebezpečné (napr. Vysoké hladiny olova vo vode), informujte o tom svojho pedagóga (ak je k dispozícii) a požiadajte o pomoc príslušné orgány a profesionálov.

Krok 2: Čo je Arduino ??

Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??
Čo je Arduino ??

Arduino je doska mikrokontroléra a integrované vývojové prostredie (IDE), čo je fantastický spôsob, ako povedať „kódovací program“. Začiatočníkom vrelo odporúčam dosky Arduino Uno, pretože sú super robustné, spoľahlivé a výkonné.

Dosky Arduino sú dobrou voľbou pre projekty občianskej vedy, pretože majú veľa vstupných pinov na čítanie v analógových aj digitálnych senzoroch (viac sa k tomu dostaneme neskôr).

Samozrejme, môžete použiť ďalšie mikrokontroléry pre občiansku vedu v závislosti od vašich (alebo vašich) potrieb, schopností a úrovne pohodlia. Tu je prehľad mikrokontrolérov, ktoré vám pomôžu rozhodnúť sa, čo je pre vás najlepšie!

Ak chcete flashovať alebo naprogramovať dosku Arduino, zapojte ju cez USB a potom:

1. V časti Nástroje -> Dosky vyberte typ Arduina, ktoré používate. (Foto 2)

2. Vyberte port (alias miesto, kde je pripojený k počítaču). (Foto 3)

3. Kliknite na tlačidlo Odovzdať a skontrolujte, či sa nahrávanie dokončí. (Foto 4)

Krok 3: Nástroje a materiály

Nástroje a materiály
Nástroje a materiály

Ak práve začínate, získanie súpravy je rýchly a ľahký spôsob, ako získať veľa súčiastok naraz. Súprava, ktorú používam v tomto návode, je štartovacia súprava Elegoo Arduino.*

Nástroje

  • Arduino Uno
  • Kábel USB A na B (aka kábel tlačiarne)
  • Prepojovacie vodiče

    • 3 muži na muža
    • 3 muži-ženy
  • Breadboard

    Voliteľné, ale odporúčané, aby vám uľahčili život a urobili ho zábavnejším:)

Materiály

Na projekty zahrnuté v tomto návode budete potrebovať tieto diely zo štartovacej súpravy Elegoo Arduino:

  • Naklápací spínač
  • Senzor teploty a vlhkosti DTH11
  • LED
  • 100 ohmový odpor

*Úplné zverejnenie: Kupujem si tie isté súpravy na workshopy, ale súpravu použitú v tomto návode darovali milí ľudia z Elegoo.

Krok 4: Aké druhy senzorov môžeme použiť?

Aké druhy senzorov môžeme použiť?
Aké druhy senzorov môžeme použiť?

Pri navrhovaní vedeckého experimentu zvyčajne začíname otázkou: Koľko CO2 rastliny absorbujú za deň? Aká je nárazová sila pri skoku? Čo je vedomie ??

Na základe našej otázky potom môžeme identifikovať, čo chceme merať, a urobiť malý prieskum, aby sme zistili, aký senzor môžeme použiť na zber údajov (aj keď zozbieranie údajov pre poslednú otázku môže byť niekedy trochu zložité!).

Pri práci s elektronikou existujú dva hlavné typy dátových signálov senzorov: digitálny a analógový. Na fotografii sú prvé dva rady dielov všetky digitálne snímače, zatiaľ čo horné dva rady sú analógové.

Existuje mnoho rôznych typov digitálnych senzorov a s niektorými je náročnejšie pracovať ako s inými. Pri vykonávaní výskumu pre váš občiansky vedecký projekt vždy skontrolujte, ako senzor poskytuje údaje (srsly tho), a uistite sa, že pre tento konkrétny senzor nájdete knižnicu (Arduino).

V troch projektoch uvedených v tomto návode použijeme dva typy digitálnych senzorov a jeden analógový senzor. Poďme sa učiť!

Krok 5: Digitálne snímače! Časť 1: Ľahké

Digitálne snímače! Časť 1: Ľahké!
Digitálne snímače! Časť 1: Ľahké!
Digitálne snímače! Časť 1: Ľahké!
Digitálne snímače! Časť 1: Ľahké!

Väčšina senzorov, ktoré použijete, vydáva digitálny signál, čo je signál, ktorý je buď zapnutý alebo vypnutý.* Na znázornenie týchto dvoch stavov používame binárne čísla: signál zapnutia je daný hodnotou 1 alebo pravda, pričom hodnota vypnutá je 0, alebo False. Ak by sme nakreslili obrázok, ako vyzerá binárny signál, bola by to štvorcová vlna ako na obrázku 2.

Existuje niekoľko digitálnych senzorov, ako sú prepínače, ktoré sa veľmi ľahko a ľahko merajú, pretože buď je tlačidlo stlačené a my dostaneme signál (1), alebo nie je stlačené a my nemáme signál (0). Senzory zobrazené v dolnom rade na prvej fotografii sú jednoduché typy zapnutia/vypnutia. Senzory v hornom rade sú o niečo zložitejšie a sú zakryté po našom prvom projekte.

Prvé dva projekty v tomto návode vás naučia používať oba typy! Pokračujeme v budovaní nášho prvého projektu !!

*Zapnutý znamená elektrický signál vo forme elektrického prúdu a napätia. Vypnuté znamená žiadny elektrický signál!

Krok 6: Projekt 1: Digitálny snímač prepínača naklonenia

Projekt 1: Digitálny snímač prepínača naklonenia
Projekt 1: Digitálny snímač prepínača naklonenia
Projekt 1: Digitálny snímač prepínača naklonenia
Projekt 1: Digitálny snímač prepínača naklonenia
Projekt 1: Digitálny snímač prepínača naklonenia
Projekt 1: Digitálny snímač prepínača naklonenia

Na tento prvý projekt použijeme spínač naklonenia, ten čierny valcový snímač s dvoma nohami! Krok 1: Vložte jednu nohu spínača naklonenia do digitálneho kolíka Arduino 13 a druhú nohu do kolíka GND hneď vedľa kolíka 13. Orientácia nevadí.

Krok 2: Napíšte náčrt, ktorý načíta a vytlačí stav Digital Pin 13

Alebo môžete použiť iba ten môj!

Ak s kódovaním ešte len začínate, prečítajte si komentáre, aby ste lepšie pochopili, ako skica funguje, a skúste zmeniť niektoré veci, aby ste zistili, čo sa stane! Je v poriadku rozbíjať veci, je to skvelý spôsob, ako sa učiť! Kedykoľvek si môžete súbor znova stiahnuť a začať odznova:)

Krok 3: Ak chcete zobraziť svoje aktuálne údaje, kliknite na tlačidlo Sériový monitor (foto 2)

..aaaa to je ono! Teraz môžete pomocou spínača naklonenia merať orientáciu! Nastavte to tak, aby zavolalo vaše mačiatko, keď niečo zrazí, alebo ho použite na sledovanie pohybu vetiev stromu počas búrok!.. & medzi týmito dvoma extrémami sú pravdepodobne aj ďalšie aplikácie.

Krok 7: Digitálne snímače! Časť 2: PWM a sériová komunikácia

Digitálne snímače! Časť 2: PWM a sériová komunikácia
Digitálne snímače! Časť 2: PWM a sériová komunikácia
Digitálne snímače! Časť 2: PWM a sériová komunikácia
Digitálne snímače! Časť 2: PWM a sériová komunikácia
Digitálne snímače! Časť 2: PWM a sériová komunikácia
Digitálne snímače! Časť 2: PWM a sériová komunikácia

Existuje mnoho spôsobov, ako vytvárať komplexnejšie digitálne signály! Jedna metóda sa nazýva Pulse Width Modulation („PWM“), čo je fantastický spôsob, ako povedať signál, ktorý je určitý čas zapnutý a na určitý čas vypnutý. Servomotory (ktoré je možné použiť na meranie polohy) a ultrazvukové snímače sú príkladmi senzorov, ktoré používajú signály PWM.

Existujú aj snímače, ktoré pomocou sériovej komunikácie odosielajú údaje po jednom bite alebo binárnej číslici. Tieto snímače vyžadujú určitú znalosť čítania technických listov a môžu byť veľmi náročné, ak práve začínate. Našťastie bežné sériové senzory budú mať knižnice kódov* a ukážkové programy, z ktorých budete môcť čerpať, takže stále môžete dláždiť niečo funkčné. Viac podrobností o sériových komunikačných protokoloch presahuje rámec tohto tutoriálu, ale tu je skvelý zdroj sériovej komunikácie od SparkFun, kde sa dozviete viac!

Na tento ukážkový projekt použime snímač teploty a vlhkosti (DHT11)! Jedná sa o malý modrý štvorec s dierami a 3 kolíkmi.

Najprv budeme potrebovať niekoľko špeciálnych knižníc pre snímač DHT11: knižnicu DHT11 a knižnicu Adafruit Unified Sensor. Na inštaláciu týchto knižníc (a väčšiny ostatných knižníc Arduino):

Krok 1: Otvorte správcu knižnice Arduino tak, že prejdete na Skica -> Knižnice -> spravovať knižnicu (foto 2)

Krok 2: Nainštalujte a aktivujte knižnicu DHT vyhľadaním „DHT“a potom kliknutím na položku Inštalovať pre „Knižnica DHT Arduino“(foto 3)

Krok 3: Nainštalujte a aktivujte knižnicu Adafruit Unified Sensor vyhľadaním výrazu „Adafruit Unified Sensor“a kliknutím na tlačidlo nainštalovať.

Krok 4: Do otvoreného náčrtu vložte knižnicu DHT tak, že prejdete na položku Skica -> Knižnice a kliknete na „Knižnica DHT Arduino. (Foto 4) Do hornej časti náčrtu sa vloží niekoľko nových riadkov, čo znamená, že knižnica je teraz aktívna a pripravená na použitie! (Foto 5)

*Rovnako ako vaša obľúbená miestna knižnica, aj knižnice kódov sú bohatstvom znalostí a tvrdej práce ostatných ľudí, ktoré vám môžeme použiť na uľahčenie života, hej!

Krok 8: Projekt 2: Digitálny sériový snímač teploty a vlhkosti

Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti
Projekt 2: Digitálny sériový snímač teploty a vlhkosti

Uchopte 3 prepojovacie vodiče medzi mužom a ženou zo štartovacej súpravy Elegoo Arduino a sme pripravení ísť!

Krok 1: Kolíky záhlavia smerujú k vám, pripojte kolík záhlavia úplne vpravo na serveri DHT11 k kolíku uzemnenia Arduino („GND“).

Krok 2: Pripojte stredný kolíkový konektor k výstupnému kolíku Arduino 5V.

Krok 3: Pripojte kolíkový konektor úplne vľavo k digitálnemu kolíku Arduino 2

Krok 4: Nakoniec si prečítajte knižnicu DHT a vyskúšajte si písanie náčrtu! Oooor, v Arduino môžete použiť môj príklad alebo skicu testovacieho príkladu DHT -> Príklady!

Keď to budete mať v prevádzke, choďte von a zmerajte teplotu a vlhkosť všetkých vecí!.. Ako dych zvieraťa, skleník alebo vaše obľúbené miesto na lezenie v rôznych obdobiach roka, aby ste našli * perfektnú * teplotu odoslania.

Krok 9: Analógové snímače

Analógové snímače!
Analógové snímače!
Analógové snímače!
Analógové snímače!

Po náročnom ponore do digitálnych senzorov sa môžu analógové snímače zdať ako hračka! Analógové signály sú nepretržitým signálom, ako je znázornené na 2. fotografii. Väčšina fyzického sveta existuje analógovo (napr. Teplota, vek, tlak atď.), Ale keďže počítače sú digitálne*, väčšina senzorov bude vydávať digitálny signál. Niektoré mikrokontroléry, ako napríklad dosky Arduino, môžu čítať aj analógové signály **.

U väčšiny analógových senzorov udávame výkon senzora a potom odčítame analógový signál pomocou pinov analógového vstupu. V tomto teste použijeme ešte jednoduchšie nastavenie na meranie napätia na dióde LED, keď naň rozsvietime svetlo.

*Počítače používajú na ukladanie a prenos informácií digitálne signály. Dôvodom je, že digitálne signály sú ľahšie detegovateľné a spoľahlivejšie, pretože sa musíme starať iba o to, či signál dostaneme alebo nie, a nie o kvalitu/presnosť signálu.

** Na čítanie analógového signálu na digitálnom zariadení musíme použiť prevodník analógovo-digitálneho signálu alebo ADC, ktorý aproximuje analógový signál porovnaním vstupu so známym napätím na zariadení a potom počíta, ako dlho potrebuje dosiahnuť vstupné napätie. Pre viac informácií je to užitočná stránka.

Krok 10: Projekt 3: LED ako svetelný senzor

Projekt 3: LED ako svetelný senzor!
Projekt 3: LED ako svetelný senzor!
Projekt 3: LED ako svetelný senzor!
Projekt 3: LED ako svetelný senzor!

Vezmite LED diódu (akejkoľvek farby okrem bielej), odpor 100 ohmov a 2 prepojovacie káble. Ach, a chlebík!

Krok 1: Vložte diódu LED do dosky na chlieb dlhšou nohou na pravej strane.

Krok 2: Pripojte prepojovací kábel z analógového kolíka A0 Arduino a dlhšej nohy LED

Krok 3: Pripojte odpor medzi kratšiu nohu LED a napájaciu lištu záporného poľa (vedľa modrej čiary).

Krok 4: Pripojte pin Arduino GND k zápornej napájacej lište na doske.

Krok 5: Napíšte náčrt s analógovým kolíkom A0 a vytlačte ho na sériový monitor

Tu je ukážkový kód, ktorý vám pomôže začať.

Krok 11: Vizualizácia údajov: Arduino IDE

Vizualizácia údajov: Arduino IDE!
Vizualizácia údajov: Arduino IDE!
Vizualizácia údajov: Arduino IDE!
Vizualizácia údajov: Arduino IDE!

Arduino IDE je dodávaný so vstavanými nástrojmi na vizualizáciu údajov. Už sme preskúmali základy sériového monitora, ktorý nám umožňuje tlačiť hodnoty senzorov. Ak chcete uložiť a analyzovať údaje, skopírujte výstup priamo zo sériového monitora a prilepte ich do textového editora, tabuľky alebo iného nástroja na analýzu údajov.

Druhým nástrojom, ktorý môžeme použiť na zobrazenie našich údajov v programe Arduino, je Serial Plotter, vizuálna verzia (aka graf) Serial Monitor. Ak chcete použiť sériový plotter, prejdite na Nástroje Sériový plotter. Graf na fotografii 2 je výstupom LED ako svetelného senzora z projektu 3!*

Graf sa automaticky zmení na mierku a pokiaľ budete pre svoje senzory používať Serial.println (), bude tiež tlačiť všetky vaše senzory v rôznych farbách. Hurá! To je všetko!

*Ak sa pozriete na koniec, existuje veľmi zaujímavý vlnový vzor, ktorý je pravdepodobne spôsobený striedavým prúdom („AC“) v našich stropných svetlách!

Krok 12: Vizualizácia údajov: Excel! Časť 1

Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1
Vizualizácia údajov: Excel! Časť 1

Na serióznejšiu analýzu údajov slúži super cool (a zadarmo!) Doplnok pre Excel s názvom Data Streamer*, ktorý si môžete stiahnuť tu.

Tento doplnok číta zo sériového portu, takže môžeme použiť presne rovnakú kódovaciu techniku tlače údajov na sériové získavanie údajov priamo do programu Excel.. sakra áno !!

Ako používať doplnok Data Streamer:

1. Keď ho máte nainštalovaný (alebo ak máte O365), kliknite v Exceli na kartu Data Streamer (úplne vpravo).

2. Pripojte Arduino a kliknite na „Pripojiť zariadenie“, potom v rozbaľovacej ponuke vyberte Arduino. (Foto 1)

3. Kliknutím na „Spustiť údaje“spustíte zber údajov! (Foto 2) Uvidíte tri nové listy: „Vstup údajov“, „Výstup údajov“a „Nastavenia“.

Živé údaje sú vytlačené v hárku Údaje v. (Foto 3) Každý riadok zodpovedá údaju zo senzora, pričom posledná hodnota je vytlačená v poslednom riadku.

Štandardne získavame iba 15 riadkov údajov, ale môžete to zmeniť v časti „Nastavenia“. Môžeme zhromaždiť až 500 riadkov (limit je spôsobený šírkou pásma Excelu - na pozadí sa toho veľa deje!).

*Úplné zverejnenie: Aj keď tento návod nie je pridružený, pracujem s tímom Microsoft Hacking STEM, ktorý vyvinul tento doplnok.

Krok 13: Vizualizácia údajov: Excel! Časť 2

Vizualizácia údajov: Excel! Časť 2
Vizualizácia údajov: Excel! Časť 2
Vizualizácia údajov: Excel! Časť 2
Vizualizácia údajov: Excel! Časť 2
Vizualizácia údajov: Excel! Časť 2
Vizualizácia údajov: Excel! Časť 2

4. Pridajte veľa svojich údajov! Vykonajte analýzu údajov! Rozptylové grafy vám ukazujú, ako sa hodnoty senzorov v priebehu času menia, čo je to isté, čo sme videli v sériovom plotri Arduino.

Ak chcete pridať bodový graf:

Prejdite na položku Vložiť -> Grafy -> Rozptyl. Keď sa graf objaví, kliknite naň pravým tlačidlom myši, zvoľte „Vybrať údaje“a potom položku Pridať. Chceme, aby sa naše údaje zobrazovali na osi y s „časom“* na osi x. Ak to chcete urobiť, kliknite na šípku vedľa osi y, prejdite na list Údaje v a vyberte všetky prichádzajúce údaje senzora (foto 2).

Môžeme tiež vykonávať výpočty a porovnávania v programe Excel! Ak chcete napísať vzorec, kliknite na prázdnu bunku, zadajte znamienko rovnosti ("=") a potom výpočet, ktorý chcete vykonať. Existuje mnoho vstavaných príkazov, ako je priemer, maximum a minimum.

Ak chcete použiť príkaz, zadajte znamienko rovnosti, názov príkazu a otvorenú zátvorku, potom vyberte údaje, ktoré analyzujete, a zatvorte zátvorky (foto 3)

5. Ak chcete odoslať viac ako jeden stĺpec údajov (AKA viac ako jeden senzor), vytlačte hodnoty na rovnaký riadok oddelené čiarkou a posledný prázdny nový riadok takto:

Serial.print (sensorReading1);

Serial.print (","); Serial.print (sensorReading2); Serial.print (","); Serial.println ();

*Ak chcete, aby sa skutočný čas nachádzal na osi x, vyberte v stĺpci A časovú pečiatku pre hodnoty osi x vo svojom bodovom grafe. Tak či onak, uvidíme naše údaje tak, ako sa časom menia.

Krok 14: Choďte ďalej a zmerajte všetky veci !

Pokračujte a zmerajte všetky veci !!
Pokračujte a zmerajte všetky veci !!
Pokračujte a zmerajte všetky veci !!
Pokračujte a zmerajte všetky veci !!
Pokračujte a zmerajte všetky veci !!
Pokračujte a zmerajte všetky veci !!

Dobre, ľudia, to je všetko! Čas ísť von a hore! Použite to ako základ na začatie skúmania senzorov, kódovania Arduino a analýzy údajov na riešenie vašich otázok, zaujímavostí a obľúbených záhad v tomto veľkom krásnom svete.

Pamätajte si: existuje veľa ľudí, ktorí vám pomôžu na ceste, takže ak máte otázku, zanechajte komentár!

Potrebujete ďalšie nápady? Tu je návod, ako vytvoriť prepínač stavu nositeľného zariadenia, diaľkový snímač teploty napájaný slnečnou energiou a priemyselnú váhu pripojenú k internetu!

Páči sa vám tento návod a chcete vidieť viac? Podporte naše projekty na Patreone!: D

Odporúča: