Sisukord:

Arduino kasutamine kodanike teaduse jaoks!: 14 sammu (koos piltidega)
Arduino kasutamine kodanike teaduse jaoks!: 14 sammu (koos piltidega)

Video: Arduino kasutamine kodanike teaduse jaoks!: 14 sammu (koos piltidega)

Video: Arduino kasutamine kodanike teaduse jaoks!: 14 sammu (koos piltidega)
Video: Leap Motion SDK 2024, November
Anonim
Image
Image
Pssst, mis vahe on kodanikuteaduse ja
Pssst, mis vahe on kodanikuteaduse ja

Teadus võimaldab meil küsida oma kõige pakilisemaid küsimusi ja uurida igasuguseid kurioosumeid. Mõningase mõtlemise, raske töö ja kannatlikkusega saame kasutada oma uurimistööd, et luua parem arusaam ja hindamine meid ümbritsevast keerulisest ja ilusast maailmast.

See õpetus õpetab teile, kuidas kasutada Arduino (uno) mikrokontrollerit, kuidas kasutada erinevat tüüpi andureid ning kuidas andmeid koguda ja visualiseerida. Teel ehitame kolm projekti: kallutuslüliti, temperatuuri- ja niiskusandur ning valgusandur!

Raskusaste: algaja

Lugemisaeg: 20 min

Ehitamise aeg: sõltub teie projektist! (Selle õpetuse projektid kestavad umbes 15-20 minutit)

1. samm: Pssst, mis vahe on kodanikuteadusel ja "ametlikul teadusel"?

Suurim erinevus on see, et kodanikuteadus on, nagu ma armastan öelda, "laineline", mis tähendab, et seal on palju vigu ja ebakindlust ning nende tuvastamiseks pole ranget protsessi. Seetõttu on kodanikuteaduse kaudu tehtud järeldused palju vähem täpsed kui teadus-teadus ja neile ei tohiks loota tõsiste/elumuutvate/eluohtlike väidete või otsuste tegemisel.*

Nagu öeldud, on kodanikuteadus suurepärane võimalus luua põhjalik arusaam igasugustest põnevatest teaduslikest nähtustest ja on piisavalt hea enamiku igapäevaste rakenduste jaoks.

*Kui tegelete kodanikuteadusega ja avastate midagi potentsiaalselt ohtlikku (nt kõrge pliisisaldus vees), teavitage sellest oma õpetajat (kui see on asjakohane) ning võtke abi saamiseks ühendust asjaomaste ametiasutuste ja spetsialistidega.

Samm: mis on Arduino ??

Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??
Mis on Arduino ??

Arduino on mikrokontrolleriplaat ja integreeritud arenduskeskkond ("IDE"), mis on väljamõeldud viis "kodeerimisprogrammi" ütlemiseks. Algajatele soovitan soojalt Arduino Uno plaate, kuna need on ülitugevad, usaldusväärsed ja võimsad.

Arduino tahvlid on hea valik kodanike teadusprojektide jaoks, kuna neil on palju sisendnuppe nii analoog- kui ka digitaalsensorites lugemiseks (sellest räägime hiljem).

Loomulikult võite sõltuvalt teie (või õpilaste) vajadustest, võimetest ja mugavuse tasemest kasutada kodanike teaduse jaoks muid mikrokontrollereid. Siin on ülevaade mikrokontrolleritest, mis aitavad teil otsustada, mis on teie jaoks parim!

Arduino tahvli välgutamiseks või programmeerimiseks ühendage see USB kaudu, seejärel tehke järgmist.

1. Valige jaotises Tööriistad -> Lauad kasutatav Arduino tüüp. (Foto 2)

2. Valige port (ehk koht, kus see on teie arvutiga ühendatud). (Foto 3)

3. Klõpsake nuppu Laadi üles ja kontrollige, kas see on üleslaadimise lõpetanud. (Foto 4)

Samm: tööriistad ja materjalid

Tööriistad ja materjalid
Tööriistad ja materjalid

Kui alles alustate, on komplekti hankimine kiire ja lihtne viis hunniku osade hankimiseks korraga. Selles õpetuses kasutatav komplekt on Elegoo Arduino stardikomplekt.*

Tööriistad

  • Arduino Uno
  • USB A kuni B kaabel (aka printerikaabel)
  • Jumper juhtmed

    • 3 isast mehele
    • 3 meest-naist
  • Leivalaud

    Valikuline, kuid soovitatav, et muuta teie elu lihtsamaks ja lõbusamaks:)

Materjalid

Selles õpetuses käsitletud projektide jaoks vajate neid osi Elegoo Arduino stardikomplektist:

  • Kallutuslüliti
  • DTH11 temperatuuri ja niiskuse andur
  • LED
  • 100 oomi takisti

*Täielik avalikustamine: ostan samad komplektid töötubade jaoks, kuid selles õpetuses kasutatud komplekti annetasid Elegoo armsad inimesed.

Samm: milliseid andureid saame kasutada?

Milliseid andureid saame kasutada?
Milliseid andureid saame kasutada?

Teaduskatse kavandamisel alustame tavaliselt küsimusest: kui palju CO2 neelavad taimed päevas? Mis on hüppe löögijõud? Mis on teadvus ??

Oma küsimuse põhjal saame seejärel kindlaks teha, mida me soovime mõõta, ja teha mõningaid uuringuid, et välja selgitada, millise anduri abil saame andmeid koguda (kuigi selle viimase küsimuse jaoks andmete kogumine võib olla pisut keeruline!).

Elektroonikaga töötamisel on andurite andmesignaale kahte peamist tüüpi: digitaalne ja analoog. Fotol on osade kaks esimest rida kõik digitaalsed andurid, kaks ülemist rida on analoogid.

Digitaalseid andureid on palju erinevat tüüpi ja mõnega on keerulisem töötada kui teistega. Kodanike teadusprojekti jaoks uurides kontrollige alati, kuidas andur andmeid väljastab (srsly tho), ja veenduge, et leiate selle anduri jaoks (Arduino) kogu.

Selles õpetuses käsitletud kolmes projektis kasutame kahte tüüpi digitaalseid andureid ja ühte analoogandurit. Hakkame õppima!

Samm: digitaalsed andurid! 1. osa: lihtsad

Digitaalsed andurid! 1. osa: lihtsad!
Digitaalsed andurid! 1. osa: lihtsad!
Digitaalsed andurid! 1. osa: lihtsad!
Digitaalsed andurid! 1. osa: lihtsad!

Enamik teie kasutatavaid andureid väljastab digitaalsignaali, mis on sisse- või väljalülitatud signaal.* Nende kahe oleku tähistamiseks kasutame kahendnumbreid: sisselülitussignaali annab 1 või Tõene, väljalülitatud on 0, või vale. Kui me joonistaksime pildi, milline binaarne signaal välja näeb, oleks see ruudukujuline laine nagu fotol 2.

On mõned digitaalsed andurid, näiteks lülitid, mida on ülilihtne ja lihtne mõõta, sest kas nuppu vajutatakse ja me saame signaali (1) või seda ei vajutata ja meil pole signaali (0). Esimese foto alumisel real kujutatud andurid on kõik lihtsad sisse/välja tüüpi. Ülemise rea andurid on natuke keerukamad ja on kaetud pärast meie esimest projekti.

Selle õpetuse kaks esimest projekti õpetavad teile, kuidas mõlemat tüüpi kasutada! Jätkame oma esimese projekti ehitamist !!

*Sees tähendab elektrilist signaali elektrivoolu ja pinge kujul. Väljas tähendab, et elektrisignaali pole!

6. samm: projekt 1: kallutuslüliti digitaalne andur

Projekt 1: kallutuslüliti digitaalne andur
Projekt 1: kallutuslüliti digitaalne andur
Projekt 1: kallutuslüliti digitaalne andur
Projekt 1: kallutuslüliti digitaalne andur
Projekt 1: kallutuslüliti digitaalne andur
Projekt 1: kallutuslüliti digitaalne andur

Selle esimese projekti puhul kasutame kallutuslülitit, seda kahe silindriga silindrilist andurit! 1. samm: sisestage kallutuslüliti üks jalg Arduino digitaalsesse tihvti 13 ja teine jalg GND tihvti otse tihvti 13 kõrvale. vahet pole.

Samm: kirjutage eskiis, mis loeb ja prindib välja digitaalse tihvti 13 oleku

Või võite lihtsalt minu oma kasutada!

Kui alles alustate kodeerimisega, lugege kommentaare, et paremini aru saada, kuidas visand töötab, ja proovige mõnda asja muuta, et näha, mis juhtub! Asjade lõhkumine on OK, see on suurepärane võimalus õppida! Faili saate alati uuesti alla laadida ja otsast alustada:)

Samm: oma reaalajas andmete vaatamiseks klõpsake nuppu Serial Monitor (foto 2)

.. aaaa ja ongi kõik! Nüüd saate orientatsiooni mõõtmiseks kasutada kallutuslülitit! Seadistage see, et kutsuda oma kiisu välja, kui see midagi ümber lööb, või kasutage seda, et jälgida, kuidas puuoksad tormide ajal liiguvad!.. & nende kahe äärmuse vahel on ilmselt ka teisi rakendusi.

Samm: digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon

Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon
Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon
Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon
Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon
Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon
Digitaalsed andurid! Osa 2: PWM ja jadakommunikatsioon

Keerukamate digitaalsignaalide loomiseks on palju võimalusi! Ühte meetodit nimetatakse impulsi laiuse modulatsiooniks (PWM), mis on väljamõeldud viis öelda signaal, mis on teatud aja jooksul sisse lülitatud ja teatud aja jooksul välja lülitatud. Servomootorid (mida saab kasutada positsiooni mõõtmiseks) ja ultraheliandurid on näited anduritest, mis kasutavad PWM -signaale.

Samuti on andureid, mis kasutavad jadaühendust andmete saatmiseks ühe bitina või binaarkohana korraga. Need andurid nõuavad andmelehtede lugemist ja peavad olema üsna keerulised, kui alles alustate. Õnneks on tavalistel jadaanduritel kooditeegid* ja näidisprogrammid, millest saate välja võtta, et saaksite siiski midagi funktsionaalset kokku panna. Üksikasjalikumad jadakommunikatsiooni protokollid ei kuulu selle õpetuse raamesse, kuid siin on SparkFuni suurepärane seeriavõrgu ressurss, et rohkem teada saada!

Selle näidisprojekti jaoks kasutame temperatuuri ja niiskuse andurit (DHT11)! See on sinine ruut aukude ja 3 tihvtiga.

Esiteks vajame DHT11 anduri jaoks paari spetsiaalset raamatukogu: DHT11 raamatukogu ja Adafruit Unified Sensor raamatukogu. Nende raamatukogude (ja enamiku teiste Arduino raamatukogude) installimiseks toimige järgmiselt.

Samm: avage Arduino raamatukoguhaldur, minnes visandile -> Raamatukogud -> kogu haldamiseks (foto 2)

Samm: installige ja aktiveerige DHT -kogu, otsides "DHT" ja seejärel klõpsates "DHT Arduino raamatukogu" jaoks nuppu Installi (foto 3)

Samm: installige ja aktiveerige Adafruit Unified Sensor raamatukogu, otsides "Adafruit Unified Sensor" ja klõpsates install.

Samm 4: sisestage DHT -raamatukogu oma avatud visandisse, minnes Sketch -> Libraries ja klõpsates "DHT Arduino Library". (Foto 4) See lisab eskiisi ülaossa paar uut rida, mis tähendab meie Raamatukogu on nüüd aktiivne ja kasutusvalmis! (Foto 5)

*Täpselt nagu teie lemmik kohalik raamatukogu, on ka kooditeegid rikkad teadmised ja teiste inimeste raske töö, mida saame kasutada oma elu lihtsamaks muutmiseks.

8. samm: projekt 2: temperatuuri ja niiskuse digitaalne jadaandur

Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur
Projekt 2: temperatuuri ja niiskuse digitaalne jadaandur

Haara Elegoo Arduino stardikomplektist 3 meessoost naissoost hüppajajuhtme ja oleme valmis minema!

Samm: ühendage päise tihvtid enda poole, ühendage DHT11 parempoolne päise tihvt Arduino maandusnõelaga ("GND").

Samm: ühendage keskmine päise tihvt Arduino 5V väljundpistikuga.

Samm: ühendage vasakpoolseim päise tihvt Arduino digitaalse tihvtiga 2

Samm 4: Lõpuks lugege DHT raamatukogu ja proovige oma kätt visandi kirjutamisel! Oooor, võite kasutada minu või DHT testi näite visandit Arduino raames -> Näited!

Kui olete selle valmis saanud, minge edasi ja mõõtke kõigi asjade temperatuuri ja niiskust!.. Nagu looma hingeõhk, kasvuhoone või teie lemmik ronimiskoht erinevatel aastaaegadel, et leida * ideaalne * saatmistemperatuur.

Samm: analoogandurid

Analoogandurid!
Analoogandurid!
Analoogandurid!
Analoogandurid!

Pärast rasket sukeldumist digitaalsensoritesse võivad analoogandurid tunduda imelihtsad! Analoogsignaalid on pidev signaal, nagu on näidatud teisel fotol. Suurem osa füüsilisest maailmast eksisteerib analoogides (nt temperatuur, vanus, rõhk jne), kuid kuna arvutid on digitaalsed*, väljastavad enamik andureid digitaalsignaali. Mõned mikrokontrollerid, näiteks Arduino plaadid, saavad lugeda ka analoogsignaale **.

Enamiku analoogandurite puhul anname andurile võimsuse ja loeme analoogsignaali analoogsisendi tihvtide abil sisse. Selle testi jaoks kasutame veelgi lihtsamat seadistust, et mõõta LED -i pinget, kui sellele valgustame.

*Arvutid kasutavad teabe salvestamiseks ja edastamiseks digitaalseid signaale. Seda seetõttu, et digitaalseid signaale on lihtsam tuvastada ja need on usaldusväärsemad, kuna peame muretsema ainult selle üle, kas saada signaal või mitte, võrreldes sellega, et peame muretsema signaali kvaliteedi/täpsuse pärast.

** Digitaalseadme analoogsignaali lugemiseks peame kasutama analoog-digitaalmuundurit või ADC-muundurit, mis lähendab analoogsignaali, võrreldes sisendit seadme teadaoleva pingega ja loendades seejärel selle kestust. kulub sisendpinge saavutamiseks. Lisateabe saamiseks on see kasulik sait.

Samm: projekt 3: LED valgusandurina

Projekt 3: LED valgusandurina!
Projekt 3: LED valgusandurina!
Projekt 3: LED valgusandurina!
Projekt 3: LED valgusandurina!

Haarake LED (mis tahes värvi, välja arvatud valge), 100 oomi takisti ja 2 hüppajakaablit. Oh, ja leivalaud!

Samm: sisestage valgusdiood leivalauale, pikem jalg paremal küljel.

Samm: ühendage Arduino analoogpistiku A0 hüppajajuhe ja pikem LED -jalg

Samm: ühendage takisti lühema LED -jala ja leivaplaadi negatiivse toitekapi vahele (sinise joone kõrval).

Samm: ühendage Arduino GND tihvt leivaplaadi negatiivse toitekaabliga.

Samm 5: Kirjutage eskiis, mis loeb analoogpinni A0 ja prindib jadamonitorile

Siin on näidiskood alustamiseks.

Samm: andmete visualiseerimine: Arduino IDE

Andmete visualiseerimine: Arduino IDE!
Andmete visualiseerimine: Arduino IDE!
Andmete visualiseerimine: Arduino IDE!
Andmete visualiseerimine: Arduino IDE!

Arduino IDE-l on andmete visualiseerimiseks sisseehitatud tööriistad. Oleme juba uurinud jadamonitori põhitõdesid, mis võimaldavad meil andurite väärtusi printida. Kui soovite oma andmeid salvestada ja analüüsida, kopeerige väljund otse jadamonitorist ja kleepige tekstiredaktorisse, arvutustabelisse või muusse andmeanalüüsi tööriista.

Teine tööriist, mida saame kasutada oma andmete vaatamiseks Arduino programmis, on Serial Plotter, seeriamonitori visuaalne versioon (aka graafik). Sarjaplotteri kasutamiseks avage Tööriistad jadaplotter. Foto 2 graafik on LED -i väljund valgussensorina projektist 3!*

Graafik skaleerub automaatselt ja seni, kuni kasutate andurite jaoks Serial.println (), prindib see ka kõik teie andurid erinevates värvides. Hurraa! See on kõik!

*Kui vaadata lõppu, siis on väga huvitav lainekujundus, mis on tõenäoliselt tingitud meie ülatulede vahelduvvoolust!

12. samm: andmete visualiseerimine: Excel! 1. osa

Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa
Andmete visualiseerimine: Excel! 1. osa

Tõsisemate andmete analüüsimiseks on Exceli jaoks ülilahe (ja tasuta!) Lisandmoodul nimega Data Streamer*, mille saate alla laadida siit.

See lisandmoodul loeb jadapordist, nii et saame kasutada täpselt sama kodeerimistehnikat andmete seeriasse printimiseks, et saada andmeid otse Excelisse.

Kuidas kasutada andmevoo lisandmoodulit?

1. Kui olete selle installinud (või kui teil on O365), klõpsake Exceli vahekaarti Data Streamer (paremal).

2. Ühendage oma Arduino ja klõpsake "Ühenda seade", seejärel valige rippmenüüst Arduino. (Foto 1)

3. Andmete kogumise alustamiseks klõpsake "Start Data"! (Foto 2) Näete kolme uut lehte: "Andmed sisse", "Andmed välja" ja "Seaded".

Reaalajas andmed trükitakse lehele Data In. (Foto 3) Iga rida vastab anduri näidule, viimasele väärtusele on trükitud uusim väärtus.

Vaikimisi saame ainult 15 rida andmeid, kuid saate seda muuta menüüs "Seaded". Võime koguda kuni 500 rida (piirang tuleneb Exceli ribalaiusest - taustal toimub palju!).

*Täielik avalikustamine: kuigi see õpetus ei ole seotud, töötan koos Microsofti häkkimise STEMi meeskonnaga, kes selle lisandmooduli välja töötas.

13. samm: andmete visualiseerimine: Excel! 2. osa

Andmete visualiseerimine: Excel! 2. osa
Andmete visualiseerimine: Excel! 2. osa
Andmete visualiseerimine: Excel! 2. osa
Andmete visualiseerimine: Excel! 2. osa
Andmete visualiseerimine: Excel! 2. osa
Andmete visualiseerimine: Excel! 2. osa

4. Lisage oma andmete krunt! Tehke andmete analüüs! Hajutusgraafikud näitavad teile, kuidas andurite näidud aja jooksul muutuvad, mis on sama, mida nägime Arduino jadaplaanis.

Hajutusgraafiku lisamiseks tehke järgmist

Avage Insert -> Charts -> Scatter. Kui graafik avaneb, paremklõpsake seda ja valige "Valige andmed", seejärel Lisa. Soovime, et meie andmed kuvataks y-teljel ja x-teljel oleks "aeg"*. Selleks klõpsake y-telje kõrval olevat noolt, minge lehele Data In ja valige kõik sissetulevad anduri andmed (foto 2).

Arvutusi ja võrdlusi saame teha ka Excelis! Valemi kirjutamiseks klõpsake tühjal lahtril ja tippige võrdusmärk ("="), seejärel arvutus, mida soovite teha. Sisseehitatud käske on palju, näiteks keskmine, maksimum ja miinimum.

Käsu kasutamiseks tippige võrdusmärk, käsu nimi ja avatud sulg, seejärel valige analüüsitavad andmed ja sulgege sulgud (Foto 3)

5. Rohkem kui ühe andmeveeru saatmiseks (AKA rohkem kui üks andur) printige väärtused samale reale, eraldades need komaga, viimase tühja reaga järgmiselt:

Serial.print (sensorReading1);

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

*Kui soovite, et tegelik aeg oleks x-teljel, valige ajaleht veerus A lehel Andmed sisestage oma hajumisgraafiku x-telje väärtused. Mõlemal juhul näeme oma andmeid aja jooksul muutuvatena.

14. samm: minge edasi ja mõõtke kõiki asju

Minge edasi ja mõõtke kõiki asju !!
Minge edasi ja mõõtke kõiki asju !!
Minge edasi ja mõõtke kõiki asju !!
Minge edasi ja mõõtke kõiki asju !!
Minge edasi ja mõõtke kõiki asju !!
Minge edasi ja mõõtke kõiki asju !!

Olgu, inimesed, see on kõik! Aeg liikuda välja ja üles! Kasutage seda alusena, et hakata uurima andureid, Arduino kodeerimist ja andmete analüüsi, et lahendada oma küsimusi, uudishimu ja lemmikmüsteeriume selles suures ja ilusas maailmas.

Pidage meeles: seal on palju inimesi, kes teid teel abistavad, nii et kui teil on küsimusi, jätke kommentaar!

Kas vajate veel ideid? Siit saate teada, kuidas teha kantavat oleku muutmise lülitit, päikeseenergial töötavat kaugtemperatuuri andurit ja Interneti-ühendusega tööstuslikku skaalat!

Kas teile meeldib see õpetus ja soovite rohkem näha? Toetage meie Patreoni projekte!: D

Soovitan: