Tartalomjegyzék:

Az Arduino használata a polgári tudomány számára!: 14 lépés (képekkel)
Az Arduino használata a polgári tudomány számára!: 14 lépés (képekkel)

Videó: Az Arduino használata a polgári tudomány számára!: 14 lépés (képekkel)

Videó: Az Arduino használata a polgári tudomány számára!: 14 lépés (képekkel)
Videó: stef: Szabad szoftveres licenszelés fejlesztőknek 2024, Június
Anonim
Image
Image
Pssst, mi a különbség a polgártudomány és
Pssst, mi a különbség a polgártudomány és

A tudomány lehetővé teszi számunkra, hogy feltesszük a legsürgetőbb kérdéseinket, és felfedezzünk mindenféle érdekességet. Némi gondolkodással, kemény munkával és türelemmel felfedezéseinket felhasználhatjuk arra, hogy jobban megértsük és értékeljük a körülöttünk lévő összetett és gyönyörű világot.

Ez az oktatóanyag megtanítja az Arduino (uno) mikrokontroller használatát, a különböző típusú érzékelők használatát, valamint az adatok gyűjtését és megjelenítését. Útközben három projektet építünk: dönthető kapcsolót, hőmérséklet- és páratartalom -érzékelőt és fényérzékelőt!

Nehézségi szint: Kezdő

Olvasási idő: 20 perc

Építési idő: a projekttől függ! (Az oktatóanyag projektjei körülbelül 15-20 percet vesznek igénybe)

1. lépés: Pssst, mi a különbség a polgári tudomány és a "hivatalos tudomány" között?

A legnagyobb különbség az, hogy a polgártudomány, ahogy szeretem mondani, "kézhullámos", ami azt jelenti, hogy rengeteg hiba és bizonytalanság van, és nincs szigorú folyamat az azonosításukhoz. Emiatt a polgártudományon keresztül levont következtetések sokkal kevésbé pontosak, mint a tudomány-tudomány, és nem szabad támaszkodni rájuk komoly/életmódosító/életveszélyes állítások vagy döntések meghozatalakor.*

Mindezek ellenére a polgártudomány nagyszerű módja annak, hogy alapvető ismereteket építsünk mindenféle lenyűgöző tudományos jelenségről, és elég jó a legtöbb mindennapi alkalmazáshoz.

*Ha állampolgári tudományt folytat, és potenciálisan veszélyes dolgot fedez fel (pl. Magas ólomszintek a vízben), tájékoztassa pedagógusát (ha van ilyen), és vegye fel a kapcsolatot az illetékes hatóságokkal és szakemberekkel.

2. lépés: Mi az Arduino ??

Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??
Mi az Arduino ??

Az Arduino egy mikrokontroller tábla és integrált fejlesztési környezet ("IDE"), amely egy fantasztikus módja a "kódoló program" kifejezésnek. Kezdőknek nagyon ajánlom az Arduino Uno táblákat, mert rendkívül robusztusak, megbízhatóak és erősek.

Az Arduino táblák jó választás polgári tudományos projektekhez, mivel sok bemeneti tűvel rendelkeznek az analóg és a digitális érzékelőkben (erről később részletesebben olvashatunk).

Természetesen más mikrokontrollereket is használhat a polgári tudomány számára az Ön (vagy diákjai) igényeitől, képességeitől és kényelmi szintjétől függően. Itt található a mikrovezérlők áttekintése, hogy segítsen eldönteni, hogy mi a legjobb az Ön számára!

Az Arduino kártya vakujának programozásához vagy csatlakoztatásához csatlakoztassa azt USB -n keresztül, majd:

1. Válassza ki az Arduino típusát az Eszközök -> Táblák menüpont alatt. (2. fotó)

2. Válassza ki a portot (más néven a számítógéphez csatlakoztatott helyet). (3. fotó)

3. Kattintson a Feltöltés gombra, és ellenőrizze, hogy befejezte -e a feltöltést. (4. fotó)

3. lépés: Eszközök és anyagok

Eszközök és anyagok
Eszközök és anyagok

Ha még csak most kezdi, a készlet beszerzése gyors és egyszerű módja annak, hogy egyszerre rengeteg alkatrészt szerezzen be. Az oktatóanyagban használt készlet az Elegoo Arduino kezdő készlet.*

Eszközök

  • Arduino Uno
  • USB A -B kábel (más néven nyomtatókábel)
  • Jumper vezetékek

    • 3 férfi-férfi
    • 3 férfi-nő
  • Kenyeretábla

    Opcionális, de ajánlott, hogy megkönnyítse és szórakoztatóbb legyen az élete:)

Anyagok

Az ebben az oktatóanyagban szereplő projektekhez szüksége lesz az Elegoo Arduino kezdő készletből az alábbi alkatrészekre:

  • Dönthető kapcsoló
  • DTH11 hőmérséklet- és páratartalom -érzékelő
  • VEZETTE
  • 100 Ohm ellenállás

*Teljes nyilvánosságra hozatal: Ugyanazokat a készleteket veszem műhelyekhez, de az oktatóanyagban használt készletet az Elegoo kedves emberei adományozták.

4. lépés: Milyen típusú érzékelőket használhatunk?

Milyen típusú érzékelőket használhatunk?
Milyen típusú érzékelőket használhatunk?

Egy tudományos kísérlet tervezésekor általában egy kérdéssel kezdjük: Mennyi CO2 -t szívnak el a növények egy nap alatt? Mekkora az ugrás ütőereje? Mi az a tudat ??

Kérdésünk alapján azonosíthatjuk, hogy mit szeretnénk mérni, és kutatásokat végezhetünk annak megállapítása érdekében, hogy milyen érzékelőt használhatunk adatok gyűjtésére (bár lehet, hogy kissé bonyolult lesz az utolsó kérdésre vonatkozó adatok összegyűjtése!).

Amikor elektronikával dolgozik, az érzékelőadatok két fő típusa létezik: digitális és analóg. A képen az alkatrészek első két sora mind digitális érzékelő, míg a felső két sor analóg.

Sokféle digitális érzékelő létezik, és néhányukkal nehezebb dolgozni, mint másokkal. Amikor kutatásokat végez a polgári tudományos projektje során, mindig ellenőrizze, hogy az érzékelő hogyan adja ki az adatokat (srsly tho), és győződjön meg arról, hogy talál egy (Arduino) könyvtárat az adott érzékelőhöz.

Az oktatóanyagban szereplő három projektben kétféle digitális érzékelőt és egy analóg érzékelőt használunk. Tanuljunk!

5. lépés: Digitális érzékelők! 1. rész: Könnyűek

Digitális érzékelők! 1. rész: Könnyűek!
Digitális érzékelők! 1. rész: Könnyűek!
Digitális érzékelők! 1. rész: Könnyűek!
Digitális érzékelők! 1. rész: Könnyűek!

A legtöbb érzékelő digitális jelet bocsát ki, amely be- vagy kikapcsolt jel.* Ezt a két állapotot bináris számokkal ábrázoljuk: a bekapcsolt jelet 1, vagy Igaz, míg Ki érték 0, vagy hamis. Ha képet rajzolnánk arról, hogyan néz ki egy bináris jel, akkor ez egy négyzethullám lenne, mint a 2. fényképen.

Vannak olyan digitális érzékelők, mint például a kapcsolók, amelyeket szuper könnyű és egyszerű mérni, mert vagy megnyomjuk a gombot, és jelet kapunk (1), vagy nem nyomjuk meg, és nincs jelünk (0). Az első fénykép alsó sorában látható érzékelők mindegyike egyszerű be- és kikapcsolás. A felső sor érzékelői kissé összetettebbek, és az első projektünk után lefedik őket.

Az oktatóanyag első két projektje megtanítja mindkét típus használatát! Folytassuk az első projektünk építését !!

*A bekapcsolás elektromos jelet jelent elektromos áram és feszültség formájában. A kikapcsolt állapot azt jelenti, hogy nincs elektromos jel!

6. lépés: 1. projekt: Döntéskapcsoló digitális érzékelő

Projekt 1: Döntéskapcsoló digitális érzékelő
Projekt 1: Döntéskapcsoló digitális érzékelő
Projekt 1: Döntéskapcsoló digitális érzékelő
Projekt 1: Döntéskapcsoló digitális érzékelő
Projekt 1: Döntéskapcsoló digitális érzékelő
Projekt 1: Döntéskapcsoló digitális érzékelő

Ehhez az első projekthez használjunk billentőkapcsolót, azt a két hengerű, hengeres érzékelőt! 1. lépés: Helyezze be a billenőkapcsoló egyik lábát az Arduino Digital Pin 13 -ba, a másik lábát pedig a GND csapba, közvetlenül a 13 -as csap mellett. mindegy.

2. lépés: Írjon vázlatot, amely beolvassa és kinyomtatja a Digital Pin 13 állapotát

Vagy csak használhatod az enyémet!

Ha még csak most kezdi el a kódolást, olvassa el a megjegyzéseket, hogy jobban megértse a vázlat működését, és próbálja meg megváltoztatni néhány dolgot, hogy lássa, mi történik! Rendben van a dolgok megtörése, ez egy nagyszerű módja a tanulásnak! Bármikor újra letöltheti a fájlt, és újrakezdheti:)

3. lépés: Az élő adatok megtekintéséhez kattintson a Soros monitor gombra (2. fotó)

.. ááá és ennyi! Most már használhatja a dőléskapcsolót a tájolás mérésére! Állítsa be úgy, hogy felhívja a cicáját, amikor valamit felborít, vagy használja, hogy nyomon kövesse, hogyan mozognak a faágak viharok idején!.. & a két véglet között valószínűleg más alkalmazások is vannak.

7. lépés: Digitális érzékelők! 2. rész: PWM és soros kommunikáció

Digitális érzékelők! 2. rész: PWM és soros kommunikáció
Digitális érzékelők! 2. rész: PWM és soros kommunikáció
Digitális érzékelők! 2. rész: PWM és soros kommunikáció
Digitális érzékelők! 2. rész: PWM és soros kommunikáció
Digitális érzékelők! 2. rész: PWM és soros kommunikáció
Digitális érzékelők! 2. rész: PWM és soros kommunikáció

Sokféleképpen lehet összetettebb digitális jeleket létrehozni! Az egyik módszert impulzusszélesség -modulációnak ("PWM") hívják, amely egy fantasztikus módja annak, hogy egy bizonyos ideig bekapcsolt és egy bizonyos ideig kikapcsolt jelet mondjon. A szervomotorok (amelyekkel mérhető a helyzet) és az ultrahangos érzékelők példák a PWM jeleket használó érzékelőkre.

Vannak olyan érzékelők is, amelyek soros kommunikációt használnak egy -egy bit vagy bináris számjegy küldésére. Ezek az érzékelők némi jártasságot igényelnek az adatlapok olvasásában, és nagyon bonyolultak lehetnek, ha még csak most kezdi el használni. Szerencsére a gyakori soros érzékelők kódkönyvtárakat* és mintaprogramokat tartalmaznak, amelyekből ki lehet húzni, hogy még mindig összerakhasson valami funkcionális dolgot. A soros kommunikációs protokollokkal kapcsolatos további részletek túlmutatnak ezen oktatóanyag keretein, de itt van egy nagyszerű forrás a SparkFun soros kommunikációjáról, ha többet szeretne megtudni!

Ehhez a mintaprojekthez használjuk a hőmérséklet- és páratartalom -érzékelőt (DHT11)! Ez egy kék négyzet, lyukakkal és 3 tűvel.

Először is szükségünk lesz néhány speciális könyvtárra a DHT11 érzékelőhöz: a DHT11 könyvtárra és az Adafruit Unified Sensor könyvtárra. A könyvtárak (és a legtöbb más Arduino könyvtár) telepítéséhez:

1. lépés: Nyissa meg az Arduino könyvtárkezelőt a Vázlat -> Könyvtárak -> Könyvtár kezelése menüben (2. fotó)

2. lépés: Telepítse és aktiválja a DHT könyvtárat a „DHT” kifejezés keresésével, majd a „DHT Arduino Library” (Telepítés) gombra kattintással (3. kép)

3. lépés: Telepítse és aktiválja az Adafruit Unified Sensor könyvtárat az "Adafruit Unified Sensor" keresésével, és kattintson a telepítés gombra.

4. lépés: Illessze be a DHT könyvtárat a nyitott vázlatba a Vázlat -> Könyvtárak menüpontban, és kattintson a "DHT Arduino Library" elemre. (4. fotó) Ezzel pár új sort szúr be a vázlat tetejére, ami azt jelenti, hogy A könyvtár most aktív és használatra kész! (5. fotó)

*Csakúgy, mint a kedvenc helyi könyvtára, a kódkönyvtárak rengeteg tudást és más emberek kemény munkáját jelentik, amelyekkel megkönnyíthetjük az életünket.

8. lépés: 2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő

2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő
2. projekt: Hőmérséklet és páratartalom digitális soros érzékelő

Fogja meg a 3 férfi-női áthidaló vezetéket az Elegoo Arduino kezdő készletből, és készen állunk az indulásra!

1. lépés: Ha a fejléc csapjai felfelé néznek, csatlakoztassa a DHT11 jobb oldali fejlécét egy Arduino földelő ("GND") csaphoz.

Lépés: Csatlakoztassa a középső fejlécet az Arduino 5V kimeneti tüskéhez.

Lépés: Csatlakoztassa a bal oldali fejlécet az Arduino Digital Pin 2 -hez

4. lépés: Végül olvassa el a DHT könyvtárat, és próbálja ki a vázlat írását! Oooor használhatja az enyémet vagy a DHT teszt példa vázlatát az Arduino -n belül -> Példák!

Ha elkészült, menjen, és mérje meg az összes dolog hőmérsékletét és páratartalmát!.. Mint egy állat lélegzete, egy üvegház, vagy kedvenc mászóhelye az év különböző időszakaiban, hogy megtalálja a * tökéletes * küldési hőmérsékletet.

9. lépés: Analóg érzékelők

Analóg érzékelők!
Analóg érzékelők!
Analóg érzékelők!
Analóg érzékelők!

A digitális szenzorokba való nehéz merülés után az analóg érzékelők szellőnek tűnhetnek! Az analóg jelek folyamatos jelek, amint az a 2. fotón látható. A fizikai világ nagy része analóg módon létezik (pl. Hőmérséklet, életkor, nyomás stb.), De mivel a számítógépek digitálisak*, a legtöbb érzékelő digitális jelet bocsát ki. Néhány mikrokontroller, például az Arduino táblák, analóg jelekben is tud olvasni **.

A legtöbb analóg érzékelő esetében megadjuk az érzékelő teljesítményét, majd beolvassuk az analóg jelet az analóg bemeneti érintkezők segítségével. Ehhez a teszthez még egyszerűbb beállítást alkalmazunk a LED feszültségének mérésére, amikor fényt világítunk rá.

*A számítógépek digitális jeleket használnak az információk tárolására és továbbítására. Ennek oka az, hogy a digitális jeleket könnyebb észlelni és megbízhatóbbak, mivel csak annyit kell aggódnunk, hogy kapunk -e jelet vagy sem, szemben a jel minőségével/pontosságával.

** Analóg jel beolvasásához digitális eszközön egy analóg-digitális, vagy ADC átalakítót kell használnunk, amely közelíti az analóg jelet azáltal, hogy összehasonlítja a bemenetet az eszköz ismert feszültségével, majd számolja, mennyi ideig szükséges a bemeneti feszültség eléréséhez. További információért ez egy hasznos webhely.

10. lépés: 3. projekt: LED fényérzékelőként

3. projekt: LED mint fényérzékelő!
3. projekt: LED mint fényérzékelő!
3. projekt: LED mint fényérzékelő!
3. projekt: LED mint fényérzékelő!

Fogjon egy LED -et (a fehér kivételével bármilyen színű), 100 ohmos ellenállást és 2 áthidaló kábelt. Ja, és egy kenyérlap!

1. lépés: Helyezze be a LED -et a kenyértáblába, a jobb lábával a jobb oldalon.

2. lépés: Csatlakoztasson egy jumper vezetéket az Arduino Analog Pin A0 -ból és a hosszabb LED -lábból

3. lépés: Csatlakoztassa az ellenállást a rövidebb LED -láb és a kenyérsütő panel negatív tápfeszültsége között (a kék vonal mellett).

4. lépés: Csatlakoztassa az Arduino GND tüskét a kenyértáblán lévő negatív tápcsatlakozóhoz.

5. lépés: Írjon egy vázlatot, amely az A0 analóg pin -ben olvasható, és kinyomtatódik a soros monitorra

Itt van egy mintakód a kezdéshez.

11. lépés: Az adatok megjelenítése: Arduino IDE

Adatok megjelenítése: Arduino IDE!
Adatok megjelenítése: Arduino IDE!
Adatok megjelenítése: Arduino IDE!
Adatok megjelenítése: Arduino IDE!

Az Arduino IDE beépített eszközökkel rendelkezik az adatok megjelenítéséhez. Már felfedeztük a soros monitor alapjait, amely lehetővé teszi számunkra az érzékelőértékek nyomtatását. Ha menteni és elemezni szeretné adatait, másolja a kimenetet közvetlenül a Soros monitorból, és illessze be egy szövegszerkesztőbe, táblázatba vagy más adatelemző eszközbe.

A második eszköz, amellyel megtekinthetjük adatainkat az Arduino programban, a Serial Plotter, a Serial Monitor vizuális változata (aka grafikonja). A Soros Plotter használatához lépjen az Eszközök Soros Plotter oldalra. A 2. fénykép grafikonja a LED kimenete fényérzékelőként a Project 3 -ból!*

A diagram automatikusan skálázódik, és amíg Serial.println () -et használ az érzékelőkhöz, addig az összes érzékelőt különböző színekben nyomtatja. Hurrá! Ez az!

*Ha a végére nézel, van egy szuper érdekes hullámminta, ami valószínűleg a felső lámpáinkban lévő váltakozó áramnak köszönhető!

12. lépés: Az adatok megjelenítése: Excel! 1. rész

Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész
Adatok megjelenítése: Excel! 1. rész

A komolyabb adatelemzéshez van egy szuper jó (és ingyenes!) Excel-bővítmény Data Streamer*néven, amelyet innen tölthet le.

Ez a bővítmény a soros portról olvasható, így pontosan ugyanazt a kódolási technikát használhatjuk az adatok soros nyomtatására, hogy közvetlenül az Excelbe juttassuk el az adatokat.

A Data Streamer bővítmény használata:

1. Miután telepítette (vagy ha rendelkezik O365 -tel), kattintson az Adatfolyam -fülre (jobbra) az Excelben.

2. Csatlakoztassa az Arduino-t, és kattintson az "Eszköz csatlakoztatása" gombra, majd válassza ki az Arduino-t a legördülő menüből. (1. fotó)

3. Kattintson az "Adatok indítása" gombra az adatgyűjtés megkezdéséhez! (2. fotó) Három új lap nyílik meg: "Data In", "Data Out" és "Settings".

Az élő adatokat a Data In lapon nyomtatja ki. (3. fotó) Minden sor egy érzékelő leolvasásának felel meg, az utolsó sorban a legújabb érték van nyomtatva.

Alapértelmezés szerint csak 15 sor adatot kapunk, de ezt a "Beállítások" menüpontban módosíthatja. Akár 500 sort is összegyűjthetünk (a korlátozás az Excel sávszélességéből adódik - sok minden történik a háttérben!).

*Teljes nyilvánosságra hozatal: Bár ez az oktatóanyag nem áll kapcsolatban, dolgozom a Microsoft Hacking STEM csapatával, amely kifejlesztette ezt a bővítményt.

13. lépés: Az adatok megjelenítése: Excel! 2. rész

Adatok megjelenítése: Excel! 2. rész
Adatok megjelenítése: Excel! 2. rész
Adatok megjelenítése: Excel! 2. rész
Adatok megjelenítése: Excel! 2. rész
Adatok megjelenítése: Excel! 2. rész
Adatok megjelenítése: Excel! 2. rész

4. Adjon hozzá egy diagramot az adataihoz! Végezzen némi adatelemzést! A szórásdiagramok megmutatják, hogyan változnak az érzékelői értékek az idő múlásával, ami ugyanaz, mint az Arduino soros plotterben.

Szórási rajz hozzáadása:

Lépjen a Beszúrás -> Diagramok -> Szórás menüpontra. Amikor megjelenik a diagram, kattintson rá jobb gombbal, és válassza az "Adatok kiválasztása", majd a "Hozzáadás" lehetőséget. Azt akarjuk, hogy adataink az y tengelyen jelenjenek meg, az "tengely"* pedig az x tengelyen. Ehhez kattintson az y tengely melletti nyílra, lépjen az Adatlapra, és válassza ki az összes bejövő érzékelőadatot (2. kép).

Excelben is végezhetünk számításokat és összehasonlításokat! Képlet írásához kattintson egy üres cellára, és írja be az egyenlőségjelet ("="), majd a kívánt számítást. Sok beépített parancs létezik, mint az átlag, maximum és minimum.

A parancs használatához írja be az egyenlőségjelet, a parancs nevét és a nyitott zárójelet, majd válassza ki az elemzett adatokat, és zárja be a zárójeleket (3. kép)

5. Egynél több adatoszlop (AKA egynél több érzékelő) elküldéséhez nyomtassa ki az értékeket ugyanazon a sorban, vesszővel elválasztva, egy utolsó üres új sorral, például:

Serial.print (sensorReading1);

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

*Ha azt szeretné, hogy a tényleges idő az x tengelyen legyen, válassza ki az időbélyeget az Adatlap A oszlopában a szórási diagram x tengelyének értékeihez. Mindenesetre látni fogjuk az adatainkat, ahogy azok idővel változnak.

14. lépés: Menjen előre és mérje meg az összes dolgot

Menj előre, és mérj fel mindent !!
Menj előre, és mérj fel mindent !!
Menj előre, és mérj fel mindent !!
Menj előre, és mérj fel mindent !!
Menj előre és mérj mindent !!
Menj előre és mérj mindent !!

Rendben emberek, ez minden! Ideje kifelé és felfelé haladni! Használja ezt alapként az érzékelők, az Arduino kódolás és az adatok elemzésének felfedezéséhez, hogy megválaszolja kérdéseit, érdekességeit és kedvenc rejtélyeit ebben a nagy, gyönyörű világban.

Ne feledje: rengeteg ember van, akik segítenek az úton, ezért kérjük, írjon megjegyzést, ha kérdése van!

Kell még néhány ötlet? Így készíthet hordható állapotváltó kapcsolót, napelemmel működő távoli hőmérséklet-érzékelőt és internethez csatlakoztatott ipari mérleget!

Tetszik ez az oktatóanyag, és többet szeretne látni? Támogassa projektjeinket a Patreon -on!: D

Ajánlott: