Sadržaj:

Korištenje Arduina za Citizen Science!: 14 koraka (sa slikama)
Korištenje Arduina za Citizen Science!: 14 koraka (sa slikama)

Video: Korištenje Arduina za Citizen Science!: 14 koraka (sa slikama)

Video: Korištenje Arduina za Citizen Science!: 14 koraka (sa slikama)
Video: CS50 2015 – 10-я неделя 2024, Jun
Anonim
Image
Image
Pssst, Koja je razlika između Citizen Science i
Pssst, Koja je razlika između Citizen Science i

Nauka nam omogućava da postavljamo najhitnija pitanja i istražujemo sve vrste zanimljivosti. Uz malo razmišljanja, napornog rada i strpljenja, možemo iskoristiti svoja istraživanja da izgradimo bolje razumijevanje i uvažavanje složenog i lijepog svijeta oko nas.

Ovaj vodič će vas naučiti kako koristiti Arduino (uno) mikrokontroler, kako koristiti različite vrste senzora i kako prikupiti i vizualizirati podatke. Usput ćemo izgraditi tri projekta: prekidač za nagib, senzor temperature i vlažnosti i senzor svjetla!

Nivo teškoće: početnik

Vrijeme čitanja: 20 min

Vrijeme izrade: Ovisi o vašem projektu! (Projekti u ovom vodiču traju oko 15 - 20 minuta)

Korak 1: Pssst, kakva je razlika između građanske nauke i "službene nauke"?

Najveća razlika je u tome što je nauka o građanima, kako ja volim reći, "ručno valovita", što znači da postoji mnogo grešaka i neizvjesnosti i nema rigoroznog procesa za njihovu identifikaciju. Zbog toga su zaključci do kojih je došlo putem građanske znanosti mnogo manje točni od naučne znanosti i ne bi se trebalo oslanjati na njih da donose ozbiljne/životno opasne/opasne po život tvrdnje ili odluke.*

Kako je rečeno, nauka o građanima odličan je način za izgradnju temeljnog razumijevanja svih vrsta fascinantnih naučnih fenomena i dovoljno je dobra za većinu svakodnevnih aplikacija.

*Ako se bavite građanskom naukom i otkrijete nešto potencijalno opasno (npr. Visok nivo olova u vodi), obavijestite svog odgojitelja (ako je primjenjivo) i obratite se nadležnim vlastima i stručnjacima za pomoć.

Korak 2: Šta je Arduino ??

Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??
Šta je Arduino ??

Arduino je ploča mikrokontrolera i integrirano razvojno okruženje ("IDE"), što je lijep način za reći "program za kodiranje". Za početnike toplo preporučujem Arduino Uno ploče jer su super robusne, pouzdane i moćne.

Arduino ploče su dobar izbor za građanske naučne projekte jer imaju puno ulaznih pinova za čitanje i na analognim i na digitalnim senzorima (o tome ćemo kasnije govoriti više).

Naravno, možete koristiti i druge mikrokontrolere za građansku znanost ovisno o vašim (ili potrebama vaših učenika) potrebama, sposobnostima i razini udobnosti. Evo pregleda mikrokontrolera koji će vam pomoći da odlučite šta je najbolje za vas!

Za bljeskanje ili programiranje Arduino ploče priključite je putem USB -a, a zatim:

1. Odaberite vrstu Arduina koji koristite pod Alati -> Ploče. (Fotografija 2)

2. Odaberite port (poznat i kao mesto na koje je povezan sa vašim računarom). (Fotografija 3)

3. Kliknite na dugme Upload i proverite da li je otpremanje završeno. (Fotografija 4)

Korak 3: Alati i materijali

Alati i materijali
Alati i materijali

Ako tek počinjete, nabavka kompleta je brz i jednostavan način da nabavite hrpu dijelova odjednom. Komplet koji koristim u ovom vodiču je Elegoo Arduino Starter Kit.*

Alati

  • Arduino Uno
  • USB A do B kabl (poznat i kao kabl štampača)
  • Džemper žice

    • 3 muško-muško
    • 3 muško-žensko
  • Breadboard

    Neobavezno, ali preporučeno da vam život učini lakšim i zabavnijim:)

Materijali

Za projekte obuhvaćene ovim vodičem trebat će vam ovi dijelovi iz Elegoo Arduino Starter Kit:

  • Prekidač za nagib
  • DTH11 Senzor temperature i vlažnosti
  • LED
  • 100 Ohm Resistor

*Potpuno otkrivanje podataka: Ove iste setove kupujem za radionice, ali komplet korišten u ovom vodiču donirali su dragi ljudi iz Elegoo -a.

Korak 4: Koje vrste senzora možemo koristiti?

Koje vrste senzora možemo koristiti?
Koje vrste senzora možemo koristiti?

Prilikom dizajniranja naučnog eksperimenta obično započinjemo pitanjem: Koliko CO2 biljke apsorbiraju u jednom danu? Kolika je udarna sila skoka? Šta je svijest ??

Na temelju našeg pitanja tada možemo identificirati ono što želimo mjeriti i izvršiti neko istraživanje kako bismo otkrili koji senzor možemo koristiti za prikupljanje podataka (iako bi bilo prilično teško prikupiti podatke za to posljednje pitanje!).

Prilikom rada s elektronikom postoje dvije glavne vrste signala podataka senzora: digitalni i analogni. Na fotografiji su prva dva reda dijelova digitalni senzori, dok su gornja dva reda analogna.

Postoji mnogo različitih vrsta digitalnih senzora, a s nekima je izazovnije raditi s drugima. Prilikom istraživanja za vaš građanski znanstveni projekt, uvijek provjerite kako senzor daje podatke (srsly tho) i provjerite možete li pronaći (Arduino) biblioteku za taj specifični senzor.

U tri projekta obuhvaćena ovim vodičem koristit ćemo dvije vrste digitalnih senzora i jedan analogni senzor. Hajde da učimo!

Korak 5: Digitalni senzori! 1. dio: Lako

Digitalni senzori! 1. dio: Lako!
Digitalni senzori! 1. dio: Lako!
Digitalni senzori! 1. dio: Lako!
Digitalni senzori! 1. dio: Lako!

Većina senzora koje ćete koristiti emituje digitalni signal, koji je ili uključen ili isključen.* Mi koristimo binarne brojeve za predstavljanje ova dva stanja: signal za uključivanje je dat sa 1 ili True, dok je Off 0, ili Netačno. Ako bismo nacrtali sliku kako izgleda binarni signal, to bi bio kvadratni val poput onog na fotografiji 2.

Postoje neki digitalni senzori, poput prekidača, koje je super jednostavno i jednostavno izmjeriti jer se ili pritisne tipka i dobijemo signal (1), ili se ne pritisne i nemamo signal (0). Senzori prikazani u donjem redu prve fotografije su jednostavni tipovi uključivanja/isključivanja. Senzori u gornjem redu su malo složeniji i pokriveni su nakon našeg prvog projekta.

Prva dva projekta u ovom vodiču naučit će vas kako koristiti obje vrste! Naprijed za izgradnju našeg prvog projekta !!

*Uključeno znači električni signal u obliku električne struje i napona. Isključeno znači da nema električnog signala!

Korak 6: Projekat 1: Digitalni senzor prekidača za nagib

Projekt 1: Digitalni senzor prekidača za nagib
Projekt 1: Digitalni senzor prekidača za nagib
Projekt 1: Digitalni senzor prekidača za nagib
Projekt 1: Digitalni senzor prekidača za nagib
Projekt 1: Digitalni senzor prekidača za nagib
Projekt 1: Digitalni senzor prekidača za nagib

Za ovaj prvi projekt, upotrijebimo prekidač za nagib, taj crni cilindrični senzor s dvije nogice! Korak 1: Umetnite jednu nogu prekidača za nagib u Arduino digitalnu iglu 13, a drugu nogu u pin GND tik do pina 13. Orijentacija nije važno.

Korak 2: Napišite skicu koja čita i ispisuje status Digital Pin 13

Ili možete koristiti samo moje!

Ako tek počinjete s kodiranjem, pročitajte komentare da biste bolje razumjeli kako skica funkcionira i pokušajte promijeniti neke stvari da vidite što se događa! U redu je razbijati stvari, to je odličan način za učenje! Uvijek možete ponovo preuzeti datoteku i početi ispočetka:)

Korak 3: Da biste vidjeli svoje podatke uživo, kliknite gumb Serijski monitor (fotografija 2)

.. aaaa i to je to! Sada možete koristiti prekidač za nagib za mjerenje orijentacije! Postavite ga tako da doziva vašu mačicu kad nešto prevrne ili upotrijebite to za praćenje kretanja grana drveća za vrijeme oluje!.. i vjerovatno postoje druge primjene između te dvije krajnosti.

Korak 7: Digitalni senzori! Dio 2: PWM i serijska komunikacija

Digitalni senzori! Dio 2: PWM i serijska komunikacija
Digitalni senzori! Dio 2: PWM i serijska komunikacija
Digitalni senzori! Dio 2: PWM i serijska komunikacija
Digitalni senzori! Dio 2: PWM i serijska komunikacija
Digitalni senzori! Dio 2: PWM i serijska komunikacija
Digitalni senzori! Dio 2: PWM i serijska komunikacija

Postoji mnogo načina za stvaranje složenijih digitalnih signala! Jedna metoda se naziva Pulse Width Modulation ("PWM"), koja je lijep način izgovaranja signala koji je uključen određeno vrijeme i isključen određeno vrijeme. Servo motori (koji se mogu koristiti za mjerenje položaja) i ultrazvučni senzori primjeri su senzora koji koriste PWM signale.

Postoje i senzori koji koriste serijsku komunikaciju za slanje podataka jedan po jedan ili binarni broj. Ovi senzori zahtijevaju poznavanje čitanja podatkovnih listova i mogu biti prilično nezgodni ako tek počinjete. Srećom, uobičajeni serijski senzori će imati biblioteke kodova* i uzorke programa za izvlačenje, tako da i dalje možete spojiti nešto funkcionalno. Više detalja o protokolima serijske komunikacije izlazi iz okvira ovog vodiča, ali evo sjajnog izvora o serijskoj komunikaciji iz SparkFuna kako biste saznali više!

Za ovaj ogledni projekt upotrijebimo senzor temperature i vlažnosti (DHT11)! Ovo je mali plavi kvadrat s rupama i 3 igle.

Prvo će nam trebati nekoliko posebnih biblioteka za DHT11 senzor: biblioteka DHT11 i biblioteka Adafruit Unified Sensor. Da biste instalirali ove biblioteke (i većinu drugih Arduino biblioteka):

Korak 1: Otvorite upravitelja Arduino biblioteke tako što ćete otići na Sketch -> Biblioteke -> upravljati bibliotekom (Fotografija 2)

Korak 2: Instalirajte i aktivirajte DHT biblioteku pretraživanjem "DHT", a zatim klikom na Instaliraj za "DHT Arduino biblioteka" (Fotografija 3)

Korak 3: Instalirajte i aktivirajte biblioteku Adafruit Unified Sensor pretraživanjem "Adafruit Unified Sensor" i klikom na install.

Korak 4: Umetnite DHT biblioteku u svoju otvorenu skicu tako što ćete otići na Sketch -> Libraries i kliknuti na "DHT Arduino Library. (Fotografija 4) Ovo će umetnuti nekoliko novih redaka na vrhu vaše skice, što znači da biblioteka je sada aktivna i spremna za upotrebu! (Fotografija 5)

*Baš kao i vaša omiljena lokalna biblioteka, biblioteke kodova bogato su znanje i naporan rad drugih ljudi koje možemo upotrijebiti da si olakšamo živote!

Korak 8: Projekt 2: Digitalni serijski senzor temperature i vlage

Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage
Projekt 2: Digitalni serijski senzor temperature i vlage

Uhvatite 3 kratkospojne žice muško-ženski iz Elegoo Arduino početnog seta i spremni smo za rad!

Korak 1: Igle zaglavlja okrenute prema vama, spojite krajnju desnu iglu zaglavlja na DHT11 s Arduino iglom za uzemljenje ("GND").

Korak 2: Spojite srednji pin zaglavlja na Arduino 5V izlazni pin.

Korak 3: Spojite krajnji lijevi pin zaglavlja na Arduino Digital Pin 2

Korak 4: Na kraju, pročitajte DHT biblioteku i okušajte se u pisanju skice! Oooo, možete upotrijebiti moj ili skicu primjera DHT testa u Arduinu -> Primjeri!

Kad ga pokrenete, idite i izmjerite temperaturu i vlažnost u svim stvarima!.. Poput daha životinje, staklenika ili vašeg omiljenog mjesta za penjanje u različito doba godine kako biste pronašli * savršenu * temperaturu slanja.

Korak 9: Analogni senzori

Analogni senzori!
Analogni senzori!
Analogni senzori!
Analogni senzori!

Nakon teškog uranjanja u digitalne senzore, analogni senzori mogu izgledati kao povjetarac! Analogni signali su kontinuirani signal, kao što je prikazano na drugoj fotografiji. Većina fizičkog svijeta postoji u analognom obliku (npr. Temperatura, starost, tlak itd.), Ali budući da su računala digitalna*, većina senzora emitirat će digitalni signal. Neki mikrokontroleri, poput Arduino ploča, također mogu čitati analogne signale **.

Za većinu analognih senzora dajemo snagu senzora, a zatim očitavamo analogni signal pomoću pinova za analogni ulaz. Za ovaj test koristit ćemo još jednostavnije podešavanje za mjerenje napona na LED diodi kada na nju zasvijetlimo.

*Računari koriste digitalne signale za pohranu i prijenos informacija. To je zato što je digitalne signale lakše otkriti i pouzdaniji su, jer sve o čemu moramo brinuti je dobivanje signala ili ne u odnosu na brigu o kvaliteti/točnosti signala.

** Za čitanje analognog signala na digitalnom uređaju moramo koristiti analogno-digitalni ili ADC pretvarač, koji aproksimira analogni signal usporedbom ulaza s poznatim naponom na uređaju, a zatim broji koliko dugo traje potrebno za postizanje ulaznog napona. Za više informacija, ovo je korisna web lokacija.

Korak 10: Projekat 3: LED kao svjetlosni senzor

Projekt 3: LED kao svjetlosni senzor!
Projekt 3: LED kao svjetlosni senzor!
Projekt 3: LED kao svjetlosni senzor!
Projekt 3: LED kao svjetlosni senzor!

Uzmite LED (bilo koje boje osim bijele), otpornik od 100 Ohma i 2 kratkospojna kabela. Oh, i oplata!

Korak 1: Umetnite LED diodu u ploču s dužom nogom s desne strane.

Korak 2: Spojite kratkospojnik sa Arduino analognog pina A0 i duže LED noge

Korak 3: Spojite otpornik između kraće LED noge i negativne razvodne ploče (pored plave linije).

Korak 4: Spojite Arduino GND pin na negativnu žicu napajanja na matičnoj ploči.

Korak 5: Napišite skicu koja glasi na analognom pinu A0 i štampa na serijskom monitoru

Evo primjera koda za početak.

Korak 11: Vizualizacija podataka: Arduino IDE

Vizualizacija podataka: Arduino IDE!
Vizualizacija podataka: Arduino IDE!
Vizualizacija podataka: Arduino IDE!
Vizualizacija podataka: Arduino IDE!

Arduino IDE dolazi s ugrađenim alatima za vizualizaciju podataka. Već smo istražili osnove serijskog monitora koji nam omogućava ispis vrijednosti senzora. Ako želite spremiti i analizirati svoje podatke, kopirajte izlaz izravno iz serijskog monitora i zalijepite u uređivač teksta, proračunsku tablicu ili drugi alat za analizu podataka.

Drugi alat koji možemo koristiti za pregled podataka u Arduino programu je serijski ploter, vizualna verzija (poznata i kao grafikon) serijskog monitora. Da biste koristili serijski ploter, idite na Tools Serijski ploter. Grafikon na fotografiji 2 je izlaz LED -a kao svjetlosnog senzora iz Projekta 3!*

Zacrt će se automatski skalirati i sve dok koristite Serial.println () za svoje senzore, on će također ispisivati sve vaše senzore u različitim bojama. Ura! To je to!

*Ako pogledate na kraju, postoji super zanimljiv valni uzorak koji je vjerojatno posljedica izmjenične struje ("AC") u našim svjetlima iznad nas!

Korak 12: Vizualizacija podataka: Excel! 1. dio

Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio
Vizualizacija podataka: Excel! 1. dio

Za ozbiljniju analizu podataka postoji super cool (i besplatan!) Dodatak za Excel pod nazivom Data Streamer*, koji možete preuzeti ovdje.

Ovaj dodatak čita sa serijskog porta, tako da možemo upotrijebiti potpuno istu tehniku kodiranja ispisa podataka do serijskog zapisa kako bismo podatke unijeli izravno u Excel.. pakao da !!

Kako se koristi dodatak Data Streamer:

1. Nakon što ga instalirate (ili ako imate O365), kliknite na karticu Data Streamer (krajnje desno) u Excelu.

2. Uključite svoj Arduino i kliknite "Poveži uređaj", a zatim s padajućeg izbornika odaberite Arduino. (Fotografija 1)

3. Pritisnite "Start Data" za početak prikupljanja podataka! (Fotografija 2) Vidjet ćete da se otvaraju tri nova lista: "Podaci u", "Izlaz podataka" i "Postavke".

Podaci uživo objavljeni su na listu Data In. (Fotografija 3) Svaki red odgovara očitanju senzora, s najnovijom vrijednošću ispisanom u posljednjem redu.

Prema zadanim postavkama dobivamo samo 15 redova podataka, ali to možete promijeniti u "Postavkama". Možemo prikupiti do 500 redova (ograničenje je zbog Excel propusnosti - u pozadini se događa mnogo toga!).

*Potpuno otkrivanje podataka: Iako ovaj vodič nije povezan, radim sa Microsoft Hacking STEM timom koji je razvio ovaj dodatak.

Korak 13: Vizualizacija podataka: Excel! Dio 2

Vizualizacija podataka: Excel! Dio 2
Vizualizacija podataka: Excel! Dio 2
Vizualizacija podataka: Excel! Dio 2
Vizualizacija podataka: Excel! Dio 2
Vizualizacija podataka: Excel! Dio 2
Vizualizacija podataka: Excel! Dio 2

4. Dodajte parcelu svojih podataka! Napravite analizu podataka! Raspršeni grafikoni pokazuju vam kako se očitanja senzora mijenjaju s vremenom, što je isto što smo vidjeli i na Arduino serijskom ploteru.

Da biste dodali Scatter Plot:

Idite na Umetni -> Karte -> Raspršivač. Kad se zaplet pojavi, kliknite desnim tasterom miša na njega i odaberite "Odaberi podatke", a zatim Dodaj. Želimo da se naši podaci prikazuju na osi y, s "vremenom"* na osi x. Da biste to učinili, kliknite strelicu pored osi y, idite na stranicu Podaci u i odaberite sve dolazne podatke senzora (Slika 2).

Takođe možemo vršiti proračune i poređenja u Excelu! Da biste napisali formulu, kliknite na praznu ćeliju i upišite znak jednakosti ("="), a zatim izračunajte koju želite napraviti. Postoji mnogo ugrađenih naredbi poput prosječne, maksimalne i minimalne.

Da biste koristili naredbu, upišite znak jednakosti, naziv naredbe i otvorene zagrade, zatim odaberite podatke koje analizirate i zatvorite zagrade (Slika 3)

5. Za slanje više od jedne kolone podataka (AKA više od jednog senzora), odštampajte vrijednosti u istom redu odvojene zarezom, sa posljednjim praznim novim redom, ovako:

Serial.print (sensorReading1);

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

*Ako želite da se stvarno vrijeme nalazi na osi x, odaberite vremensku oznaku u koloni A na listu podataka u za vrijednosti osi x na vašem dijagramu raspršivanja. U svakom slučaju, vidjet ćemo naše podatke kako se mijenjaju s vremenom.

Korak 14: Idite naprijed i izmjerite sve stvari

Idite naprijed i izmjerite sve stvari !!
Idite naprijed i izmjerite sve stvari !!
Idite naprijed i izmjerite sve stvari !!
Idite naprijed i izmjerite sve stvari !!
Idite naprijed i izmjerite sve stvari !!
Idite naprijed i izmjerite sve stvari !!

U redu ljudi, to je sve! Vreme je za napred i naviše! Koristite ovo kao osnovu za početak istraživanja senzora, Arduino kodiranja i analize podataka za rješavanje vaših pitanja, zanimljivosti i omiljenih misterija u ovom velikom, prekrasnom svijetu.

Upamtite: postoji mnogo ljudi koji vam mogu pomoći na tom putu, pa ostavite komentar ako imate pitanje!

Trebate još ideja? Evo kako napraviti prekidač za promjenu stanja nosivog uređaja, daljinski senzor temperature na solarni pogon i industrijsko mjerilo povezano s internetom!

Sviđa vam se ovaj vodič i želite vidjeti više? Podržite naše projekte na Patreonu!: D

Preporučuje se: