Innehållsförteckning:

Använda Arduino för medborgarvetenskap !: 14 steg (med bilder)
Använda Arduino för medborgarvetenskap !: 14 steg (med bilder)

Video: Använda Arduino för medborgarvetenskap !: 14 steg (med bilder)

Video: Använda Arduino för medborgarvetenskap !: 14 steg (med bilder)
Video: löda RGB led strip för att använda med arduino 2024, November
Anonim
Image
Image
Pssst, vad är skillnaden mellan medborgarvetenskap och
Pssst, vad är skillnaden mellan medborgarvetenskap och

Vetenskapen tillåter oss att ställa våra mest angelägna frågor och utforska alla slags nyfikenheter. Med lite eftertanke, hårt arbete och tålamod kan vi använda våra undersökningar för att bygga en bättre förståelse och uppskattning av den komplexa och vackra världen omkring oss.

Denna handledning lär dig hur du använder en Arduino (uno) mikrokontroller, hur du använder olika typer av sensorer och hur du samlar in och visualiserar data. Längs vägen bygger vi tre projekt: en lutningsomkopplare, en temperatur- och fuktsensor och en ljussensor!

Svårighetsgrad: Nybörjare

Lästid: 20 min

Byggtid: Beror på ditt projekt! (Projekt i denna handledning tar cirka 15-20 minuter)

Steg 1: Pssst, vad är skillnaden mellan medborgarvetenskap och "officiell vetenskap"?

Den största skillnaden är att medborgarvetenskap är, som jag älskar att säga, "handvågig", vilket innebär att det finns massor av fel och osäkerheter och ingen strikt process för att identifiera dem. På grund av detta är slutsatser som nås genom medborgarvetenskap mycket mindre korrekta än vetenskapsvetenskap och ska inte förlita sig på allvarliga/livsförändrande/livshotande påståenden eller beslut.*

Med detta sagt är medborgarvetenskap ett utmärkt sätt att bygga en grundläggande förståelse för alla möjliga fascinerande vetenskapliga fenomen och är tillräckligt bra för de flesta dagliga applikationer.

*Om du gör medborgarvetenskap och du upptäcker något som är potentiellt farligt (t.ex. höga blyhalter i vatten), informera din lärare (om tillämpligt) och kontakta relevanta myndigheter och proffs för hjälp.

Steg 2: Vad är Arduino ??

Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??
Vad är Arduino ??

Arduino är en mikrokontrollerkort och integrerad utvecklingsmiljö ("IDE"), vilket är ett fint sätt att säga "kodningsprogram". För nybörjare rekommenderar jag starkt Arduino Uno -brädor eftersom de är super robusta, pålitliga och kraftfulla.

Arduino -kort är ett bra val för medborgarvetenskapliga projekt eftersom de har massor av ingångspinnar att läsa i både analoga och digitala sensorer (vi kommer mer in på detta senare).

Naturligtvis kan du använda andra mikrokontroller för medborgarvetenskap beroende på dina (eller dina elevers) behov, förmågor och komfortnivå. Här är en översikt över mikrokontroller för att hjälpa dig att bestämma vad som är bäst för dig!

För att blinka eller programmera ett Arduino -kort, anslut det via USB, sedan:

1. Välj den typ av Arduino du använder under Verktyg -> Kort. (Foto 2)

2. Välj porten (aka där den är ansluten till din dator). (Foto 3)

3. Klicka på knappen Ladda upp och kontrollera att överföringen är klar. (Foto 4)

Steg 3: Verktyg och material

Verktyg och material
Verktyg och material

Om du precis har börjat är det snabbt och enkelt att skaffa ett kit för att få en massa delar på en gång. Satsen jag använder i denna handledning är Elegoo Arduino Starter Kit.*

Verktyg

  • Arduino Uno
  • USB A till B -kabel (aka skrivarkabel)
  • Jumper Wires

    • 3 man-till-hane
    • 3 man-till-hona
  • Bakbord

    Valfritt men rekommenderas för att göra ditt liv enklare och roligare:)

Material

För de projekt som omfattas av denna handledning behöver du dessa delar från Elegoo Arduino Starter Kit:

  • Lutningsbrytare
  • DTH11 temperatur- och fuktighetssensor
  • LED
  • 100 Ohm motstånd

*Fullständig upplysning: Jag köper samma kit för workshops, men satsen som används i denna handledning donerades av de underbara människorna på Elegoo.

Steg 4: Vilka typer av sensorer kan vi använda?

Vilka typer av sensorer kan vi använda?
Vilka typer av sensorer kan vi använda?

När vi utformar ett vetenskapligt experiment börjar vi vanligtvis med en fråga: Hur mycket CO2 tar växter upp på en dag? Vad är slagkraften för ett hopp? Vad är medvetande ??

Baserat på vår fråga kan vi sedan identifiera vad vi vill mäta och göra lite forskning för att ta reda på vilken sensor vi kan använda för att samla in data (även om det kan vara lite svårt att samla in data för den sista frågan!).

När du arbetar med elektronik finns det två huvudtyper av sensordatasignaler: Digital och Analog. På bilden är de två första raderna av delar alla digitala sensorer, medan de två översta raderna är analoga.

Det finns många olika typer av digitala sensorer, och vissa är mer utmanande att arbeta med än andra. När du gör forskning för ditt medborgarvetenskapliga projekt, kontrollera alltid hur sensorn lägger ut data (srsly tho) och se till att du kan hitta ett (Arduino) bibliotek för den specifika sensorn.

I de tre projekt som omfattas av denna handledning använder vi två typer av digitala sensorer och en analog sensor. Låt oss lära oss!

Steg 5: Digitala sensorer! Del 1: De lätta

Digitala sensorer! Del 1: De lätta!
Digitala sensorer! Del 1: De lätta!
Digitala sensorer! Del 1: De lätta!
Digitala sensorer! Del 1: De lätta!

De flesta sensorer som du använder skickar ut en digital signal, som är en signal som antingen är på eller av.* Vi använder binära tal för att representera dessa två tillstånd: en På -signal ges av en 1 eller Sann, medan Av är 0, eller falskt. Om vi skulle rita en bild av hur en binär signal ser ut, skulle det vara en kvadratisk våg som den i Foto 2.

Det finns några digitala sensorer, som switchar, som är superenkla och enkla att mäta eftersom antingen knappen trycks in och vi får en signal (1), eller så trycks den inte och vi har ingen signal (0). Sensorerna på den nedre raden i det första fotot är alla enkla på/av -typer. Sensorerna på översta raden är lite mer komplexa och täcks efter vårt första projekt.

De två första projekten i denna handledning lär dig hur du använder båda typerna! Framåt för att bygga vårt första projekt !!

*På betyder en elektrisk signal i form av elektrisk ström och spänning. Av betyder ingen elektrisk signal!

Steg 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

För detta första projekt, låt oss använda en lutningsomkopplare, den svarta cylindriska sensorn med två ben! Steg 1: Sätt in det ena benet på lutningsomkopplaren i Arduino Digital Pin 13 och det andra benet i GND -stiftet bredvid stift 13. Orientering spelar ingen roll.

Steg 2: Skriv en skiss som läser in och skriver ut statusen för Digital Pin 13

Eller så kan du bara använda min!

Om du precis har börjat med kodning, läs igenom kommentarerna för att bättre förstå hur skissen fungerar och försök ändra några saker för att se vad som händer! Det är OK att bryta saker, det är ett bra sätt att lära sig! Du kan alltid ladda ner filen igen och börja om igen:)

Steg 3: För att se dina live -data, klicka på knappen Serial Monitor (foto 2)

.. aaaand det är det! Du kan nu använda lutningsomkopplaren för att mäta orientering! Ställ in den för att ringa ut din kattunge när den slår något, eller använd den för att hålla reda på hur trädgrenar rör sig under stormar!.. & det finns förmodligen andra tillämpningar mellan dessa två ytterligheter.

Steg 7: Digitala sensorer! Del 2: PWM och seriell kommunikation

Digitala sensorer! Del 2: PWM och seriell kommunikation
Digitala sensorer! Del 2: PWM och seriell kommunikation
Digitala sensorer! Del 2: PWM och seriell kommunikation
Digitala sensorer! Del 2: PWM och seriell kommunikation
Digitala sensorer! Del 2: PWM och seriell kommunikation
Digitala sensorer! Del 2: PWM och seriell kommunikation

Det finns många sätt att skapa mer komplexa digitala signaler! En metod kallas Pulse Width Modulation ("PWM"), vilket är ett fint sätt att säga en signal som är på under en viss tid och av under en viss tid. Servomotorer (som kan användas för att mäta position) och ultraljudssensorer är exempel på sensorer som använder PWM -signaler.

Det finns också sensorer som använder seriell kommunikation för att skicka data en bit, eller binär siffra, åt gången. Dessa sensorer kräver viss insikt i att läsa datablad och kan vara ganska knepiga om du precis har börjat. Lyckligtvis kommer vanliga seriella sensorer att ha kodbibliotek* och exempelprogram att hämta från så att du fortfarande kan samla ihop något funktionellt. Mer information om seriekommunikationsprotokoll ligger utanför omfattningen av denna handledning, men här är en bra resurs om seriell kommunikation från SparkFun för att lära dig mer!

För detta provprojekt, låt oss använda temperatur- och fuktighetssensorn (DHT11)! Detta är en lil 'blå kvadrat med hål och 3 stift.

Först behöver vi ett par speciella bibliotek för DHT11 -sensorn: DHT11 -biblioteket och Adafruit Unified Sensor -biblioteket. För att installera dessa bibliotek (och de flesta andra Arduino -bibliotek):

Steg 1: Öppna Arduino bibliotekshanteraren genom att gå till Sketch -> Libraries -> hantera bibliotek (foto 2)

Steg 2: Installera och aktivera DHT -biblioteket genom att söka efter "DHT" och sedan klicka på Installera för "DHT Arduino -biblioteket" (foto 3)

Steg 3: Installera och aktivera Adafruit Unified Sensor -biblioteket genom att söka efter "Adafruit Unified Sensor" och klicka på installera.

Steg 4: Sätt in DHT -biblioteket i din öppna skiss genom att gå till Sketch -> Libraries och klicka på "DHT Arduino Library. (Foto 4) Detta infogar ett par nya rader högst upp på din skiss, vilket betyder att vårt biblioteket är nu aktivt och klart att använda! (Foto 5)

*Precis som ditt favoritbibliotek är kodbibliotek en mängd kunskap och andra människors hårda arbete som vi kan använda för att göra våra liv enklare, yay!

Steg 8: Projekt 2: Temp och luftfuktighet Digital seriell sensor

Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor
Projekt 2: Temp och luftfuktighet Digital seriell sensor

Ta tre tröjor från man till kvinna från Elegoo Arduino Starter Kit och vi är redo att gå!

Steg 1: Med huvudstiften vända mot dig ansluter du den högra sidstiften på DHT11 till en Arduino -jordning ("GND").

Steg 2: Anslut mitthuvudstiften till Arduino 5V utgångsstift.

Steg 3: Anslut den översta stiften längst till vänster till Arduino Digital Pin 2

Steg 4: Slutligen, läs DHT -biblioteket och försök att skriva en skiss! Oooor du kan använda min eller DHT -testexemplets skiss inom Arduino -> Exempel!

När du har kommit igång, gå vidare och mäta temperaturen och luftfuktigheten på alla saker!.. Som ett djurs andetag, ett växthus eller din favoritklättringsplats vid olika tider på året för att hitta den * perfekta * sändningstemperaturen.

Steg 9: Analoga sensorer

Analoga sensorer!
Analoga sensorer!
Analoga sensorer!
Analoga sensorer!

Efter det svåra dyket in i digitala sensorer kan analoga sensorer verka som en vind! Analoga signaler är en kontinuerlig signal, som visas på det andra fotot. Det mesta av den fysiska världen existerar analogt (t.ex. temperatur, ålder, tryck, etc.), men eftersom datorer är digitala*kommer de flesta sensorer att mata ut en digital signal. Vissa mikrokontroller, som Arduino -kort, kan också läsa in analoga signaler **.

För de flesta analoga sensorer ger vi sensorn ström och läser sedan in den analoga signalen med de analoga ingångsstiften. För detta test kommer vi att använda en ännu enklare inställning för att mäta spänningen över en LED när vi tänder ett ljus på den.

*Datorer använder digitala signaler för att lagra och överföra information. Detta beror på att digitala signaler är lättare att upptäcka och är mer tillförlitliga, eftersom allt vi behöver oroa oss för är att få en signal eller inte kontra att behöva oroa sig för signalens kvalitet/noggrannhet.

** För att kunna läsa in en analog signal på en digital enhet måste vi använda en analog-till-digital eller ADC-omvandlare, som närmar sig den analoga signalen genom att jämföra ingången med en känd spänning på enheten och sedan räkna hur länge den tar för att nå ingångsspänningen. För mer information är detta en användbar webbplats.

Steg 10: Projekt 3: LED som ljussensor

Projekt 3: LED som ljussensor!
Projekt 3: LED som ljussensor!
Projekt 3: LED som ljussensor!
Projekt 3: LED som ljussensor!

Ta en LED (valfri färg utom vit), ett 100 Ohm motstånd och 2 bygelkablar. Åh, och en brödbräda!

Steg 1: Sätt in lysdioden i brödbrädan med det längre benet på höger sida.

Steg 2: Anslut en bygelkabel från Arduino Analog Pin A0 och det längre LED -benet

Steg 3: Anslut motståndet mellan det kortare LED -benet och brädbrädans negativa kraftskena (bredvid den blå linjen).

Steg 4: Anslut Arduino GND -stiftet till den negativa kraftskenan på brödbrädet.

Steg 5: Skriv en skiss som läses i Analog Pin A0 och skrivs ut till Serial Monitor

Här är en exempelkod för att komma igång.

Steg 11: Visualisera data: Arduino IDE

Visualisera data: Arduino IDE!
Visualisera data: Arduino IDE!
Visualisera data: Arduino IDE!
Visualisera data: Arduino IDE!

Arduino IDE levereras med inbyggda verktyg för att visualisera data. Vi har redan undersökt grunderna i Serial Monitor som gör att vi kan skriva ut sensorvärden. Om du vill spara och analysera dina data, kopiera utdata direkt från Serial Monitor och klistra in i en textredigerare, kalkylblad eller annat dataanalysverktyg.

Det andra verktyget vi kan använda för att se våra data i Arduino -programmet är Serial Plotter, en visuell version (aka graf) av Serial Monitor. Om du vill använda seriell plotter går du till Verktyg seriell plotter. Diagrammet i Foto 2 är LED -utmatningen som en ljussensor från Project 3!*

Handlingen skalas automatiskt och så länge du använder Serial.println () för dina sensorer kommer den också att skriva ut alla dina sensorer i olika färger. Hurra! Det är allt!

*Om du tittar på slutet finns det ett superintressant vågmönster som troligen beror på växelströmmen ("AC") i våra taklampor!

Steg 12: Visualisera data: Excel! Del 1

Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1
Visualisera data: Excel! Del 1

För mer seriös dataanalys finns det ett superkallt (och gratis!) Tillägg för Excel som heter Data Streamer*, som du kan ladda ner här.

Detta tillägg läser från den seriella porten, så vi kan använda exakt samma kodningsteknik för att skriva ut data till seriell för att få data direkt till Excel.. fan ja !!

Så här använder du datastreamer-tillägget:

1. När du har installerat det (eller om du har O365), klicka på fliken Data Streamer (längst till höger) i Excel.

2. Anslut din Arduino och klicka på "Anslut enhet", välj sedan Arduino från rullgardinsmenyn. (Foto 1)

3. Klicka på "Startdata" för att starta datainsamling! (Foto 2) Du kommer att se tre nya blad öppna: "Data In", "Data Out" och "Settings".

Levande data skrivs ut i Data In -bladet. (Foto 3) Varje rad motsvarar en sensoravläsning, där det senaste värdet skrivs ut på den sista raden.

Som standard får vi bara 15 rader med data, men du kan ändra detta genom att gå till "Inställningar". Vi kan samla upp till 500 rader (gränsen beror på Excel -bandbredd - det händer mycket i bakgrunden!).

*Fullständig upplysning: Även om denna handledning inte är ansluten, arbetar jag med Microsoft Hacking STEM-teamet som utvecklade detta tillägg.

Steg 13: Visualisera data: Excel! Del 2

Visualisera data: Excel! Del 2
Visualisera data: Excel! Del 2
Visualisera data: Excel! Del 2
Visualisera data: Excel! Del 2
Visualisera data: Excel! Del 2
Visualisera data: Excel! Del 2

4. Lägg till en tomt med dina data! Gör lite dataanalys! Scatter -diagram visar hur sensoravläsningarna förändras över tiden, vilket är samma sak som vi såg i Arduino Serial Plotter.

Så här lägger du till en Scatter Plot:

Gå till Infoga -> Diagram -> Scatter. När tomten dyker upp, högerklicka på den och välj "Välj data", sedan Lägg till. Vi vill att våra data ska visas på y-axeln, med "tid"* på x-axeln. För att göra detta, klicka på pilen bredvid y-axeln, gå till datainmatningsarket och välj alla inkommande sensordata (foto 2).

Vi kan också göra beräkningar och jämförelser i Excel! För att skriva en formel, klicka på en tom cell och skriv ett likhetstecken ("="), sedan beräkningen du vill göra. Det finns massor av inbyggda kommandon som genomsnitt, max och minimum.

För att använda ett kommando, skriv likhetstecknet, kommandonamnet och en öppen parentes, välj sedan data som du analyserar och stäng parentesen (Foto 3)

5. För att skicka mer än en datakolumn (AKA mer än en sensor), skriv ut värdena på samma rad separerade med ett kommatecken, med en sista tom ny rad, så här:

Serial.print (sensorReading1);

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

*Om du vill att den faktiska tiden ska vara på x-axeln, välj tidsstämpeln i kolumn A på datainmatningsarket för x-axelvärdena i din spridningsplot. Hur som helst kommer vi att se vår data när den ändras med tiden.

Steg 14: Fortsätt och mät alla saker !

Gå fram och mät alla saker !!
Gå fram och mät alla saker !!
Gå fram och mät alla saker !!
Gå fram och mät alla saker !!
Gå fram och mät alla saker !!
Gå fram och mät alla saker !!

Okej folk, det är allt! Dags att gå utåt och uppåt! Använd detta som en grund för att börja utforska sensorer, Arduino -kodning och dataanalys för att ta itu med dina frågor, nyfikenheter och favoritmysterier i denna stora, vackra värld.

Kom ihåg: det finns massor av människor där ute som hjälper dig på vägen, så lämna en kommentar om du har en fråga!

Behöver du fler idéer? Så här gör du en bärbar tillståndsbytesomkopplare, en soldriven fjärrtemperatursensor och en internetansluten industriell skala!

Gillar du denna handledning och vill se mer? Stöd våra projekt på Patreon!: D

Rekommenderad: