Obsah:

Používání Arduina pro Citizen Science!: 14 kroků (s obrázky)
Používání Arduina pro Citizen Science!: 14 kroků (s obrázky)

Video: Používání Arduina pro Citizen Science!: 14 kroků (s obrázky)

Video: Používání Arduina pro Citizen Science!: 14 kroků (s obrázky)
Video: CS50 2015 - Week 10 2024, Červen
Anonim
Image
Image
Pssst, jaký je rozdíl mezi Citizen Science a
Pssst, jaký je rozdíl mezi Citizen Science a

Věda nám umožňuje pokládat naše nejnaléhavější otázky a zkoumat nejrůznější kuriozity. S trochou myšlení, tvrdé práce a trpělivosti můžeme pomocí našich průzkumů vybudovat lepší porozumění a ocenění komplexního a krásného světa kolem nás.

Tento tutoriál vás naučí používat mikrokontrolér Arduino (uno), jak používat různé typy senzorů a jak shromažďovat a vizualizovat data. Po cestě postavíme tři projekty: spínač náklonu, snímač teploty a vlhkosti a světelný senzor!

Úroveň obtížnosti: začátečník

Doba čtení: 20 min

Čas sestavení: Záleží na vašem projektu! (Projekty v tomto tutoriálu trvají přibližně 15 - 20 minut)

Krok 1: Pssst, jaký je rozdíl mezi občanskou vědou a „oficiální vědou“?

Největší rozdíl je v tom, že občanská věda je, jak s oblibou říkám, „ručně vlnitá“, což znamená, že existuje spousta chyb a nejistot a žádný přísný postup k jejich identifikaci. Z tohoto důvodu jsou závěry dosažené prostřednictvím občanské vědy mnohem méně přesné než věda-věda a nemělo by se na ně spoléhat při vážných/život měnících/život ohrožujících tvrzeních nebo rozhodnutích.*

Jak již bylo řečeno, občanská věda je skvělý způsob, jak vybudovat základní porozumění všem druhům fascinujících vědeckých jevů, a je dost dobrý pro většinu každodenních aplikací.

*Pokud provádíte občanskou vědu a objevíte něco potenciálně nebezpečného (např. Vysoké hladiny olova ve vodě), informujte o tom svého pedagoga (je -li to relevantní) a požádejte o pomoc příslušné úřady a odborníky.

Krok 2: Co je Arduino ??

Co je Arduino ??
Co je Arduino ??
Co je Arduino ??
Co je Arduino ??
Co je Arduino ??
Co je Arduino ??
Co je Arduino ??
Co je Arduino ??

Arduino je deska s mikrokontroléry a integrovaným vývojovým prostředím („IDE“), což je fantastický způsob, jak říci „kódovací program“. Pro začátečníky vřele doporučuji desky Arduino Uno, protože jsou super robustní, spolehlivé a výkonné.

Desky Arduino jsou dobrou volbou pro projekty občanské vědy, protože mají spoustu vstupních pinů pro čtení v analogových i digitálních senzorech (více se k tomu dostaneme později).

Pro občanskou vědu můžete samozřejmě použít další mikrokontroléry v závislosti na vašich (nebo vašich studentských) potřebách, schopnostech a úrovni pohodlí. Zde je přehled mikrokontrolérů, které vám pomohou rozhodnout se, co je pro vás nejlepší!

Chcete -li flashovat nebo programovat desku Arduino, připojte ji přes USB a poté:

1. V nabídce Nástroje -> Desky vyberte typ Arduina, který používáte. (Foto 2)

2. Vyberte port (alias místo, kde je připojen k vašemu počítači). (Foto 3)

3. Klikněte na tlačítko Nahrát a zkontrolujte, zda se nahrávání dokončí. (Foto 4)

Krok 3: Nástroje a materiály

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

Pokud právě začínáte, získání sady je rychlý a snadný způsob, jak získat spoustu dílů najednou. Kit, který používám v tomto tutoriálu, je Starter Kit Elegoo Arduino.*

Nástroje

  • Arduino Uno
  • Kabel USB A na B (aka kabel tiskárny)
  • Propojovací dráty

    • 3 muži na muže
    • 3 muži-ženy
  • Prkénko

    Volitelné, ale doporučené, aby byl váš život snazší a zábavnější:)

Materiály

Pro projekty zahrnuté v tomto tutoriálu budete potřebovat tyto díly ze startovací sady Elegoo Arduino:

  • Přepínač náklonu
  • Senzor teploty a vlhkosti DTH11
  • VEDENÝ
  • Odpor 100 ohmů

*Úplné zveřejnění: Kupuji stejné sady pro workshopy, ale sadu použitou v tomto tutoriálu darovali milí lidé z Elegoo.

Krok 4: Jaké druhy senzorů můžeme použít?

Jaké druhy senzorů můžeme použít?
Jaké druhy senzorů můžeme použít?

Při navrhování vědeckého experimentu obvykle začínáme otázkou: Kolik CO2 rostliny absorbují za den? Jaká je síla nárazu při skoku? Co je vědomí ??

Na základě naší otázky pak můžeme identifikovat, co chceme měřit, a provést nějaký průzkum, abychom zjistili, jaký senzor můžeme použít ke shromažďování dat (i když pro tuto poslední otázku může být shromažďování dat trochu složité!).

Při práci s elektronikou existují dva hlavní typy datových signálů senzorů: digitální a analogový. Na fotografii jsou první dvě řady dílů digitální senzory, zatímco horní dvě řady jsou analogové.

Existuje mnoho různých typů digitálních senzorů a s některými je náročnější pracovat než s jinými. Když provádíte výzkum pro váš projekt občanské vědy, vždy zkontrolujte, jak senzor vydává data (srsly tho) a ujistěte se, že pro tento konkrétní senzor najdete knihovnu (Arduino).

Ve třech projektech zahrnutých v tomto tutoriálu použijeme dva typy digitálních senzorů a jeden analogový senzor. Pojďme se učit!

Krok 5: Digitální senzory! Část 1: Snadní

Digitální senzory! Část 1: Snadní!
Digitální senzory! Část 1: Snadní!
Digitální senzory! Část 1: Snadní!
Digitální senzory! Část 1: Snadní!

Většina senzorů, které použijete, vydává digitální signál, což je signál, který je buď zapnutý nebo vypnutý.* K vyjádření těchto dvou stavů používáme binární čísla: signál Zapnuto je dán 1 nebo True, zatímco Vypnuto je 0, nebo False. Pokud bychom měli nakreslit obrázek toho, jak vypadá binární signál, byla by to čtvercová vlna jako na obrázku 2.

Existuje několik digitálních senzorů, jako jsou spínače, které se velmi snadno a snadno měří, protože buď je stisknuto tlačítko a dostaneme signál (1), nebo není stisknuto a nemáme žádný signál (0). Senzory zobrazené ve spodní řadě na první fotografii jsou všechny jednoduché typy zapnutí/vypnutí. Senzory v horní řadě jsou o něco složitější a jsou zakryty po našem prvním projektu.

První dva projekty v tomto kurzu vás naučí používat oba typy! Pokračujeme v budování našeho prvního projektu !!

*Zapnuto znamená elektrický signál ve formě elektrického proudu a napětí. Vypnuto znamená žádný elektrický signál!

Krok 6: Projekt 1: Tilt Switch Digital Sensor

Projekt 1: Digitální senzor přepínače náklonu
Projekt 1: Digitální senzor přepínače náklonu
Projekt 1: Digitální senzor přepínače náklonu
Projekt 1: Digitální senzor přepínače náklonu
Projekt 1: Digitální senzor přepínače náklonu
Projekt 1: Digitální senzor přepínače náklonu

Pro tento první projekt použijeme přepínač naklonění, ten černý válcový senzor se dvěma nohami! Krok 1: Vložte jednu nohu přepínače naklonění do digitálního pinu Arduino 13 a druhou nohu do pinu GND hned vedle pinu 13. Orientace nevadí.

Krok 2: Napište skicu, která načte a vytiskne stav digitálního kolíku 13

Nebo můžete použít můj!

Pokud s kódováním teprve začínáte, přečtěte si komentáře, abyste lépe porozuměli tomu, jak skica funguje, a zkuste některé věci změnit, abyste zjistili, co se stane! Je v pořádku rozbíjet věci, je to skvělý způsob, jak se učit! Soubor si můžete kdykoli znovu stáhnout a začít znovu:)

Krok 3: Chcete -li zobrazit aktuální data, klikněte na tlačítko Serial Monitor (foto 2)

.. aaaa to je ono! Nyní můžete pomocí přepínače náklonu měřit orientaci! Nastavte si to tak, aby zavolalo vaši kočičku, když něco srazí, nebo pomocí ní sledujte, jak se větve stromů pohybují během bouřek!.. & mezi těmito dvěma extrémy jsou pravděpodobně další aplikace.

Krok 7: Digitální senzory! Část 2: PWM a sériová komunikace

Digitální senzory! Část 2: PWM a sériová komunikace
Digitální senzory! Část 2: PWM a sériová komunikace
Digitální senzory! Část 2: PWM a sériová komunikace
Digitální senzory! Část 2: PWM a sériová komunikace
Digitální senzory! Část 2: PWM a sériová komunikace
Digitální senzory! Část 2: PWM a sériová komunikace

Existuje mnoho způsobů, jak vytvářet složitější digitální signály! Jedna metoda se nazývá Pulse Width Modulation („PWM“), což je fantastický způsob, jak říci signál, který je po určitou dobu zapnutý a po určitou dobu vypnutý. Servomotory (které lze použít k měření polohy) a ultrazvukové senzory jsou příklady senzorů, které používají signály PWM.

Existují také senzory, které pomocí sériové komunikace odesílají data po jednom bitu nebo binárním čísle. Tyto senzory vyžadují určitou znalost čtení datových listů a mohou být docela složité, pokud právě začínáte. Naštěstí běžné sériové senzory budou mít knihovny kódů* a ukázkové programy, ze kterých budete moci čerpat, takže stále můžete spojit něco funkčního. Další podrobnosti o protokolech sériové komunikace přesahují rámec tohoto tutoriálu, ale zde je skvělý zdroj pro sériovou komunikaci od SparkFun, kde se dozvíte více!

Pro tento ukázkový projekt použijme snímač teploty a vlhkosti (DHT11)! Toto je malý modrý čtverec s otvory a 3 kolíky.

Nejprve budeme potřebovat několik speciálních knihoven pro snímač DHT11: knihovnu DHT11 a knihovnu Adafruit Unified Sensor. K instalaci těchto knihoven (a většiny ostatních knihoven Arduino):

Krok 1: Otevřete správce knihoven Arduino tak, že přejdete na Sketch -> Libraries -> manage Library (Foto 2)

Krok 2: Nainstalujte a aktivujte knihovnu DHT vyhledáním „DHT“a poté kliknutím na Instalovat pro „Knihovna DHT Arduino“(Foto 3)

Krok 3: Nainstalujte a aktivujte knihovnu Adafruit Unified Sensor vyhledáním „Adafruit Unified Sensor“a kliknutím na instalaci.

Krok 4: Vložte knihovnu DHT do otevřené skici tak, že přejdete na Sketch -> Libraries a kliknete na „DHT Arduino Library. (Foto 4) Tím se do horní části skici vloží několik nových řádků, což znamená naše knihovna je nyní aktivní a připravená k použití! (Foto 5)

*Stejně jako vaše oblíbená místní knihovna, knihovny kódů jsou bohatstvím znalostí a tvrdé práce ostatních lidí, které můžeme použít k usnadnění našeho života, jo!

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

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

Popadněte 3 propojovací vodiče pro muže a ženy ze startovací sady Elegoo Arduino a jsme připraveni jít!

Krok 1: Kolíky záhlaví směřují k vám, připojte kolík záhlaví zcela vpravo na DHT11 ke kolíku uzemnění Arduino („GND“).

Krok 2: Připojte pin prostředního záhlaví k výstupnímu pinu Arduino 5V.

Krok 3: Připojte kolíkový záhlaví úplně vlevo k digitálnímu pinu Arduino 2

Krok 4: Nakonec si přečtěte knihovnu DHT a zkuste si napsat skicu! Oooor, můžete použít můj nebo ukázkový testovací test DHT v Arduinu -> Příklady!

Až to budete mít v provozu, vyrazte a změřte teplotu a vlhkost všech věcí!.. Jako dech zvířete, skleník nebo vaše oblíbené horolezecké místo v různých obdobích roku, abyste našli * perfektní * teplotu odesílání.

Krok 9: Analogové snímače

Analogové snímače!
Analogové snímače!
Analogové snímače!
Analogové snímače!

Po obtížném ponoru do digitálních senzorů se mohou analogové senzory zdát jako hračka! Analogové signály jsou spojitým signálem, jak ukazuje druhá fotografie. Většina fyzického světa existuje analogově (např. Teplota, věk, tlak atd.), Ale jelikož jsou počítače digitální*, většina senzorů vydává digitální signál. Některé mikrokontroléry, jako desky Arduino, mohou také číst analogové signály **.

U většiny analogových senzorů udáváme výkon snímače a poté odečteme analogový signál pomocí pinů analogového vstupu. Pro tento test použijeme ještě jednodušší nastavení pro měření napětí na LED, když na ni posvítíme.

*Počítače používají k ukládání a přenosu informací digitální signály. Důvodem je, že digitální signály lze snáze detekovat a jsou spolehlivější, protože vše, o co se musíme starat, je získat signál nebo ne, a ne se starat o kvalitu/přesnost signálu.

** Abychom mohli číst analogový signál na digitálním zařízení, musíme použít převodník Analog na digitální nebo ADC, který aproximuje analogový signál porovnáním vstupu se známým napětím na zařízení a poté počítá, jak dlouho trvá dosáhnout vstupního napětí. Pro více informací je to užitečný web.

Krok 10: Projekt 3: LED jako světelný senzor

Projekt 3: LED jako světelný senzor!
Projekt 3: LED jako světelný senzor!
Projekt 3: LED jako světelný senzor!
Projekt 3: LED jako světelný senzor!

Vezměte LED (jakoukoli barvu kromě bílé), odpor 100 ohmů a 2 propojovací kabely. No a prkénko!

Krok 1: Vložte LED do prkénka delší nohou na pravé straně.

Krok 2: Připojte propojovací vodič z analogového pinu Arduino A0 a delší LED diody

Krok 3: Připojte odpor mezi kratší nožičku LED a zápornou napájecí lištu (vedle modré čáry).

Krok 4: Připojte pin Arduino GND k záporné napájecí liště na desce.

Krok 5: Napište skicu, která čte analogový pin A0 a vytiskne se na sériový monitor

Zde je ukázkový kód, abyste mohli začít.

Krok 11: Vizualizace dat: Arduino IDE

Vizualizace dat: Arduino IDE!
Vizualizace dat: Arduino IDE!
Vizualizace dat: Arduino IDE!
Vizualizace dat: Arduino IDE!

Arduino IDE přichází s integrovanými nástroji pro vizualizaci dat. Už jsme prozkoumali základy sériového monitoru, který nám umožňuje tisknout hodnoty senzorů. Pokud chcete svá data uložit a analyzovat, zkopírujte výstup přímo ze Serial Monitoru a vložte jej do textového editoru, tabulky nebo jiného nástroje pro analýzu dat.

Druhým nástrojem, který můžeme použít k zobrazení našich dat v programu Arduino, je Serial Plotter, vizuální verze (aka graf) Serial Monitor. Chcete -li použít sériový plotter, přejděte na Nástroje Sériový plotter. Graf na fotografii 2 je výstupem LED jako světelného senzoru z projektu 3!*

Děj se bude automaticky škálovat a pokud používáte pro senzory Serial.println (), bude také tisknout všechny vaše senzory v různých barvách. Hurá! A je to!

*Když se podíváte na konec, existuje velmi zajímavý vlnový obrazec, který je pravděpodobně způsoben střídavým proudem („AC“) v našich stropních světlech!

Krok 12: Vizualizace dat: Excel! Část 1

Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1
Vizualizace dat: Excel! Část 1

Pro serióznější analýzu dat je tu super cool (a zdarma!) Doplněk pro Excel s názvem Data Streamer*, který si můžete stáhnout zde.

Tento doplněk čte ze sériového portu, takže můžeme použít přesně stejnou techniku kódování tisku dat na sériová data přímo do Excelu.. sakra ano !!

Jak používat doplněk Data Streamer:

1. Jakmile jej nainstalujete (nebo pokud máte O365), klikněte v Excelu na kartu Data Streamer (zcela vpravo).

2. Připojte Arduino a klikněte na „Připojit zařízení“, poté vyberte Arduino z rozevírací nabídky. (Foto 1)

3. Sběr dat zahájíte kliknutím na „Spustit data“! (Foto 2) Zobrazí se tři nové listy: „Data In“, „Data Out“a „Settings“.

Živá data jsou vytištěna v listu Data In. (Foto 3) Každý řádek odpovídá odečtu snímače, přičemž v posledním řádku je vytištěna nejnovější hodnota.

Ve výchozím nastavení získáváme pouze 15 řádků dat, ale můžete to změnit v "Nastavení". Můžeme shromáždit až 500 řádků (limit je kvůli šířce pásma aplikace Excel - na pozadí se toho hodně děje!).

*Úplné zveřejnění: Přestože tento návod není přidružen, pracuji s týmem Microsoft Hacking STEM, který tento doplněk vyvinul.

Krok 13: Vizualizace dat: Excel! Část 2

Vizualizace dat: Excel! Část 2
Vizualizace dat: Excel! Část 2
Vizualizace dat: Excel! Část 2
Vizualizace dat: Excel! Část 2
Vizualizace dat: Excel! Část 2
Vizualizace dat: Excel! Část 2

4. Přidejte spiknutí svých dat! Proveďte analýzu dat! Bodové grafy ukazují, jak se hodnoty senzorů v průběhu času mění, což je totéž, co jsme viděli v sériovém plotru Arduino.

Chcete -li přidat bodový graf:

Přejděte na Vložit -> Grafy -> Rozptyl. Když se graf objeví, klikněte na něj pravým tlačítkem a vyberte „Vybrat data“a poté Přidat. Chceme, aby se naše data zobrazovala na ose y, s „časem“* na ose x. Chcete-li to provést, klikněte na šipku vedle osy y, přejděte na list Data In a vyberte všechna příchozí data senzoru (Foto 2).

Můžeme také provádět výpočty a srovnání v aplikaci Excel! Chcete -li napsat vzorec, klikněte na prázdnou buňku a zadejte znaménko rovnosti ("="), poté výpočet, který chcete provést. Existuje mnoho vestavěných příkazů, jako je průměr, maximum a minimum.

Chcete -li použít příkaz, zadejte znaménko rovnosti, název příkazu a otevřenou závorku, poté vyberte data, která analyzujete, a zavřete závorky (foto 3)

5. Chcete -li odeslat více než jeden sloupec dat (AKA více než jeden senzor), vytiskněte hodnoty na stejný řádek oddělené čárkou s posledním prázdným novým řádkem, například takto:

Serial.print (sensorReading1);

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

*Pokud chcete, aby skutečný čas byl na ose x, vyberte časové razítko ve sloupci A na listu Data pro hodnoty osy x ve svém bodovém grafu. Ať tak či onak, uvidíme, jak se naše data v průběhu času mění.

Krok 14: Pokračujte a změřte všechny věci

Pokračujte a změřte všechny věci !!
Pokračujte a změřte všechny věci !!
Pokračujte a změřte všechny věci !!
Pokračujte a změřte všechny věci !!
Pokračujte a změřte všechny věci !!
Pokračujte a změřte všechny věci !!

Dobře, lidi, to je vše! Čas jít ven a nahoru! Použijte to jako základ pro zahájení zkoumání senzorů, kódování Arduino a analýzy dat k řešení vašich otázek, kuriozit a oblíbených záhad v tomto velkém, krásném světě.

Pamatujte: existuje spousta lidí, kteří vám pomohou na cestě, takže pokud máte dotaz, zanechte prosím komentář!

Potřebujete další nápady? Zde je návod, jak vytvořit přepínač stavu nositelnosti, dálkový snímač teploty napájený solární energií a průmyslovou váhu připojenou k internetu!

Líbí se vám tento návod a chcete vidět více? Podpořte naše projekty na Patreonu!: D

Doporučuje: