Cuprins:

Folosind Arduino pentru Citizen Science !: 14 pași (cu imagini)
Folosind Arduino pentru Citizen Science !: 14 pași (cu imagini)

Video: Folosind Arduino pentru Citizen Science !: 14 pași (cu imagini)

Video: Folosind Arduino pentru Citizen Science !: 14 pași (cu imagini)
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Iunie
Anonim
Image
Image
Pssst, Care este diferența dintre știința cetățenească și
Pssst, Care este diferența dintre știința cetățenească și

Știința ne permite să ne punem cele mai presante întrebări și să explorăm tot felul de curiozități. Cu câteva gânduri, muncă grea și răbdare, putem folosi explorările noastre pentru a construi o mai bună înțelegere și apreciere a lumii complexe și frumoase din jurul nostru.

Acest tutorial vă va învăța cum să utilizați un microcontroler Arduino (uno), cum să utilizați diferite tipuri de senzori și cum să culegeți și să vizualizați date. Pe parcurs, vom construi trei proiecte: un comutator de înclinare, un senzor de temperatură și umiditate și un senzor de lumină!

Nivel de dificultate: Începător

Timp de citire: 20 min

Build Time: Depinde de proiectul tău! (Proiectele din acest tutorial durează aproximativ 15 - 20 de minute)

Pasul 1: Pssst, Care este diferența dintre știința cetățenească și „știința oficială”?

Cea mai mare diferență este că știința cetățenească este, așa cum îmi place să spun, „mâna ondulată”, ceea ce înseamnă că există o mulțime de erori și incertitudini și nu există un proces riguros pentru a le identifica. Din această cauză, concluziile la care se ajunge prin știința cetățenească sunt mult mai puțin exacte decât știința științifică și nu ar trebui să se bazeze pe ele pentru a face afirmații sau decizii serioase / care modifică viața / care pun viața în pericol. *

Acestea fiind spuse, știința cetățenilor este o modalitate excelentă de a construi o înțelegere fundamentală a tot felul de fenomene științifice fascinante și este suficient de bună pentru majoritatea aplicațiilor de zi cu zi.

* Dacă faceți științe ale cetățenilor și descoperiți ceva potențial periculos (de exemplu, niveluri ridicate de plumb în apă), informați-vă educatorul (dacă este cazul) și contactați autoritățile și profesioniștii relevanți pentru asistență.

Pasul 2: Ce este Arduino ??

Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??
Ce este Arduino ??

Arduino este o placă de microcontroler și un mediu de dezvoltare integrat („IDE”), care este un mod elegant de a spune „program de codare”. Pentru începători, recomand cu plăcere plăcile Arduino Uno, deoarece sunt super robuste, fiabile și puternice.

Plăcile Arduino sunt o alegere bună pentru proiectele științifice ale cetățenilor, deoarece au o mulțime de pini de intrare de citit atât în senzorii analogici, cât și în senzorii digitali (vom aprofunda acest lucru mai târziu).

Desigur, puteți utiliza alte microcontrolere pentru știința cetățenilor, în funcție de nevoile, abilitățile și nivelul de confort al dvs. (sau al elevilor dvs.). Iată o prezentare generală a microcontrolerelor pentru a vă ajuta să decideți ce este cel mai bun pentru dvs.!

Pentru a bloca sau programa o placă Arduino, conectați-o prin USB, apoi:

1. Selectați tipul de Arduino pe care îl utilizați în Instrumente -> Placi. (Foto 2)

2. Selectați portul (cunoscut și acolo unde este conectat la computer). (Foto 3)

3. Faceți clic pe butonul Încărcare și verificați dacă se termină încărcarea. (Foto 4)

Pasul 3: Instrumente și materiale

Instrumente și materiale
Instrumente și materiale

Dacă tocmai începeți, obținerea unui kit este o modalitate rapidă și ușoară de a obține o grămadă de piese simultan. Kitul pe care îl folosesc în acest tutorial este kitul de început Elegoo Arduino. *

Instrumente

  • Arduino Uno
  • Cablu USB A la B (aka cablu imprimantă)
  • Sârme jumper

    • 3 bărbați la bărbați
    • 3 bărbat-la-femeie
  • Pană de pâine

    Opțional, dar recomandat pentru a vă face viața mai ușoară și mai distractivă:)

Materiale

Pentru proiectele acoperite în acest tutorial, veți avea nevoie de aceste piese de la Elegoo Arduino Starter Kit:

  • Comutator Tilt
  • Senzor de temperatură și umiditate DTH11
  • LED
  • Rezistor 100 Ohm

* Dezvăluire completă: achiziționez aceleași truse pentru ateliere, dar trusa folosită în acest tutorial a fost donată de oamenii minunați de la Elegoo.

Pasul 4: Ce tipuri de senzori putem folosi?

Ce tipuri de senzori putem folosi?
Ce tipuri de senzori putem folosi?

Când proiectăm un experiment științific, de obicei începem cu o întrebare: Cât CO2 absorb plantele într-o zi? Care este forța de impact a unui salt? Ce este conștiința ??

Pe baza întrebării noastre, putem identifica apoi ceea ce dorim să măsurăm și să facem unele cercetări pentru a afla ce senzor putem folosi pentru a aduna date (deși ar putea fi puțin dificil să adunăm date pentru ultima întrebare!).

Când lucrați cu electronice, există două tipuri principale de semnale de date ale senzorului: digital și analog. În fotografie, primele două rânduri de piese sunt toate senzori digitali, în timp ce primele două rânduri sunt analogice.

Există multe tipuri diferite de senzori digitali, iar unii sunt mai dificili de lucrat cu alții decât alții. Când faceți cercetări pentru proiectul dvs. de știință cetățeană, verificați întotdeauna modul în care senzorul scoate datele (srsly tho) și asigurați-vă că puteți găsi o bibliotecă (Arduino) pentru senzorul respectiv.

În cele trei proiecte acoperite în acest tutorial vom folosi două tipuri de senzori digitali și un senzor analogic. Hai să învățăm!

Pasul 5: senzori digitali! Partea 1: cei ușor

Senzori digitali! Partea 1: cei ușor!
Senzori digitali! Partea 1: cei ușor!
Senzori digitali! Partea 1: cei ușor!
Senzori digitali! Partea 1: cei ușor!

Majoritatea senzorilor pe care îi veți folosi emit un semnal digital, care este un semnal care este fie pornit, fie oprit. * Folosim numere binare pentru a reprezenta aceste două stări: un semnal de pornire este dat de 1, sau Adevărat, în timp ce Oprit este 0, sau Fals. Dacă ar fi să desenăm o imagine a aspectului unui semnal binar, ar fi o undă pătrată ca cea din fotografia 2.

Există câțiva senzori digitali, cum ar fi comutatoarele, care sunt foarte ușor și direct de măsurat, deoarece fie butonul este apăsat și primim un semnal (1), fie nu este apăsat și nu avem semnal (0). Senzorii reprezentați în rândul de jos al primei fotografii sunt tipuri simple de pornire / oprire. Senzorii de pe rândul de sus sunt puțin mai complexi și sunt acoperiți după primul nostru proiect.

Primele două proiecte din acest tutorial vă vor învăța cum să utilizați ambele tipuri! În continuare pentru a construi primul nostru proiect !!

* Pornit înseamnă un semnal electric sub formă de curent electric și tensiune. Dezactivat înseamnă că nu există semnal electric!

Pasul 6: Proiectul 1: Senzorul digital al comutatorului de înclinare

Proiect 1: Senzor digital cu comutator de înclinare
Proiect 1: Senzor digital cu comutator de înclinare
Proiect 1: Senzor digital cu comutator de înclinare
Proiect 1: Senzor digital cu comutator de înclinare
Proiect 1: Senzor digital cu comutator de înclinare
Proiect 1: Senzor digital cu comutator de înclinare

Pentru acest prim proiect, să folosim un comutator de înclinare, acel senzor cilindric negru cu două picioare! nu contează.

Pasul 2: scrieți o schiță care citește și tipărește starea Pinului digital 13

Sau o poți folosi doar pe a mea!

Dacă tocmai începeți codarea, citiți comentariile pentru a înțelege mai bine cum funcționează schița și încercați să schimbați unele lucruri pentru a vedea ce se întâmplă! Este OK să spargi lucrurile, acesta este un mod minunat de a învăța! Puteți oricând să descărcați din nou fișierul și să reîncepeți:)

Pasul 3: Pentru a vedea datele live, faceți clic pe butonul Serial Monitor (foto 2)

.. aaa și gata! Acum puteți utiliza comutatorul de înclinare pentru a măsura orientarea! Configurează-l pentru a-ți striga pisoiul când dă peste ceva sau folosește-l pentru a ține evidența modului în care se mișcă ramurile copacilor în timpul furtunilor!.. & există probabil alte aplicații între aceste două extreme.

Pasul 7: senzori digitali! Partea 2: PWM și comunicare în serie

Senzori digitali! Partea 2: PWM și comunicare în serie
Senzori digitali! Partea 2: PWM și comunicare în serie
Senzori digitali! Partea 2: PWM și comunicare în serie
Senzori digitali! Partea 2: PWM și comunicare în serie
Senzori digitali! Partea 2: PWM și comunicare în serie
Senzori digitali! Partea 2: PWM și comunicare în serie

Există multe modalități de a crea semnale digitale mai complexe! O metodă se numește Modularea lățimii pulsului ("PWM"), care este un mod fantezist de a spune un semnal care este pornit pentru o anumită perioadă de timp și oprit pentru o anumită perioadă de timp. Servomotorele (care pot fi utilizate pentru măsurarea poziției) și senzorii cu ultrasunete sunt exemple de senzori care utilizează semnale PWM.

Există, de asemenea, senzori care utilizează comunicații seriale pentru a trimite date pe un bit, sau cifre binare, la un moment dat. Acești senzori necesită o anumită familiaritate cu citirea fișelor tehnice și pot fi destul de dificil dacă abia începeți. Din fericire, senzorii seriali obișnuiți vor avea biblioteci de coduri * și eșantion de programe din care să poți trage, astfel încât să poți totuși să găsești ceva funcțional. Mai multe detalii despre protocoalele de comunicații seriale depășesc sfera acestui tutorial, dar iată o resursă excelentă despre comunicarea serială de la SparkFun pentru a afla mai multe!

Pentru acest proiect de probă, să folosim senzorul de temperatură și umiditate (DHT11)! Acesta este un pătrat albastru cu găuri și 3 pini.

Mai întâi vom avea nevoie de câteva biblioteci speciale pentru senzorul DHT11: biblioteca DHT11 și biblioteca Adafruit Unified Sensor. Pentru a instala aceste biblioteci (și majoritatea celorlalte biblioteci Arduino):

Pasul 1: Deschideți managerul de bibliotecă Arduino accesând Sketch -> Biblioteci -> gestionați biblioteca (Foto 2)

Pasul 2: Instalați și activați biblioteca DHT căutând „DHT” și apoi făcând clic pe Instalare pentru „Biblioteca DHT Arduino” (Foto 3)

Pasul 3: Instalați și activați biblioteca Adafruit Unified Sensor căutând „Adafruit Unified Sensor” și făcând clic pe instalare.

Pasul 4: introduceți biblioteca DHT în schița deschisă accesând Schiță -> Biblioteci și făcând clic pe „Biblioteca DHT Arduino. (Foto 4) Aceasta va insera câteva linii noi în partea de sus a schiței, ceea ce înseamnă că biblioteca este acum activă și gata de utilizare! (Foto 5)

* La fel ca biblioteca dvs. locală favorabilă, bibliotecile de coduri sunt o mulțime de cunoștințe și munca grea a altor oameni pe care o putem folosi pentru a ne face viața mai ușoară, da!

Pasul 8: Proiectul 2: Senzor serial digital de temperatură și umiditate

Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate
Proiect 2: Senzor serial digital de temperatură și umiditate

Luați 3 fire jumper de la bărbat la femeie de la Elegoo Arduino Starter Kit și suntem gata să plecăm!

Pasul 1: Cu știfturile de antet orientate spre dvs., conectați știftul de antet din dreapta de pe DHT11 la un știft de masă Arduino („GND”).

Pasul 2: Conectați pinul antet central la pinul de ieșire Arduino 5V.

Pasul 3: Conectați pinul din antet din stânga la Pinul digital 2 Arduino

Pasul 4: În cele din urmă, citiți biblioteca DHT și încercați să scrieți o schiță! Oooor, puteți utiliza schița de exemplu a testului meu sau DHT din Arduino -> Exemple!

Când îl ai pus în funcțiune, du-te și măsoară temperatura și umiditatea tuturor lucrurilor!.. Ca respirația unui animal, o seră sau locul preferat de urcare în diferite perioade ale anului pentru a găsi temperatura de trimitere * perfectă *.

Pasul 9: senzori analogici

Senzori analogici!
Senzori analogici!
Senzori analogici!
Senzori analogici!

După scufundarea dificilă în senzorii digitali, senzorii analogici pot părea o briză! Semnalele analogice sunt un semnal continuu, așa cum se arată în a doua fotografie. Cea mai mare parte a lumii fizice există în analog (de exemplu, temperatură, vârstă, presiune etc.), dar din moment ce computerele sunt digitale *, majoritatea senzorilor vor emite un semnal digital. Unele microcontrolere, cum ar fi plăcile Arduino, pot citi și în semnale analogice **.

Pentru majoritatea senzorilor analogici, oferim puterii senzorului, apoi citim semnalul analogic folosind pinii de intrare analogică. Pentru acest test, vom folosi o configurare și mai simplă pentru a măsura tensiunea pe un LED atunci când strălucim o lumină pe el.

* Calculatoarele folosesc semnale digitale pentru a stoca și a transmite informații. Acest lucru se datorează faptului că semnalele digitale sunt mai ușor de detectat și sunt mai fiabile, deoarece tot ceea ce trebuie să ne facem este să primim sau nu un semnal față de faptul că trebuie să ne facem griji cu privire la calitatea / precizia semnalului.

** Pentru a citi un semnal analogic pe un dispozitiv digital, trebuie să folosim un convertor analog-digital sau ADC, care aproximează semnalul analogic comparând intrarea cu o tensiune cunoscută a dispozitivului, apoi numărând cât timp durează pentru a atinge tensiunea de intrare. Pentru mai multe informații, acesta este un site util.

Pasul 10: Proiectul 3: LED-ul ca senzor de lumină

Proiectul 3: LED-ul ca senzor de lumină!
Proiectul 3: LED-ul ca senzor de lumină!
Proiectul 3: LED-ul ca senzor de lumină!
Proiectul 3: LED-ul ca senzor de lumină!

Luați un LED (orice culoare, cu excepția albului), un rezistor de 100 Ohm și 2 cabluri jumper. Oh, și o placă de calcul!

Pasul 1: Introduceți LED-ul în panou cu piciorul mai lung pe partea dreaptă.

Pasul 2: Conectați un cablu jumper de la Pinul Ar0 analog A0 și piciorul cu LED mai lung

Pasul 3: Conectați rezistorul între piciorul cu LED mai scurt și șina de alimentare negativă a panoului (lângă linia albastră).

Pasul 4: Conectați pinul Arduino GND la șina de alimentare negativă de pe panou.

Pasul 5: Scrieți o schiță care citește în pinul analogic A0 și se imprimă pe monitorul serial

Iată un exemplu de cod pentru a începe.

Pasul 11: Vizualizarea datelor: Arduino IDE

Vizualizarea datelor: Arduino IDE!
Vizualizarea datelor: Arduino IDE!
Vizualizarea datelor: Arduino IDE!
Vizualizarea datelor: Arduino IDE!

Arduino IDE vine cu instrumente încorporate pentru vizualizarea datelor. Am explorat deja elementele de bază ale monitorului serial, care ne permite să imprimăm valorile senzorilor. Dacă doriți să salvați și să vă analizați datele, copiați rezultatul direct din Serial Monitor și lipiți într-un editor de text, foaie de calcul sau alt instrument de analiză a datelor.

Al doilea instrument pe care îl putem folosi pentru a vedea datele noastre în programul Arduino este Serial Plotter, o versiune vizuală (alias grafic) a Serial Monitor. Pentru a utiliza Serial Plotter, accesați Instrumente Serial Plotter. Graficul din fotografia 2 este ieșirea LED-ului ca senzor de lumină din proiectul 3! *

Complotul se va scala automat și, atâta timp cât utilizați Serial.println () pentru senzori, va imprima, de asemenea, toți senzorii dvs. în culori diferite. Ura! Asta e!

* Dacă te uiți la sfârșit, există un model de undă super interesant care se datorează probabil curentului alternativ ("AC") în luminile noastre de deasupra!

Pasul 12: Vizualizarea datelor: Excel! Partea 1

Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1
Vizualizarea datelor: Excel! Partea 1

Pentru o analiză mai serioasă a datelor, există un supliment extraordinar (și gratuit!) Pentru Excel numit Data Streamer *, pe care îl puteți descărca de aici.

Acest add-in citește din portul serial, astfel încât să putem folosi exact aceeași tehnică de codare a tipăririi datelor în serie pentru a obține date direct în Excel.. heck da !!

Cum se utilizează suplimentul Data Streamer:

1. După ce l-ați instalat (sau dacă aveți O365), faceți clic pe fila Streamer de date (în dreapta) în Excel.

2. Conectați-vă Arduino și faceți clic pe „Conectare dispozitiv”, apoi selectați Arduino din meniul derulant. (Foto 1)

3. Faceți clic pe „Start Data” pentru a începe colectarea datelor! (Foto 2) Veți vedea trei noi foi deschise: „Data In”, „Data Out” și „Settings”.

Datele live sunt tipărite în foaia Date In. (Foto 3) Fiecare rând corespunde unei citiri a senzorului, cu cea mai nouă valoare imprimată în ultimul rând.

În mod implicit, obținem doar 15 rânduri de date, dar puteți schimba acest lucru accesând „Setări”. Putem aduna până la 500 de rânduri (limita se datorează lățimii de bandă Excel - se întâmplă multe în fundal!).

* Dezvăluire completă: Deși acest tutorial nu este afiliat, lucrez cu echipa Microsoft Hacking STEM care a dezvoltat acest supliment.

Pasul 13: Vizualizarea datelor: Excel! Partea 2

Vizualizarea datelor: Excel! Partea 2
Vizualizarea datelor: Excel! Partea 2
Vizualizarea datelor: Excel! Partea 2
Vizualizarea datelor: Excel! Partea 2
Vizualizarea datelor: Excel! Partea 2
Vizualizarea datelor: Excel! Partea 2

4. Adăugați un complot al datelor dvs.! Faceți câteva analize de date! Graficele Scatter vă arată cum se modifică citirile senzorilor în timp, ceea ce am văzut în Arduino Serial Plotter.

Pentru a adăuga un complot Scatter:

Accesați Inserare -> Diagrame -> Scatter. Când apare complotul, faceți clic dreapta pe el și alegeți „Selectare date”, apoi Adăugați. Vrem ca datele noastre să fie afișate pe axa y, cu „timp” * pe axa x. Pentru a face acest lucru, faceți clic pe săgeata de lângă axa y, accesați foaia În date și selectați toate datele senzorului de intrare (Foto 2).

De asemenea, putem face calcule și comparații în Excel! Pentru a scrie o formulă, faceți clic pe o celulă goală și tastați un semn egal ("="), apoi calculul pe care doriți să îl faceți. Există o mulțime de comenzi încorporate, cum ar fi medie, maximă și minimă.

Pentru a utiliza o comandă, tastați semnul egal, numele comenzii și o paranteză deschisă, apoi selectați datele pe care le analizați și închideți parantezele (Foto 3)

5. Pentru a trimite mai mult de o coloană de date (AKA mai mult de un senzor), imprimați valorile pe aceeași linie separată printr-o virgulă, cu o nouă linie goală nouă, astfel:

Serial.print (sensorReading1);

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

* Dacă doriți ca ora reală să fie pe axa x, selectați marcajul de timp în coloana A pe foaia de date pentru valorile axei x din diagrama Scatter. Oricum ar fi, vom vedea datele noastre pe măsură ce se modifică în timp.

Pasul 14: Mergeți și măsurați toate lucrurile

Mergeți mai departe și măsurați toate lucrurile !!
Mergeți mai departe și măsurați toate lucrurile !!
Mergeți mai departe și măsurați toate lucrurile !!
Mergeți mai departe și măsurați toate lucrurile !!
Mergeți mai departe și măsurați toate lucrurile !!
Mergeți mai departe și măsurați toate lucrurile !!

Bine oameni buni, atât! E timpul să mergi în afară și în sus! Utilizați acest lucru ca bază pentru a începe explorarea senzorilor, a codificării Arduino și a analizei datelor pentru a aborda întrebările, curiozitățile și misterele favorabile din această lume mare și frumoasă.

Amintiți-vă: există o mulțime de oameni care vă pot ajuta pe parcurs, așa că vă rugăm să lăsați un comentariu dacă aveți o întrebare!

Mai ai nevoie de câteva idei? Iată cum puteți face un comutator de schimbare a stării purtabil, un senzor de temperatură la distanță alimentat cu energie solară și o scară industrială conectată la Internet!

Îți place acest tutorial și vrei să vezi mai multe? Susțineți proiectele noastre pe Patreon!: D

Recomandat: