INHOUDSOPGAWE:

Gebruik Arduino vir burgerwetenskap !: 14 stappe (met foto's)
Gebruik Arduino vir burgerwetenskap !: 14 stappe (met foto's)

Video: Gebruik Arduino vir burgerwetenskap !: 14 stappe (met foto's)

Video: Gebruik Arduino vir burgerwetenskap !: 14 stappe (met foto's)
Video: How to Make High Quality PCB at Home / Say Goodbye to Ironing 2024, Junie
Anonim
Image
Image
Pssst, wat is die verskil tussen burgerwetenskap en
Pssst, wat is die verskil tussen burgerwetenskap en

Wetenskap stel ons in staat om ons dringendste vrae te stel en allerhande nuuskierighede te ondersoek. Met 'n bietjie gedagte, harde werk en geduld kan ons ons ondersoeke gebruik om 'n beter begrip en waardering vir die komplekse en pragtige wêreld om ons op te bou.

Hierdie handleiding leer u hoe u 'n Arduino (uno) mikrobeheerder kan gebruik, hoe u verskillende soorte sensors kan gebruik en hoe u data kan versamel en visualiseer. Onderweg bou ons drie projekte: 'n kantelskakelaar, 'n temperatuur- en humiditeitsensor en 'n ligsensor!

Moeilikheidsgraad: Beginner

Lees tyd: 20 min

Boutyd: hang af van u projek! (Die projekte in hierdie tutoriaal duur ongeveer 15 - 20 minute)

Stap 1: Pssst, wat is die verskil tussen burgerwetenskap en 'amptelike wetenskap'?

Die grootste verskil is dat burgerwetenskap, soos ek graag wil sê, 'handgolf' is, wat beteken dat daar baie foute en onsekerhede is en dat daar geen streng proses is om dit te identifiseer nie. As gevolg hiervan is gevolgtrekkings wat deur burgerwetenskap gemaak is, baie minder akkuraat as wetenskap-wetenskap en moet hulle nie op ernstige/lewensveranderende/lewensgevaarlike bewerings of besluite neem nie.*

Dit gesê, burgerwetenskap is 'n uitstekende manier om 'n fundamentele begrip van allerhande boeiende wetenskaplike verskynsels op te bou en is goed genoeg vir die meeste daaglikse toepassings.

*As u burgerwetenskap doen en u ontdek iets wat moontlik gevaarlik is (bv. Hoë loodvlakke in water), moet u u opvoeder (indien van toepassing) in kennis stel en die betrokke owerhede en professionele persone kontak vir hulp.

Stap 2: Wat is Arduino ??

Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??
Wat is Arduino ??

Arduino is 'n mikrobeheerderbord en 'n geïntegreerde ontwikkelingsomgewing ("IDE"), wat 'n goeie manier is om 'kodeprogram' te sê. Vir beginners beveel ek die Arduino Uno -planke sterk aan, omdat dit baie robuust, betroubaar en kragtig is.

Arduino -borde is 'n goeie keuse vir burgerwetenskaplike projekte, want dit het baie invoerpenne om in analoog en digitaal sensors te lees (ons sal later meer hieroor ingaan).

U kan natuurlik ander mikrobeheerders vir burgerwetenskap gebruik, afhangende van u (of u studente) se behoeftes, vermoëns en gemaksvlak. Hier is 'n oorsig van mikrobeheerders om u te help besluit wat die beste vir u is!

Om 'n Arduino -bord te flits of te programmeer, moet u dit via USB aansluit en dan:

1. Kies die tipe Arduino wat u gebruik onder Tools -> Boards. (Foto 2)

2. Kies die poort (aka waar dit aan u rekenaar gekoppel is). (Foto 3)

3. Klik op die oplaai -knoppie en kyk of dit klaar is met die oplaai. (Foto 4)

Stap 3: gereedskap en materiaal

Gereedskap en materiaal
Gereedskap en materiaal

As u net begin, is 'n vinnige en maklike manier om 'n stel te kry om 'n klomp onderdele tegelyk te kry. Die kit wat ek in hierdie tutoriaal gebruik, is die Elegoo Arduino Starter Kit.*

Gereedskap

  • Arduino Uno
  • USB A tot B -kabel (ook printerkabel)
  • Jumper Wires

    • 3 man-tot-man
    • 3 man-tot-vrou
  • Broodbord

    Opsioneel, maar word aanbeveel om u lewe makliker en lekkerder te maak:)

Materiaal

Vir die projekte wat in hierdie tutoriaal behandel word, benodig u hierdie dele van die Elegoo Arduino Starter Kit:

  • Kantel skakelaar
  • DTH11 Temperatuur- en humiditeitsensor
  • LED
  • 100 Ohm weerstand

*Volledige bekendmaking: ek koop dieselfde stelle vir werkswinkels, maar die kit wat in hierdie tutoriaal gebruik word, is geskenk deur die lieflike mense by Elegoo.

Stap 4: Watter soorte sensors kan ons gebruik?

Watter soorte sensors kan ons gebruik?
Watter soorte sensors kan ons gebruik?

By die ontwerp van 'n wetenskaplike eksperiment begin ons gewoonlik met die vraag: Hoeveel CO2 absorbeer plante per dag? Wat is die trefkrag van 'n sprong? Wat is bewussyn ??

Op grond van ons vraag, kan ons dan identifiseer wat ons wil meet en ondersoek doen om uit te vind watter sensor ons kan gebruik om data te versamel (alhoewel dit 'n bietjie moeilik kan wees om data vir die laaste vraag in te samel!).

As u met elektronika werk, is daar twee hooftipes sensor data seine: digitaal en analoog. Op die foto is die eerste twee rye dele almal digitale sensors, terwyl die boonste twee rye analoog is.

Daar is baie verskillende tipes digitale sensors, en sommige is meer uitdagend om mee te werk as ander. As u navorsing doen oor u burgerwetenskaplike projek, moet u altyd kyk hoe die sensor data uitbring (srsly tho) en seker maak dat u 'n (Arduino) biblioteek vir die spesifieke sensor kan vind.

In die drie projekte wat in hierdie tutoriaal behandel word, gebruik ons twee soorte digitale sensors en een analoog sensor. Laat ons leer!

Stap 5: Digitale sensors! Deel 1: die maklikes

Digitale sensors! Deel 1: die maklikes!
Digitale sensors! Deel 1: die maklikes!
Digitale sensors! Deel 1: die maklikes!
Digitale sensors! Deel 1: die maklikes!

Die meeste sensors wat u gebruik, lewer 'n digitale sein uit, wat 'n sein is wat aan of af is.* Ons gebruik binêre getalle om hierdie twee state voor te stel: 'n Aan -sein word gegee deur 'n 1, of True, terwyl Off 0 is of vals. As ons 'n prentjie sou teken van hoe 'n binêre sein lyk, sou dit 'n vierkantgolf wees soos die in Foto 2.

Daar is 'n paar digitale sensors, soos skakelaars, wat baie maklik en eenvoudig is om te meet, want óf op die knoppie word gedruk en ons kry 'n sein (1), óf dit word nie ingedruk nie en ons het geen sein nie (0). Die sensors in die onderste ry van die eerste foto is almal eenvoudige aan/uit -tipes. Die sensors in die boonste ry is 'n bietjie meer kompleks en word gedek na ons eerste projek.

Die eerste twee projekte in hierdie tutoriaal sal u leer hoe om albei tipes te gebruik! Gaan voort om ons eerste projek te bou !!

*Aan beteken 'n elektriese sein in die vorm van elektriese stroom en spanning. Af beteken geen elektriese sein nie!

Stap 6: Projek 1: Digitale sensor met kantelskakelaar

Projek 1: Kantelskakelaar digitale sensor
Projek 1: Kantelskakelaar digitale sensor
Projek 1: Kantelskakelaar digitale sensor
Projek 1: Kantelskakelaar digitale sensor
Projek 1: Kantelskakelaar digitale sensor
Projek 1: Kantelskakelaar digitale sensor

Kom ons gebruik vir hierdie eerste projek 'n kantelskakelaar, die swart silindriese sensor met twee bene! Stap 1: Steek die een been van die kantelskakelaar in die Arduino Digital Pin 13 en die ander been in die GND -pen regs langs pen 13. Oriëntasie maak nie saak nie.

Stap 2: Skryf 'n skets wat die status van Digital Pin 13 inlees en afdruk

Of jy kan myne net gebruik!

As u net begin met kodering, lees die opmerkings deur om beter te verstaan hoe die skets werk en probeer om 'n paar dinge te verander om te sien wat gebeur! Dit is goed om dinge te breek, dit is 'n goeie manier om te leer! U kan die lêer altyd weer aflaai en weer begin:)

Stap 3: Klik op die knoppie Serial Monitor (foto 2) om u lewendige data te sien

.. aaaand dit is dit! U kan nou die kantelskakelaar gebruik om die oriëntasie te meet! Stel dit op om u katjie uit te roep as dit iets omslaan, of gebruik dit om by te hou hoe boomtakke tydens storms beweeg!.. en daar is waarskynlik ander toepassings tussen die twee uiterstes.

Stap 7: Digitale sensors! Deel 2: PWM en seriële kommunikasie

Digitale sensors! Deel 2: PWM en seriële kommunikasie
Digitale sensors! Deel 2: PWM en seriële kommunikasie
Digitale sensors! Deel 2: PWM en seriële kommunikasie
Digitale sensors! Deel 2: PWM en seriële kommunikasie
Digitale sensors! Deel 2: PWM en seriële kommunikasie
Digitale sensors! Deel 2: PWM en seriële kommunikasie

Daar is baie maniere om meer komplekse digitale seine te skep! Een metode word Pulse Width Modulation ("PWM") genoem, wat 'n goeie manier is om 'n sein te sê wat vir 'n sekere tyd aan is en vir 'n sekere tyd af is. Servomotors (wat gebruik kan word om posisie te meet) en ultrasoniese sensors is voorbeelde van sensors wat PWM -seine gebruik.

Daar is ook sensors wat seriële kommunikasie gebruik om data een bis, of binêre syfer, op 'n slag te stuur. Hierdie sensors benodig vertroudheid met die lees van gegewensblaaie en kan baie lastig wees as u net aan die gang is. Gelukkig het gewone seriële sensors kodebiblioteke* en voorbeeldprogramme om uit te haal, sodat u nog steeds iets funksioneel kan saamvoeg. Meer besonderhede oor seriële kommunikasieprotokolle val buite hierdie omvang, maar hier is 'n goeie bron oor seriële kommunikasie van SparkFun om meer te wete te kom!

Kom ons gebruik die temperatuur- en humiditeitsensor (DHT11) vir hierdie voorbeeldprojek! Dit is 'n ligblou vierkant met gate en 3 penne.

Eerstens benodig ons 'n paar spesiale biblioteke vir die DHT11 -sensor: die DHT11 -biblioteek en die Adafruit Unified Sensor -biblioteek. Om hierdie biblioteke (en die meeste ander Arduino -biblioteke) te installeer:

Stap 1: Maak die Arduino -biblioteekbestuurder oop deur na Sketch -> Libraries -> Library te gaan (Foto 2)

Stap 2: Installeer en aktiveer die DHT -biblioteek deur na "DHT" te soek en klik dan op Installeer vir die "DHT Arduino -biblioteek" (foto 3)

Stap 3: Installeer en aktiveer die Adafruit Unified Sensor -biblioteek deur na "Adafruit Unified Sensor" te soek en op install te klik.

Stap 4: Voeg die DHT -biblioteek in u oop skets deur na Skets -> Biblioteke te gaan, en klik op die "DHT Arduino -biblioteek. (Foto 4) Dit voeg 'n paar nuwe reëls bo -aan u skets in, wat beteken dat ons biblioteek is nou aktief en gereed om te gebruik! (Foto 5)

*Net soos u gunsteling plaaslike biblioteek, is kodebiblioteke 'n magdom kennis en ander se harde werk wat ons kan gebruik om ons lewens makliker te maak, yay!

Stap 8: Projek 2: Digitale reekssensor vir temp en humiditeit

Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit
Projek 2: Digitale seriële sensor vir temperatuur en humiditeit

Gryp 3 trui van man tot vrou uit die Elegoo Arduino Starter Kit en ons is gereed!

Stap 1: Sluit die koppenne na u toe, en koppel die regterste koppen op die DHT11 aan 'n Arduino -grondpen ("GND").

Stap 2: Koppel die middelste koppen aan die Arduino 5V -uitvoerpen.

Stap 3: Koppel die kopstukpyp aan die linkerkant aan die Arduino Digital Pin 2

Stap 4: Laastens, lees die DHT -biblioteek en probeer 'n skets skryf! Oooor, u kan myne of die DHT -toetsvoorbeeldskets in Arduino gebruik -> Voorbeelde!

As u klaar is, moet u die temperatuur en humiditeit van alle dinge meet!.. Soos 'n dier se asem, 'n kweekhuis of u gunsteling klimplek op verskillende tye van die jaar om die * perfekte * stuurtemperatuur te vind.

Stap 9: Analoog sensors

Analoog sensors!
Analoog sensors!
Analoog sensors!
Analoog sensors!

Na die moeilike duik in digitale sensors, kan analoog sensors na 'n briesie lyk! Analoog seine is 'n deurlopende sein, soos op die 2de foto getoon. Die grootste deel van die fisiese wêreld bestaan analoog (bv. Temperatuur, ouderdom, druk, ens.), Maar aangesien rekenaars digitaal*is, sal die meeste sensors 'n digitale sein lewer. Sommige mikrobeheerders, soos Arduino -borde, kan ook analoog seine lees **.

Vir die meeste analoog sensors gee ons die sensor krag, en lees dan die analoog sein in met behulp van die analoog invoerpenne. Vir hierdie toets gebruik ons 'n nog eenvoudiger opstelling om die spanning oor 'n LED te meet wanneer ons 'n lig daarop skyn.

*Rekenaars gebruik digitale seine om inligting op te slaan en oor te dra. Dit is omdat digitale seine makliker is om op te spoor en betroubaarder is, want al waaroor ons u hoef te bekommer, is om 'n sein te kry of nie, maar hoef nie bekommerd te wees oor die kwaliteit/akkuraatheid van die sein nie.

** Om 'n analoog sein op 'n digitale toestel in te lees, moet ons 'n analoog-na-digitale of ADC-omskakelaar gebruik, wat die analoog sein benader deur die ingang te vergelyk met 'n bekende spanning op die toestel en dan te tel hoe lank dit neem om die ingangsspanning te bereik. Vir meer inligting, is dit 'n nuttige webwerf.

Stap 10: Projek 3: LED as 'n ligsensor

Projek 3: LED as ligsensor!
Projek 3: LED as ligsensor!
Projek 3: LED as ligsensor!
Projek 3: LED as ligsensor!

Gryp 'n LED (enige kleur behalwe wit), 'n weerstand van 100 Ohm en 2 springkabels. O, en 'n broodbord!

Stap 1: Plaas die LED in die broodbord met die langer been aan die regterkant.

Stap 2: Koppel 'n jumperdraad van Arduino Analog Pin A0 en die langer LED -been

Stap 3: Verbind die weerstand tussen die korter LED -been en die negatiewe kragrail van die broodbord (langs die blou lyn).

Stap 4: Koppel die Arduino GND -pen aan die negatiewe kragrail op die broodbord.

Stap 5: Skryf 'n skets wat in Analog Pin A0 lees en op die Serial Monitor gedruk word

Hier is 'n voorbeeldkode om aan die gang te kom.

Stap 11: Visualisering van data: Arduino IDE

Data visualiseer: Arduino IDE!
Data visualiseer: Arduino IDE!
Data visualiseer: Arduino IDE!
Data visualiseer: Arduino IDE!

Die Arduino IDE het ingeboude gereedskap om data te visualiseer. Ons het reeds die basiese beginsels van die Serial Monitor ondersoek waarmee ons sensorwaardes kan druk. As u u data wil stoor en ontleed, kopieer die uitvoer direk vanaf die Serial Monitor en plak dit in 'n teksredakteur, sigblad of ander data -analise -instrument.

Die tweede hulpmiddel wat ons kan gebruik om ons data in die Arduino -program te sien, is die Serial Plotter, 'n visuele weergawe (aka grafiek) van die Serial Monitor. Om die seriële plotter te gebruik, gaan na Tools Serial Plotter. Die grafiek in Foto 2 is die uitset van die LED as 'n ligsensor van Project 3!*

Die plot sal outomaties skaal en solank u Serial.println () vir u sensors gebruik, sal dit ook al u sensors in verskillende kleure druk. Hoera! Dis dit!

*As u na die einde kyk, is daar 'n super interessante golfpatroon wat waarskynlik te wyte is aan die wisselstroom ("AC") in ons oorhoofse ligte!

Stap 12: Visualisering van data: Excel! Deel 1

Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1
Data visualiseer: Excel! Deel 1

Vir 'n meer ernstige data-analise, is daar 'n super cool (en gratis!) Byvoeging vir Excel genaamd Data Streamer*, wat u hier kan aflaai.

Hierdie invoegtoepassing lees uit die seriële poort, sodat ons presies dieselfde koderingstegniek kan gebruik om data na die reeks te druk om data direk in Excel te kry. Ja!

Hoe om die Data Streamer-invoegtoepassing te gebruik:

1. Nadat u dit geïnstalleer het (of as u O365 het), klik op die Data Streamer -oortjie (heel regs) in Excel.

2. Koppel u Arduino aan en klik op "Connect Device" en kies die Arduino in die keuselys. (Foto 1)

3. Klik op "Start Data" om data -insameling te begin! (Foto 2) U sien drie nuwe velle oopmaak: "Data In", "Data Out" en "Settings".

Regstreekse data word in die Data In -blad gedruk. (Foto 3) Elke ry stem ooreen met 'n sensorlesing, met die nuutste waarde in die laaste ry gedruk.

Ons kry standaard slegs 15 rye data, maar u kan dit verander deur na "Instellings" te gaan. Ons kan tot 500 rye versamel (die limiet is te wyte aan die bandwydte van Excel - daar gebeur baie op die agtergrond!).

*Volledige bekendmaking: Alhoewel hierdie tutoriaal nie verbonde is nie, werk ek saam met die Microsoft Hacking STEM-span wat hierdie byvoeging ontwikkel het.

Stap 13: Visualisering van data: Excel! Deel 2

Data visualiseer: Excel! Deel 2
Data visualiseer: Excel! Deel 2
Data visualiseer: Excel! Deel 2
Data visualiseer: Excel! Deel 2
Data visualiseer: Excel! Deel 2
Data visualiseer: Excel! Deel 2

4. Voeg 'n grafiek van u data by! Doen 'n bietjie data -ontleding! Spreidingsplotte wys u hoe die sensorlesings mettertyd verander, wat dieselfde is as wat ons in die Arduino Serial Plotter gesien het.

Om 'n verspreidingsplot by te voeg:

Gaan na Insert -> Charts -> Scatter. As die plot verskyn, klik met die rechtermuisknop daarop en kies 'Kies data' en dan Voeg by. Ons wil hê dat ons data op die y-as vertoon moet word, met 'tyd'* op die x-as. Om dit te doen, klik op die pyltjie langs die y-as, gaan na die Data In-blad en kies al die inkomende sensordata (foto 2).

Ons kan ook berekeninge en vergelykings in Excel doen! Om 'n formule te skryf, klik op 'n leë sel en tik 'n gelyke teken ("="), dan die berekening wat u wil doen. Daar is baie ingeboude opdragte soos gemiddeld, maksimum en minimum.

Om 'n opdrag te gebruik, tik die gelykteken, die opdragnaam en 'n oop hakie, kies dan die data wat u ontleed en sluit die hakies (foto 3)

5. Om meer as een kolom data (AKA meer as een sensor) te stuur, druk die waardes op dieselfde reël geskei deur 'n komma, met 'n laaste leë nuwe reël, soos volg:

Serial.print (sensorReading1);

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

*As u wil hê dat die werklike tyd op die x-as moet wees, kies die tydstempel in kolom A op die Data In-blad vir die x-as-waardes in u strooi-plot. Hoe dan ook, ons sal ons data sien soos dit mettertyd verander.

Stap 14: Gaan vorentoe en meet alles

Gaan voort en meet alles!
Gaan voort en meet alles!
Gaan voort en meet alles!
Gaan voort en meet alles!
Gaan voort en meet alles!
Gaan voort en meet alles!

Goed mense, dit is alles! Tyd om na buite en opwaarts te gaan! Gebruik dit as 'n basis om sensors, Arduino -kodering en data -analise te begin ondersoek om u vrae, nuuskierighede en gunsteling geheimenisse in hierdie groot, pragtige wêreld aan te pak.

Onthou: daar is baie mense wat u kan help, so lewer 'n opmerking as u 'n vraag het!

Het u nog idees nodig? Hier is hoe u 'n draaibare toestandskakelaar, 'n afstandsbediende temperatuursensor op sonkrag en 'n internet-gekoppelde industriële skaal kan verander!

Hou u van hierdie tutoriaal en wil u meer sien? Ondersteun ons projekte op Patreon!: D

Aanbeveel: