Sadržaj:

Korištenje Arduina za građansku znanost!: 14 koraka (sa slikama)
Korištenje Arduina za građansku znanost!: 14 koraka (sa slikama)

Video: Korištenje Arduina za građansku znanost!: 14 koraka (sa slikama)

Video: Korištenje Arduina za građansku znanost!: 14 koraka (sa slikama)
Video: [S eTwinningom kroz zelenu tranziciju] Nastava geografije, izvannastavne aktivnosti​ [14.3.2023.] 2024, Lipanj
Anonim
Image
Image
Pssst, Koja je razlika između Citizen Science i
Pssst, Koja je razlika između Citizen Science i

Znanost nam omogućuje da postavljamo najhitnija pitanja i istražujemo sve vrste zanimljivosti. Uz malo razmišljanja, napornog rada i strpljenja, možemo iskoristiti svoja istraživanja kako bismo izgradili 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 te kako prikupiti i vizualizirati podatke. Usput ćemo izgraditi tri projekta: prekidač za nagib, osjetnik temperature i vlage i senzor svjetla!

Razina težine: 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, koja je razlika između građanske znanosti i "službene znanosti"?

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

Rečeno je kako je građanska znanost izvrstan način za izgradnju temeljnog razumijevanja svih vrsta fascinantnih znanstvenih fenomena i dovoljno je dobra za većinu svakodnevnih aplikacija.

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

Korak 2: Što je Arduino ??

Što je Arduino ??
Što je Arduino ??
Što je Arduino ??
Što je Arduino ??
Što je Arduino ??
Što je Arduino ??
Što je Arduino ??
Što 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 dobar su izbor za znanstvene projekte za građane 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 što 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 priključak (poznat i kao mjesto gdje je spojen na vaše računalo). (Fotografija 3)

3. Pritisnite gumb Upload i provjerite dovršava li postavljanje. (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 kabel od A do B (poznat i kao kabel pisača)
  • Žice za kratkospojnike

    • 3 muško-muško
    • 3 muško-žensko
  • Oglasna ploča

    Izborno, ali preporučeno kako bi vam život učinili 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
  • Otpornik od 100 ohma

*Potpuno otkrivanje: 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 projektiranja znanstvenog eksperimenta obično započinjemo pitanjem: Koliko CO2 biljke apsorbiraju u jednom danu? Kolika je udarna sila skoka? Sta je svijest ??

Na temelju našeg pitanja tada možemo identificirati ono što želimo mjeriti i provesti neka istraživanja kako bismo otkrili koji senzor možemo koristiti za prikupljanje podataka (iako bi moglo biti malo nezgodno prikupiti podatke za to posljednje pitanje!).

Prilikom rada s elektronikom postoje dvije glavne vrste podatkovnih signala 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 od drugih. Prilikom istraživanja za vaš znanstveni projekt o građanima, 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. Naučimo se!

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 emitira digitalni signal, koji je ili uključen ili isključen.* Mi koristimo binarne brojeve za predstavljanje ova dva stanja: signal za uključivanje daje se s 1 ili True, dok je Off 0, ili Laž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 gumb i dobijemo signal (1), ili se ne pritisne, a nemamo signal (0). Senzori prikazani u donjem redu prve fotografije jednostavni su 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: 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
Projekt 1: Digitalni senzor prekidača za nagib

Za ovaj prvi projekt, upotrijebimo prekidač za nagib, taj crni cilindrični senzor s dvije noge! Korak 1: Umetnite jednu nogu prekidača za nagib u Arduino digitalni pin 13, a drugu nogu u GND pin 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 sjajan način za učenje! Uvijek možete ponovno 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čkicu kad nešto obori ili upotrijebite to za praćenje kretanja grana drveća tijekom oluja!.. & vjerojatno 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"), što je lijep način izgovaranja signala koji je uključen određeno vrijeme, a 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 po jedan bit ili binarnu znamenku. Ovi senzori zahtijevaju poznavanje čitanja podatkovnih tablica i mogu biti prilično nezgodni ako tek počinjete. Srećom, uobičajeni serijski senzori imat će biblioteke kodova* i uzorke programa za izvlačenje, tako da i dalje možete spojiti nešto funkcionalno. Više pojedinosti 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 knjižnica za senzor DHT11: knjižnica DHT11 i knjižnica Adafruit Unified Sensor. Da biste instalirali ove knjižnice (i većinu drugih Arduino knjižnica):

Korak 1: Otvorite upravitelja knjižnice Arduino tako da odete na Sketch -> Knjižnice -> upravljajte knjižnicom (Fotografija 2)

Korak 2: Instalirajte i aktivirajte DHT knjižnicu pretraživanjem "DHT", a zatim klikom na Instaliraj za "DHT Arduino knjižnica" (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 da odete na Sketch -> Libraries i kliknete na "DHT Arduino Library. (Fotografija 4) Ovo će umetnuti nekoliko novih redaka na vrhu vaše skice, što znači da knjižnica je sada aktivna i spremna za korištenje! (Fotografija 5)

*Baš kao i vaša omiljena lokalna knjižnica, knjižnice kodova bogate su znanjem i napornim radom drugih ljudi koje možemo upotrijebiti da si olakšamo život, da!

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 Starter Kit-a i spremni smo za rad!

Korak 1: S iglicama zaglavlja okrenutim 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, krenite naprijed 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 * temp. Slanja.

Korak 9: Analogni senzori

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

Nakon teškog uranjanja u digitalne senzore, analogni senzori mogu se činiti 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 analognim ulazom očitavamo analogni signal. Za ovaj test upotrijebit ćemo još jednostavnije postavke za mjerenje napona na LED diodi kad je osvijetlimo.

*Računala koriste digitalne signale za pohranu i prijenos informacija. To je zato što je digitalne signale lakše otkriti i pouzdaniji su, budući da se moramo brinuti samo o dobivanju 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 približava 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 stranica.

Korak 10: Projekt 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 nožice

Korak 3: Spojite otpornik između kraće LED noge i negativne tračnice napajanja (pored plave crte).

Korak 4: Spojite Arduino GND pin na negativnu vodilicu napajanja na ploči.

Korak 5: Napišite skicu koja se očitava na analognom pinu A0 i ispisuje na serijski monitor

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ćuje 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. Za korištenje serijskog plotera idite na Tools Serijski ploter. Grafikon na fotografiji 2 je izlaz LED diode kao svjetlosnog senzora iz Projekta 3!*

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

*Ako pogledate kraj, 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 dobili izravno u Excelu. Dovraga da !!

Kako koristiti dodatak Data Streamer:

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

2. Priključ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: "Data In", "Data Out" i "Settings".

Podaci uživo objavljeni su na listu Data In. (Fotografija 3) Svaki red odgovara očitanju senzora, a najnovija vrijednost ispisana je u zadnjem retku.

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

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

Korak 13: Vizualizacija podataka: Excel! 2. dio

Vizualizacija podataka: Excel! 2. dio
Vizualizacija podataka: Excel! 2. dio
Vizualizacija podataka: Excel! 2. dio
Vizualizacija podataka: Excel! 2. dio
Vizualizacija podataka: Excel! 2. dio
Vizualizacija podataka: Excel! 2. dio

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 raspršivač:

Idite na Umetni -> Karte -> Raspršivač. Kad se zaplet pojavi, desnom tipkom miša kliknite 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 list Podaci u i odaberite sve dolazne podatke senzora (Fotografija 2).

Također možemo raditi izračune i usporedbe u Excelu! Za pisanje formule kliknite praznu ćeliju i upišite znak jednakosti ("="), a zatim izračun koji ž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, a zatim odaberite podatke koje analizirate i zatvorite zagrade (Fotografija 3)

5. Za slanje više od jednog stupca podataka (AKA više od jednog senzora), ispišite vrijednosti u isti redak odvojene zarezom, s posljednjim praznim novim retkom, 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 stupcu A na listu podataka u za vrijednosti osi x na vašem raspršenom grafikonu. U svakom slučaju, vidjet ćemo naše podatke kako se mijenjaju s vremenom.

Korak 14: Idite naprijed i izmjerite sve stvari

Idi naprijed i izmjeri sve stvari !!
Idi naprijed i izmjeri sve stvari !!
Idi naprijed i izmjeri sve stvari !!
Idi naprijed i izmjeri sve stvari !!
Idi naprijed i izmjeri sve stvari !!
Idi naprijed i izmjeri sve stvari !!

U redu ljudi, to je sve! Vrijeme je za kretanje prema van i prema gore! Iskoristite ovo kao temelj 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 stanja, daljinski osjetnik temperature na solarni pogon i industrijsku vagu povezanu s internetom!

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

Preporučeni: