Indholdsfortegnelse:

Brug af Arduino til borgervidenskab !: 14 trin (med billeder)
Brug af Arduino til borgervidenskab !: 14 trin (med billeder)

Video: Brug af Arduino til borgervidenskab !: 14 trin (med billeder)

Video: Brug af Arduino til borgervidenskab !: 14 trin (med billeder)
Video: Arduino 01 - klar til brug 2024, Juni
Anonim
Image
Image
Pssst, hvad er forskellen mellem borgervidenskab og
Pssst, hvad er forskellen mellem borgervidenskab og

Videnskaben giver os mulighed for at stille vores mest presserende spørgsmål og udforske alle slags nysgerrigheder. Med en vis tanke, hårdt arbejde og tålmodighed kan vi bruge vores udforskninger til at opbygge en bedre forståelse og forståelse for den komplekse og smukke verden omkring os.

Denne vejledning lærer dig, hvordan du bruger en Arduino (uno) mikrokontroller, hvordan du bruger forskellige typer sensorer, og hvordan du indsamler og visualiserer data. Undervejs bygger vi tre projekter: en vippekontakt, en temperatur- og fugtighedsføler og en lyssensor!

Sværhedsgrad: Begynder

Læsetid: 20 min

Bygningstid: afhænger af dit projekt! (Projekter i denne vejledning tager cirka 15-20 minutter)

Trin 1: Pssst, hvad er forskellen mellem borgervidenskab og "officiel videnskab"?

Den største forskel er, at borgervidenskab er, som jeg elsker at sige, "håndbølget", hvilket betyder, at der er masser af fejl og usikkerheder og ingen streng proces til at identificere dem. På grund af dette er konklusioner nået gennem borgervidenskab meget mindre præcise end videnskabelig videnskab og bør ikke påberåbes for at tage alvorlige/livsændrende/livstruende påstande eller beslutninger.*

Når det er sagt, er borgervidenskab en fantastisk måde at opbygge en grundlæggende forståelse af alle slags fascinerende videnskabelige fænomener og er god nok til de fleste daglige applikationer.

*Hvis du laver borgervidenskab, og du opdager noget potentielt farligt (f.eks. Høje blyniveauer i vand), skal du informere din pædagog (hvis relevant) og kontakte de relevante myndigheder og fagfolk for at få hjælp.

Trin 2: Hvad er Arduino ??

Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??
Hvad er Arduino ??

Arduino er et mikrokontrollerkort og integreret udviklingsmiljø ("IDE"), som er en smart måde at sige "kodningsprogram". For begyndere anbefaler jeg stærkt Arduino Uno boards, fordi de er super robuste, pålidelige og kraftfulde.

Arduino -tavler er et godt valg til borgervidenskabelige projekter, fordi de har mange input -pins til at læse i både analoge og digitale sensorer (vi kommer mere ind på dette senere).

Selvfølgelig kan du bruge andre mikrokontrollere til borgervidenskab afhængigt af dine (eller dine elevers) behov, evner og komfortniveau. Her er en oversigt over mikrokontrollere for at hjælpe dig med at beslutte, hvad der er bedst for dig!

For at blinke eller programmere et Arduino -kort skal du tilslutte det via USB og derefter:

1. Vælg den type Arduino, du bruger, under Værktøjer -> Plader. (Foto 2)

2. Vælg porten (aka hvor den er forbundet til din computer). (Foto 3)

3. Klik på knappen Upload, og kontroller, at upload er færdig. (Foto 4)

Trin 3: Værktøjer og materialer

Værktøjer og materialer
Værktøjer og materialer

Hvis du lige er begyndt, er det hurtigt og nemt at få et sæt til at få en masse dele på én gang. Det kit jeg bruger i denne vejledning er Elegoo Arduino Starter Kit.*

Værktøjer

  • Arduino Uno
  • USB A til B -kabel (aka printerkabel)
  • Jumper Wires

    • 3 mand-til-mand
    • 3 mand-til-hun
  • Brødbræt

    Valgfri, men anbefales for at gøre dit liv lettere og sjovere:)

Materialer

Til de projekter, der er omfattet af denne vejledning, skal du bruge disse dele fra Elegoo Arduino Starter Kit:

  • Vipekontakt
  • DTH11 temperatur- og fugtighedsføler
  • LED
  • 100 Ohm modstand

*Fuldstændig oplysning: Jeg køber de samme sæt til workshops, men det kit, der blev brugt i denne vejledning, blev doneret af de dejlige folk på Elegoo.

Trin 4: Hvilke slags sensorer kan vi bruge?

Hvilke slags sensorer kan vi bruge?
Hvilke slags sensorer kan vi bruge?

Når vi designer et videnskabeligt eksperiment, starter vi typisk med et spørgsmål: Hvor meget CO2 optager planter på en dag? Hvad er slagkraften ved et spring? Hvad er bevidsthed ??

Baseret på vores spørgsmål kan vi derefter identificere, hvad vi vil måle og lave nogle undersøgelser for at finde ud af, hvilken sensor vi kan bruge til at indsamle data (selvom det kan være lidt svært at indsamle data til det sidste spørgsmål!).

Når man arbejder med elektronik, er der to hovedtyper af sensordatasignaler: Digital og Analog. På billedet er de to første rækker af dele alle digitale sensorer, mens de to øverste rækker er analoge.

Der er mange forskellige typer digitale sensorer, og nogle er mere udfordrende at arbejde med end andre. Når du laver research til dit borgervidenskabelige projekt, skal du altid kontrollere, hvordan sensoren udsender data (srsly tho) og sørge for, at du kan finde et (Arduino) bibliotek til den specifikke sensor.

I de tre projekter, der er omfattet af denne vejledning, bruger vi to typer digitale sensorer og en analog sensor. Lad os lære det!

Trin 5: Digitale sensorer! Del 1: De lette

Digitale sensorer! Del 1: De lette!
Digitale sensorer! Del 1: De lette!
Digitale sensorer! Del 1: De lette!
Digitale sensorer! Del 1: De lette!

De fleste sensorer, du vil bruge, udsender et digitalt signal, som er et signal, der enten er tændt eller slukket.* Vi bruger binære tal til at repræsentere disse to tilstande: et tændt signal er givet med et 1, eller sandt, mens Off er 0, eller falsk. Hvis vi skulle tegne et billede af, hvordan et binært signal ser ud, ville det være en firkantbølge som den i Foto 2.

Der er nogle digitale sensorer, som switches, der er super lette og ligetil at måle, fordi enten trykkes på knappen, og vi får et signal (1), eller også bliver det ikke skubbet, og vi har intet signal (0). Sensorerne på den nederste række i det første foto er alle enkle tænd/sluk -typer. Sensorerne på øverste række er lidt mere komplekse og er dækket efter vores første projekt.

De to første projekter i denne vejledning lærer dig, hvordan du bruger begge typer! Videre til at bygge vores første projekt !!

*On betyder et elektrisk signal i form af elektrisk strøm og spænding. Off betyder intet elektrisk signal!

Trin 6: Projekt 1: Tilt Switch Digital Sensor

Projekt 1: Tilt Switch Digital Sensor
Projekt 1: Tilt Switch Digital Sensor
Projekt 1: Tilt Switch Digital Sensor
Projekt 1: Tilt Switch Digital Sensor
Projekt 1: Tilt Switch Digital Sensor
Projekt 1: Tilt Switch Digital Sensor

Til dette første projekt, lad os bruge en vippekontakt, den sorte cylindriske sensor med to ben! Trin 1: Sæt det ene ben af vippekontakten i Arduino Digital Pin 13, og det andet ben i GND -stiften lige ved siden af pin 13. Orientering betyder ikke noget.

Trin 2: Skriv en skitse, der læser ind og udskriver status for Digital Pin 13

Eller du kan bare bruge min!

Hvis du lige er begyndt at kode, skal du læse kommentarerne igennem for bedre at forstå, hvordan skitsen fungerer, og prøv at ændre nogle ting for at se, hvad der sker! Det er OK at bryde tingene, det er en fantastisk måde at lære på! Du kan altid downloade filen igen og starte forfra:)

Trin 3: For at se dine live -data skal du klikke på knappen Serial Monitor (foto 2)

.. aaaand det er det! Du kan nu bruge vippekontakten til at måle orientering! Konfigurer den til at kalde din killing, når den vælter noget, eller brug den til at holde styr på, hvordan trægrene bevæger sig under storme!.. & der er sandsynligvis andre applikationer imellem de to ekstremer.

Trin 7: Digitale sensorer! Del 2: PWM og seriel kommunikation

Digitale sensorer! Del 2: PWM og seriel kommunikation
Digitale sensorer! Del 2: PWM og seriel kommunikation
Digitale sensorer! Del 2: PWM og seriel kommunikation
Digitale sensorer! Del 2: PWM og seriel kommunikation
Digitale sensorer! Del 2: PWM og seriel kommunikation
Digitale sensorer! Del 2: PWM og seriel kommunikation

Der er mange måder at skabe mere komplekse digitale signaler på! En metode kaldes Pulse Width Modulation ("PWM"), som er en smart måde at sige et signal, der er tændt i et bestemt tidsrum og slukket i et bestemt tidsrum. Servomotorer (som kan bruges til at måle position) og ultralydssensorer er eksempler på sensorer, der bruger PWM -signaler.

Der er også sensorer, der bruger seriel kommunikation til at sende data et bit eller binært ciffer ad gangen. Disse sensorer kræver en vis fortrolighed med at læse datablade og kan være ret vanskelige, hvis du lige er begyndt. Heldigvis vil almindelige serielle sensorer have kodebiblioteker* og prøveprogrammer at trække fra, så du stadig kan samle noget funktionelt sammen. Flere detaljer om seriel kommunikationsprotokoller er uden for denne tutorials omfang, men her er en stor ressource om seriel kommunikation fra SparkFun for at lære mere!

Til dette prøveprojekt, lad os bruge temperatur- og fugtighedsføleren (DHT11)! Dette er en lilla blå firkant med huller og 3 ben.

Først skal vi bruge et par specielle biblioteker til DHT11 -sensoren: DHT11 -biblioteket og Adafruit Unified Sensor -biblioteket. For at installere disse biblioteker (og de fleste andre Arduino -biblioteker):

Trin 1: Åbn Arduino bibliotekschef ved at gå til Sketch -> Libraries -> administrer bibliotek (foto 2)

Trin 2: Installer og aktiver DHT -biblioteket ved at søge efter "DHT" og derefter klikke på Installer til "DHT Arduino -biblioteket" (foto 3)

Trin 3: Installer og aktiver Adafruit Unified Sensor -biblioteket ved at søge efter "Adafruit Unified Sensor" og klikke på installer.

Trin 4: Indsæt DHT -biblioteket i din åbne skitse ved at gå til Skitse -> biblioteker og klikke på "DHT Arduino -biblioteket. (Foto 4) Dette vil indsætte et par nye linjer øverst på din skitse, hvilket betyder vores biblioteket er nu aktivt og klar til brug! (Foto 5)

*Ligesom dit foretrukne lokale bibliotek er kodebiblioteker et væld af viden og andres hårde arbejde, som vi kan bruge til at gøre vores liv lettere, yay!

Trin 8: Projekt 2: Temp og luftfugtighed Digital Serial Sensor

Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor
Projekt 2: Temp og luftfugtighed Digital Serial Sensor

Tag 3 han-til-hun trøjer fra Elegoo Arduino Starter Kit, og vi er klar til at gå!

Trin 1: Med headerstifterne mod dig, skal du slutte den øverste pin til højre på DHT11 til en Arduino -jord ("GND") pin.

Trin 2: Tilslut den midterste header -pin til Arduino 5V output pin.

Trin 3: Tilslut hovedstiften til venstre til Arduino Digital Pin 2

Trin 4: Endelig skal du læse DHT -biblioteket og prøve at skrive en skitse! Oooor du kan bruge min eller DHT -testeksempelskitsen i Arduino -> Eksempler!

Når du har fået det i gang, skal du gå ud og måle temperaturen og fugtigheden på alle tingene!.. Som et dyrs ånde, et drivhus eller dit foretrukne klatrested på forskellige tidspunkter af året for at finde den * perfekte * afsendelsestemp.

Trin 9: Analoge sensorer

Analoge sensorer!
Analoge sensorer!
Analoge sensorer!
Analoge sensorer!

Efter det vanskelige dyk i digitale sensorer kan analoge sensorer virke som en leg! Analoge signaler er et kontinuerligt signal, som vist på det andet foto. Det meste af den fysiske verden eksisterer analogt (f.eks. Temperatur, alder, tryk osv.), Men da computere er digitale*, udsender de fleste sensorer et digitalt signal. Nogle mikrokontroller, som Arduino -tavler, kan også aflæse analoge signaler **.

For de fleste analoge sensorer giver vi sensoren strøm og læser derefter det analoge signal ind ved hjælp af de analoge indgangsstifter. Til denne test bruger vi en endnu enklere opsætning til at måle spændingen over en LED, når vi skinner et lys på den.

*Computere bruger digitale signaler til at gemme og transmittere information. Dette skyldes, at digitale signaler er lettere at opdage og er mere pålidelige, da alt, hvad vi skal bekymre os om, er at få et signal eller ej mod at skulle bekymre sig om signalets kvalitet/nøjagtighed.

** For at aflæse et analogt signal på en digital enhed skal vi bruge en analog-til-digital eller ADC-konverter, som tilnærmer det analoge signal ved at sammenligne indgangen med en kendt spænding på enheden og derefter tælle, hvor lang tid den skal tager for at nå indgangsspændingen. For mere information er dette et nyttigt websted.

Trin 10: Projekt 3: LED som lyssensor

Projekt 3: LED som lyssensor!
Projekt 3: LED som lyssensor!
Projekt 3: LED som lyssensor!
Projekt 3: LED som lyssensor!

Tag en LED (enhver farve undtagen hvid), en 100 Ohm modstand og 2 springkabler. Åh, og et brødbræt!

Trin 1: Indsæt LED'en i brødbrættet med det længere ben på højre side.

Trin 2: Tilslut en jumperledning fra Arduino Analog Pin A0 og det længere LED -ben

Trin 3: Tilslut modstanden mellem det kortere LED -ben og brødbrættets negative strømskinne (ved siden af den blå linje).

Trin 4: Tilslut Arduino GND -stiften til den negative strømskinne på brødbrættet.

Trin 5: Skriv en skitse, der læser i Analog Pin A0 og udskrives til Serial Monitor

Her er en prøvekode for at komme i gang.

Trin 11: Visualisering af data: Arduino IDE

Visualisering af data: Arduino IDE!
Visualisering af data: Arduino IDE!
Visualisering af data: Arduino IDE!
Visualisering af data: Arduino IDE!

Arduino IDE leveres med indbyggede værktøjer til visualisering af data. Vi har allerede undersøgt det grundlæggende i Serial Monitor, som giver os mulighed for at udskrive sensorværdier. Hvis du vil gemme og analysere dine data, skal du kopiere output direkte fra Serial Monitor og indsætte i et tekstredigeringsprogram, et regneark eller et andet dataanalyseværktøj.

Det andet værktøj, vi kan bruge til at se vores data i Arduino -programmet, er Serial Plotter, en visuel version (aka graf) af Serial Monitor. For at bruge den serielle plotter skal du gå til Værktøjer Seriel plotter. Grafen i Foto 2 er output fra LED'en som en lyssensor fra Project 3!*

Plottet vil automatisk skalere, og så længe du bruger Serial.println () til dine sensorer, udskriver det også alle dine sensorer i forskellige farver. Hurra! Det er det!

*Hvis du ser på enden, er der et super interessant bølgemønster, som sandsynligvis skyldes vekselstrømmen ("AC") i vores overlys!

Trin 12: Visualisering af data: Excel! Del 1

Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1
Visualisering af data: Excel! Del 1

For mere seriøs dataanalyse er der en super cool (og gratis!) Tilføjelse til Excel kaldet Data Streamer*, som du kan downloade her.

Denne tilføjelse læser fra den serielle port, så vi kan bruge nøjagtig den samme kodningsteknik til at udskrive data til serie for at få data direkte ind i Excel.. pokker ja !!

Sådan bruges datastreamer-tilføjelsesprogrammet:

1. Når du har installeret det (eller hvis du har O365), skal du klikke på fanen Data Streamer (helt til højre) i Excel.

2. Tilslut din Arduino, og klik på "Connect Device", og vælg derefter Arduino i rullemenuen. (Foto 1)

3. Klik på "Start data" for at starte dataindsamlingen! (Foto 2) Du får vist tre nye ark åbne: "Data In", "Data Out" og "Settings".

Live data udskrives i Data In -arket. (Foto 3) Hver række svarer til en sensormåling, hvor den nyeste værdi er udskrevet i den sidste række.

Som standard får vi kun 15 rækker data, men du kan ændre dette ved at gå til "Indstillinger". Vi kan samle op til 500 rækker (grænsen skyldes Excel -båndbredde - der sker meget i baggrunden!).

*Fuld offentliggørelse: Selvom denne vejledning ikke er tilknyttet, arbejder jeg med Microsoft Hacking STEM-teamet, der udviklede denne tilføjelse.

Trin 13: Visualisering af data: Excel! Del 2

Visualisering af data: Excel! Del 2
Visualisering af data: Excel! Del 2
Visualisering af data: Excel! Del 2
Visualisering af data: Excel! Del 2
Visualisering af data: Excel! Del 2
Visualisering af data: Excel! Del 2

4. Tilføj et plot af dine data! Lav noget dataanalyse! Scatter -plots viser dig, hvordan sensoraflæsningerne ændrer sig over tid, hvilket er det samme, som vi så i Arduino Serial Plotter.

Sådan tilføjes et Scatter Plot:

Gå til Indsæt -> Diagrammer -> Spred. Når plottet dukker op, skal du højreklikke på det og vælge "Vælg data" og derefter tilføje. Vi vil have vores data vist på y-aksen, med "tid"* på x-aksen. For at gøre dette skal du klikke på pilen ud for y-aksen, gå til dataindskrivningsarket og vælge alle indgående sensordata (foto 2).

Vi kan også lave beregninger og sammenligninger i Excel! For at skrive en formel skal du klikke på en tom celle og skrive et lighedstegn ("="), derefter den beregning, du vil foretage. Der er masser af indbyggede kommandoer som gennemsnit, maksimum og minimum.

For at bruge en kommando skal du skrive lighedstegnet, kommandonavnet og en åben parentes, derefter markere de data, du analyserer, og lukke parenteserne (foto 3)

5. Hvis du vil sende mere end en datakolonne (AKA mere end en sensor), skal du udskrive værdierne på den samme linje adskilt af et komma med en sidste tom ny linje, således:

Serial.print (sensorReading1);

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

*Hvis du vil have den faktiske tid til at være på x-aksen, skal du vælge tidsstemplet i kolonne A på Data In-arket for x-aksens værdier i dit Scatter Plot. Uanset hvad, vil vi se vores data, da de ændres over tid.

Trin 14: Gå frem og mål alle tingene

Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!
Gå frem og mål alle tingene !!

Okay folkens, det er alt! Tid til at gå udad og opad! Brug dette som et fundament til at begynde at udforske sensorer, Arduino -kodning og dataanalyse til at tackle dine spørgsmål, nysgerrigheder og yndlingsmysterier i denne store, smukke verden.

Husk: der er masser af mennesker derude, der kan hjælpe dig på vej, så skriv en kommentar, hvis du har et spørgsmål!

Har du brug for flere ideer? Sådan laver du en bærbar tilstandskontakt, en soldrevet fjerntemperatursensor og en internetforbundet industriel skala!

Kan du lide denne vejledning og vil du se mere? Støt vores projekter på Patreon!: D

Anbefalede: