Innholdsfortegnelse:
- Trinn 1: Pssst, hva er forskjellen mellom borgervitenskap og "offisiell vitenskap"?
- Trinn 2: Hva er Arduino ??
- Trinn 3: Verktøy og materialer
- Trinn 4: Hvilke typer sensorer kan vi bruke?
- Trinn 5: Digitale sensorer! Del 1: De enkle
- Trinn 6: Prosjekt 1: Tilt Switch Digital Sensor
- Trinn 7: Digitale sensorer! Del 2: PWM og seriell kommunikasjon
- Trinn 8: Prosjekt 2: Temp og fuktighet Digital seriell sensor
- Trinn 9: Analoge sensorer
- Trinn 10: Prosjekt 3: LED som lyssensor
- Trinn 11: Visualisere data: Arduino IDE
- Trinn 12: Visualisere data: Excel! Del 1
- Trinn 13: Visualisere data: Excel! Del 2
- Trinn 14: Gå frem og mål alle tingene
Video: Bruke Arduino for Citizen Science !: 14 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Vitenskapen lar oss stille våre mest presserende spørsmål og utforske alle slags nysgjerrigheter. Med litt tanke, hardt arbeid og tålmodighet kan vi bruke våre undersøkelser til å bygge en bedre forståelse og forståelse av den komplekse og vakre verden rundt oss.
Denne opplæringen vil lære deg hvordan du bruker en Arduino (uno) mikrokontroller, hvordan du bruker forskjellige typer sensorer, og hvordan du samler og visualiserer data. Underveis bygger vi tre prosjekter: en vippebryter, en temperatur- og fuktighetssensor og en lyssensor!
Vanskelighetsgrad: Nybegynner
Lesetid: 20 min
Byggetid: Avhenger av prosjektet ditt! (Prosjektene i denne opplæringen tar omtrent 15-20 minutter)
Trinn 1: Pssst, hva er forskjellen mellom borgervitenskap og "offisiell vitenskap"?
Den største forskjellen er at innbyggervitenskap er, som jeg elsker å si, "håndbølget", noe som betyr at det er mange feil og usikkerheter og ingen streng prosess for å identifisere dem. På grunn av dette er konklusjoner som er nådd gjennom innbyggervitenskap, mye mindre nøyaktige enn vitenskapsvitenskap og bør ikke stole på alvorlige/livsendrende/livstruende påstander eller beslutninger.*
Når det er sagt, er borgervitenskap en flott måte å bygge en grunnleggende forståelse av alle slags fascinerende vitenskapelige fenomener og er god nok for de fleste daglige applikasjoner.
*Hvis du driver med statsvitenskap og oppdager noe som er potensielt farlig (f.eks. Høye blynivåer i vann), må du informere læreren din (hvis aktuelt) og kontakte relevante myndigheter og fagfolk for å få hjelp.
Trinn 2: Hva er Arduino ??
Arduino er et mikrokontrollerkort og Integrated Development Environment ("IDE"), som er en fin måte å si "kodingsprogram". For nybegynnere anbefaler jeg Arduino Uno -brett på det sterkeste fordi de er super robuste, pålitelige og kraftige.
Arduino -tavler er et godt valg for samfunnsvitenskapelige prosjekter fordi de har mange input -pins å lese i både analoge og digitale sensorer (vi kommer mer inn på dette senere).
Selvfølgelig kan du bruke andre mikrokontrollere til innbyggervitenskap, avhengig av dine (eller elevenes) behov, evner og komfortnivå. Her er en oversikt over mikrokontrollere for å hjelpe deg med å bestemme hva som er best for deg!
For å blinke eller programmere et Arduino -kort, kobler du det til via USB og deretter:
1. Velg typen Arduino du bruker under Verktøy -> Tavler. (Bilde 2)
2. Velg porten (aka der den er koblet til datamaskinen). (Bilde 3)
3. Klikk på Last opp -knappen og kontroller at den er lastet opp. (Bilde 4)
Trinn 3: Verktøy og materialer
Hvis du nettopp har begynt, er det raskt og enkelt å få et sett med mange deler samtidig. Settet jeg bruker i denne opplæringen er Elegoo Arduino Starter Kit.*
Verktøy
- Arduino Uno
- USB A til B -kabel (aka skriverkabel)
-
Jumper Wires
- 3 mann-til-mann
- 3 mann til kvinne
-
Brødbrett
Valgfritt, men anbefalt for å gjøre livet ditt enklere og morsommere:)
Materialer
For prosjektene som er omtalt i denne opplæringen, trenger du disse delene fra Elegoo Arduino Starter Kit:
- Vippebryter
- DTH11 temperatur- og fuktighetssensor
- LED
- 100 Ohm motstand
*Full informasjon: Jeg kjøper de samme settene til workshops, men settet som ble brukt i denne opplæringen ble donert av de flotte folkene på Elegoo.
Trinn 4: Hvilke typer sensorer kan vi bruke?
Når vi designer et vitenskapelig eksperiment, starter vi vanligvis med et spørsmål: Hvor mye CO2 absorberer planter på en dag? Hva er slagkraften til et hopp? Hva er bevissthet ??
Basert på spørsmålet vårt, kan vi deretter identifisere hva vi vil måle og gjøre noen undersøkelser for å finne ut hvilken sensor vi kan bruke til å samle data (selv om det kan være litt vanskelig å samle data for det siste spørsmålet!).
Når du arbeider med elektronikk, er det to hovedtyper av sensordatasignaler: Digital og Analog. På bildet er de to første radene med deler digitale sensorer, mens de to øverste radene er analoge.
Det er mange forskjellige typer digitale sensorer, og noen er mer utfordrende å jobbe med enn andre. Når du gjør undersøkelser for ditt borgervitenskapelige prosjekt, må du alltid sjekke hvordan sensoren legger ut data (srsly tho) og sørge for at du kan finne et (Arduino) bibliotek for den spesifikke sensoren.
I de tre prosjektene som er dekket i denne opplæringen, bruker vi to typer digitale sensorer og en analog sensor. La oss lære det!
Trinn 5: Digitale sensorer! Del 1: De enkle
De fleste sensorer du bruker, sender ut et digitalt signal, som er et signal som enten er på eller av.* Vi bruker binære tall for å representere disse to tilstandene: et På -signal er gitt av en 1, eller True, mens Av er 0, eller Falske. Hvis vi skulle tegne et bilde av hvordan et binært signal ser ut, ville det være en firkantbølge som den på Foto 2.
Det er noen digitale sensorer, som brytere, som er veldig enkle og enkle å måle fordi enten knappen trykkes og vi får et signal (1), eller så blir det ikke trykket og vi har ikke noe signal (0). Sensorene på den nederste raden i det første bildet er alle enkle av/på -typer. Sensorene på øverste rad er litt mer komplekse og er dekket etter vårt første prosjekt.
De to første prosjektene i denne opplæringen vil lære deg hvordan du bruker begge typene! Fortsett å bygge vårt første prosjekt !!
*På betyr et elektrisk signal i form av elektrisk strøm og spenning. Av betyr ingen elektrisk signal!
Trinn 6: Prosjekt 1: Tilt Switch Digital Sensor
For dette første prosjektet, la oss bruke en vippebryter, den svarte sylindriske sensoren med to bein! Trinn 1: Sett det ene benet på vippebryteren inn i Arduino Digital Pin 13, og det andre benet i GND -pinnen rett ved siden av pin 13. Orientering spiller ingen rolle.
Trinn 2: Skriv en skisse som leser inn og skriver ut statusen til Digital Pin 13
Eller du kan bare bruke min!
Hvis du nettopp har begynt å kode, kan du lese gjennom kommentarene for å bedre forstå hvordan skissen fungerer og prøve å endre noen ting for å se hva som skjer! Det er OK å bryte ting, det er en fin måte å lære på! Du kan alltid laste ned filen på nytt og starte på nytt:)
Trinn 3: For å se dine live data, klikk på Serial Monitor -knappen (foto 2)
.. aaaand det er det! Du kan nå bruke vippebryteren til å måle orientering! Sett den opp for å kalle ut pusen din når den banker på noe, eller bruk den til å holde oversikt over hvordan tregrener beveger seg under storm!.. og det er sannsynligvis andre applikasjoner mellom de to ytterpunktene.
Trinn 7: Digitale sensorer! Del 2: PWM og seriell kommunikasjon
Det er mange måter å lage mer komplekse digitale signaler på! En metode kalles Pulse Width Modulation ("PWM"), som er en fin måte å si et signal som er på i en viss tid og av i en viss tid. Servomotorer (som kan brukes til å måle posisjon) og ultralydsensorer er eksempler på sensorer som bruker PWM -signaler.
Det er også sensorer som bruker seriell kommunikasjon til å sende data ett bit, eller binært siffer, om gangen. Disse sensorene krever litt kjennskap til å lese datablad og kan være ganske vanskelige hvis du bare har begynt. Heldigvis vil vanlige serielle sensorer ha kodebiblioteker* og prøveprogrammer å trekke fra, slik at du fremdeles kan brette sammen noe funksjonelt. Flere detaljer om seriekommunikasjonsprotokoller er utenfor omfanget av denne opplæringen, men her er en flott ressurs om seriell kommunikasjon fra SparkFun for å lære mer!
For dette prøveprosjektet, la oss bruke temperatur- og fuktighetssensoren (DHT11)! Dette er en lilla blå firkant med hull og 3 pinner.
Først trenger vi et par spesielle biblioteker for DHT11 -sensoren: DHT11 -biblioteket og Adafruit Unified Sensor -biblioteket. For å installere disse bibliotekene (og de fleste andre Arduino -biblioteker):
Trinn 1: Åpne Arduino biblioteksjef ved å gå til Sketch -> Libraries -> administrer bibliotek (foto 2)
Trinn 2: Installer og aktiver DHT -biblioteket ved å søke etter "DHT" og deretter klikke Installer for "DHT Arduino Library" (Bilde 3)
Trinn 3: Installer og aktiver Adafruit Unified Sensor -biblioteket ved å søke etter "Adafruit Unified Sensor" og klikke installer.
Trinn 4: Sett inn DHT -biblioteket i din åpne skisse ved å gå til Sketch -> Libraries, og klikk på "DHT Arduino Library. (Foto 4) Dette vil sette inn et par nye linjer øverst på skissen din, noe som betyr at vår biblioteket er nå aktivt og klart til bruk! (Bilde 5)
*Akkurat som ditt favorittbibliotek, er kodebiblioteker et vell av kunnskap og andre menneskers harde arbeid som vi kan bruke for å gjøre livet lettere, ja!
Trinn 8: Prosjekt 2: Temp og fuktighet Digital seriell sensor
Ta tak i tre mann-til-hunn-jumperledninger fra Elegoo Arduino Starter Kit, så er vi klare!
Trinn 1: Med toppnålene vendt mot deg, kobler du toppstiften til høyre på DHT11 til en Arduino -jordet ("GND") pinne.
Trinn 2: Koble den midtre toppnålen til Arduino 5V utgangspinne.
Trinn 3: Koble toppstiften til venstre til Arduino Digital Pin 2
Trinn 4: Les til slutt DHT -biblioteket og prøv å skrive en skisse! Oooor du kan bruke min eller DHT -testeksempelskissen i Arduino -> Eksempler!
Når du er i gang, må du gå og måle temperaturen og fuktigheten til alle tingene!.. Som et pust av et dyr, et drivhus eller ditt favoritt klatrested på forskjellige tider av året for å finne den * perfekte * sendetemperaturen.
Trinn 9: Analoge sensorer
Etter det vanskelige dypet i digitale sensorer, kan analoge sensorer virke som en lek! Analoge signaler er et kontinuerlig signal, som vist på det andre bildet. Det meste av den fysiske verden eksisterer analogt (f.eks. Temperatur, alder, trykk, etc.), men siden datamaskiner er digitale*, sender de fleste sensorer et digitalt signal. Noen mikrokontrollere, som Arduino -kort, kan også lese i analoge signaler **.
For de fleste analoge sensorer gir vi sensoren strøm, og leser deretter inn det analoge signalet ved hjelp av de analoge inngangspinnene. For denne testen bruker vi et enda enklere oppsett for å måle spenningen over en LED når vi skinner lys på den.
*Datamaskiner bruker digitale signaler til å lagre og overføre informasjon. Dette er fordi digitale signaler er lettere å oppdage og er mer pålitelige, siden alt vi trenger å bekymre deg for er å få et signal eller ikke versus å måtte bekymre deg for kvaliteten/nøyaktigheten til signalet.
** For å lese inn et analogt signal på en digital enhet, må vi bruke en analog-til-digital eller ADC-omformer, som tilnærmer det analoge signalet ved å sammenligne inngangen til en kjent spenning på enheten, og deretter telle hvor lenge det tar for å nå inngangsspenningen. For mer informasjon, er dette et nyttig nettsted.
Trinn 10: Prosjekt 3: LED som lyssensor
Ta tak i en LED (hvilken som helst farge bortsett fra hvit), en 100 Ohm motstand og 2 startkabler. Åh, og et brødbrett!
Trinn 1: Sett lysdioden inn i brødbrettet med det lengre beinet på høyre side.
Trinn 2: Koble en jumper wire fra Arduino Analog Pin A0 og det lengre LED -beinet
Trinn 3: Koble motstanden mellom det kortere LED -beinet og brødbrettets negative strømskinne (ved siden av den blå linjen).
Trinn 4: Koble Arduino GND -pinnen til den negative strømskinnen på brødbrettet.
Trinn 5: Skriv en skisse som leser i Analog Pin A0 og skrives ut til Serial Monitor
Her er en prøvekode for å komme i gang.
Trinn 11: Visualisere data: Arduino IDE
Arduino IDE leveres med innebygde verktøy for å visualisere data. Vi har allerede utforsket det grunnleggende om Serial Monitor som lar oss skrive ut sensorverdier. Hvis du vil lagre og analysere dataene dine, kopierer du utdataene direkte fra Serial Monitor og limer inn i et tekstredigeringsprogram, regneark eller annet dataanalyseverktøy.
Det andre verktøyet vi kan bruke til å se dataene våre i Arduino -programmet er Serial Plotter, en visuell versjon (aka graf) av Serial Monitor. For å bruke serieplotteren, gå til Tools Serial Plotter. Grafen i Foto 2 er utgangen fra LED -en som en lyssensor fra Project 3!*
Plottet skaleres automatisk og så lenge du bruker Serial.println () for sensorene dine, vil det også skrive ut alle sensorene dine i forskjellige farger. Hurra! Det er det!
*Hvis du ser på slutten, er det et super interessant bølgemønster som sannsynligvis skyldes vekselstrømmen ("AC") i våre overlys!
Trinn 12: Visualisere data: Excel! Del 1
For mer seriøs dataanalyse er det et superkult (og gratis!) Tillegg for Excel kalt Data Streamer*, som du kan laste ned her.
Dette tillegget leser fra den serielle porten, så vi kan bruke nøyaktig samme kodeteknikk for å skrive ut data til serie for å få data direkte inn i Excel.. pokker ja !!
Slik bruker du Data Streamer-tillegget:
1. Når du har installert den (eller hvis du har O365), klikker du på fanen Data Streamer (helt til høyre) i Excel.
2. Koble til Arduino og klikk "Koble til enhet", og velg deretter Arduino fra rullegardinmenyen. (Bilde 1)
3. Klikk på "Start data" for å starte datainnsamlingen! (Bilde 2) Du vil se tre nye ark åpne: "Data In", "Data Out" og "Settings".
Levende data skrives ut i Data In -arket. (Foto 3) Hver rad tilsvarer en sensoravlesning, med den nyeste verdien skrevet ut i den siste raden.
Som standard får vi bare 15 rader med data, men du kan endre dette ved å gå til "Innstillinger". Vi kan samle opptil 500 rader (grensen skyldes Excel -båndbredde - det skjer mye i bakgrunnen!).
*Full avsløring: Selv om denne opplæringen ikke er tilknyttet, jobber jeg med Microsoft Hacking STEM-teamet som utviklet dette tillegget.
Trinn 13: Visualisere data: Excel! Del 2
4. Legg til en tomt med dataene dine! Gjør litt dataanalyse! Spredningsdiagrammer viser deg hvordan sensoravlesningene endres over tid, noe som er det samme som vi så i Arduino Serial Plotter.
Slik legger du til et spredningsdiagram:
Gå til Insert -> Charts -> Scatter. Når handlingen dukker opp, høyreklikker du på den og velger "Velg data" og deretter Legg til. Vi vil at dataene våre skal vises på y-aksen, med "tid"* på x-aksen. For å gjøre dette, klikk på pilen ved siden av y-aksen, gå til Data In-arket og velg alle innkommende sensordata (Foto 2).
Vi kan også gjøre beregninger og sammenligninger i Excel! For å skrive en formel, klikk på en tom celle og skriv inn et likhetstegn ("="), deretter beregningen du vil gjøre. Det er mange innebygde kommandoer som gjennomsnitt, maksimum og minimum.
For å bruke en kommando, skriv inn likhetstegnet, kommandonavnet og en åpen parentes, velg deretter dataene du analyserer og lukk parentesene (Bilde 3)
5. For å sende mer enn én kolonne med data (AKA mer enn én sensor), skriv ut verdiene på samme linje atskilt med et komma, med en siste tom ny linje, slik:
Serial.print (sensorReading1);
Serial.print (","); Serial.print (sensorReading2); Serial.print (","); Serial.println ();
*Hvis du vil at den faktiske tiden skal være på x-aksen, velger du tidsstempelet i kolonne A på Data In-arket for x-aksens verdier i scatter-plottet. Uansett vil vi se dataene våre etter hvert som de endres over tid.
Trinn 14: Gå frem og mål alle tingene
Ok folkens, det er alt! På tide å gå utover og oppover! Bruk dette som et grunnlag for å begynne å utforske sensorer, Arduino -koding og dataanalyse for å takle dine spørsmål, nysgjerrigheter og favorittmysterier i denne store, vakre verden.
Husk: det er mange mennesker der ute som hjelper deg på veien, så legg igjen en kommentar hvis du har et spørsmål!
Trenger du flere ideer? Slik gjør du en skiftbar bryter for tilstandsendring, en solcelledrevet ekstern temperatursensor og en Internett-tilkoblet industriell skala!
Liker du denne opplæringen og vil du se mer? Støtt prosjektene våre på Patreon!: D
Anbefalt:
Bruke infrarød sensor med Arduino: 8 trinn (med bilder)
Bruke infrarød sensor med Arduino: Hva er en infrarød (aka IR) sensor? En IR -sensor er et elektronisk instrument som skanner IR -signaler i bestemte frekvensområder definert av standarder og konverterer dem til elektriske signaler på utgangspinnen (vanligvis kalt signalpinne) . IR -signalet
Hvordan bruke DS1307 Bruke Arduino: 7 trinn
Hvordan bruke DS1307 Bruke Arduino: DS1307 er en sanntidsklokke IC (RTC). Denne IC brukes til å gi tidsdata. Tildelt tid starter fra sekunder, minutt, timer, dager, dato, måned og år. Denne IC krever ytterligere eksterne komponenter som Crystal og 3,6V batterier. Krystall
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Neopixel Ws2812 Rainbow LED-glød med M5stick-C - Kjører Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: 5 trinn
Neopixel Ws2812 Rainbow LED-glød med M5stick-C | Running Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: Hei folkens i denne instruksen, vi lærer hvordan du bruker neopixel ws2812 LED eller led strip eller led matrise eller led ring med m5stack m5stick-C utviklingstavle med Arduino IDE, og vi skal lage et regnbuemønster med den
Hvordan bruke Wiimote som en datamus ved å bruke stearinlys som sensor !!: 3 trinn
Slik bruker du Wiimote som en datamus ved å bruke stearinlys som en sensor !!: Denne guiden viser deg hvordan du kobler din Wii -fjernkontroll (Wiimote) til din PC og bruker den som en mus