Sommario:

Utilizzo di Arduino per Citizen Science!: 14 passaggi (con immagini)
Utilizzo di Arduino per Citizen Science!: 14 passaggi (con immagini)

Video: Utilizzo di Arduino per Citizen Science!: 14 passaggi (con immagini)

Video: Utilizzo di Arduino per Citizen Science!: 14 passaggi (con immagini)
Video: Progetto Arduino con ChatGPT : Termometro SHT35 2024, Giugno
Anonim
Image
Image
Pssst, qual è la differenza tra Citizen Science e
Pssst, qual è la differenza tra Citizen Science e

La scienza ci permette di porre le nostre domande più urgenti ed esplorare ogni sorta di curiosità. Con un po' di riflessione, duro lavoro e pazienza, possiamo usare le nostre esplorazioni per costruire una migliore comprensione e apprezzamento del mondo complesso e meraviglioso che ci circonda.

Questo tutorial ti insegnerà come utilizzare un microcontrollore Arduino (uno), come utilizzare diversi tipi di sensori e come raccogliere e visualizzare i dati. Lungo la strada, costruiremo tre progetti: un interruttore di inclinazione, un sensore di temperatura e umidità e un sensore di luce!

Livello di difficoltà: Principiante

Tempo di lettura: 20 min

Tempo di costruzione: dipende dal tuo progetto! (I progetti in questo tutorial richiedono circa 15 - 20 minuti)

Passaggio 1: Pssst, qual è la differenza tra la scienza dei cittadini e la "scienza ufficiale"?

La differenza più grande è che la scienza dei cittadini è, come amo dire, "ondulata a mano", il che significa che ci sono molti errori e incertezze e nessun processo rigoroso per identificarli. Per questo motivo, le conclusioni raggiunte attraverso la scienza dei cittadini sono molto meno accurate della scienza-scienza e non dovrebbero essere invocate per fare affermazioni o decisioni serie / che alterano la vita / pericolose per la vita.*

Detto questo, la scienza dei cittadini è un ottimo modo per costruire una comprensione fondamentale di tutti i tipi di affascinanti fenomeni scientifici ed è abbastanza buona per la maggior parte delle applicazioni quotidiane.

*Se stai facendo scienze civiche e scopri qualcosa di potenzialmente pericoloso (ad esempio alti livelli di piombo nell'acqua), informa il tuo educatore (se applicabile) e contatta le autorità competenti e i professionisti per assistenza.

Passaggio 2: cos'è Arduino?

Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??
Cos'è Arduino??

Arduino è una scheda microcontrollore e un ambiente di sviluppo integrato ("IDE"), che è un modo elegante per dire "programma di codifica". Per i principianti, consiglio vivamente le schede Arduino Uno perché sono super robuste, affidabili e potenti.

Le schede Arduino sono una buona scelta per i progetti di scienza dei cittadini perché hanno molti pin di input da leggere nei sensori analogici e digitali (ne parleremo più avanti).

Naturalmente, puoi utilizzare altri microcontrollori per la scienza dei cittadini a seconda delle tue esigenze, abilità e livello di comfort (o dei tuoi studenti). Ecco una panoramica dei microcontrollori per aiutarti a decidere cosa è meglio per te!

Per eseguire il flashing o programmare una scheda Arduino, collegala tramite USB, quindi:

1. Seleziona il tipo di Arduino che stai utilizzando in Strumenti -> Schede. (Foto 2)

2. Seleziona la porta (ovvero dove è collegata al tuo computer). (Foto 3)

3. Fare clic sul pulsante Carica e verificare che il caricamento sia terminato. (Foto 4)

Passaggio 3: strumenti e materiali

Strumenti e materiali
Strumenti e materiali

Se hai appena iniziato, procurarti un kit è un modo semplice e veloce per ottenere un sacco di parti contemporaneamente. Il kit che sto usando in questo tutorial è lo Starter Kit Elegoo Arduino.*

Utensili

  • Arduino Uno
  • Cavo USB da A a B (noto anche come cavo della stampante)
  • Cavi per ponticelli

    • 3 da maschio a maschio
    • 3 da maschio a femmina
  • tagliere

    Facoltativo ma consigliato per renderti la vita più facile e divertente:)

Materiali

Per i progetti trattati in questo tutorial, avrai bisogno di queste parti dallo Starter Kit Elegoo Arduino:

  • Interruttore di inclinazione
  • Sensore di temperatura e umidità DTH11
  • GUIDATO
  • Resistenza da 100 Ohm

*Divulgazione completa: acquisto questi stessi kit per i workshop, ma il kit utilizzato in questo tutorial è stato donato dalle persone adorabili di Elegoo.

Passaggio 4: quali tipi di sensori possiamo utilizzare?

Quali tipi di sensori possiamo usare?
Quali tipi di sensori possiamo usare?

Quando progettiamo un esperimento scientifico, di solito iniziamo con una domanda: quanta CO2 assorbono le piante in un giorno? Qual è la forza d'impatto di un salto? Cos'è la coscienza??

Sulla base della nostra domanda, possiamo quindi identificare ciò che vogliamo misurare e fare qualche ricerca per capire quale sensore possiamo usare per raccogliere dati (anche se potrebbe essere un po' complicato raccogliere dati per quest'ultima domanda!).

Quando si lavora con l'elettronica, ci sono due tipi principali di segnali dati del sensore: digitale e analogico. Nella foto, le prime due file di parti sono tutti sensori digitali, mentre le prime due file sono analogiche.

Esistono molti tipi diversi di sensori digitali e alcuni sono più difficili da utilizzare rispetto ad altri. Quando fai ricerche per il tuo progetto di scienza dei cittadini, controlla sempre come il sensore emette i dati (srsly tho) e assicurati di poter trovare una libreria (Arduino) per quel sensore specifico.

Nei tre progetti trattati in questo tutorial utilizzeremo due tipi di sensori digitali e un sensore analogico. Impariamo!

Passaggio 5: sensori digitali! Parte 1: quelli facili

Sensori digitali! Parte 1: quelli facili!
Sensori digitali! Parte 1: quelli facili!
Sensori digitali! Parte 1: quelli facili!
Sensori digitali! Parte 1: quelli facili!

La maggior parte dei sensori che utilizzerai emetterà un segnale digitale, che è un segnale che può essere acceso o spento.* Usiamo numeri binari per rappresentare questi due stati: un segnale On è dato da un 1, o True, mentre Off è 0, o Falso. Se dovessimo disegnare un'immagine di come appare un segnale binario, sarebbe un'onda quadra come quella nella foto 2.

Ci sono alcuni sensori digitali, come gli interruttori, che sono estremamente facili e diretti da misurare perché o il pulsante viene premuto e riceviamo un segnale (1), oppure non viene premuto e non abbiamo segnale (0). I sensori raffigurati nella riga inferiore della prima foto sono tutti semplici tipi on/off. I sensori sulla riga superiore sono un po' più complessi e vengono coperti dopo il nostro primo progetto.

I primi due progetti di questo tutorial ti insegneranno come utilizzare entrambi i tipi! Avanti per costruire il nostro primo progetto!!

*On indica un segnale elettrico sotto forma di corrente e tensione elettrica. Spento significa nessun segnale elettrico!

Passaggio 6: Progetto 1: Sensore digitale con interruttore di inclinazione

Progetto 1: sensore digitale con interruttore di inclinazione
Progetto 1: sensore digitale con interruttore di inclinazione
Progetto 1: sensore digitale con interruttore di inclinazione
Progetto 1: sensore digitale con interruttore di inclinazione
Progetto 1: sensore digitale con interruttore di inclinazione
Progetto 1: sensore digitale con interruttore di inclinazione

Per questo primo progetto, usiamo un interruttore di inclinazione, quel sensore cilindrico nero con due gambe! Passaggio 1: inserisci una gamba dell'interruttore di inclinazione nel pin 13 digitale di Arduino e l'altra gamba nel pin GND proprio accanto al pin 13. Orientamento non importa.

Passaggio 2: scrivere uno schizzo che legga e stampi lo stato del Pin digitale 13

Oppure puoi semplicemente usare il mio!

Se hai appena iniziato a programmare, leggi i commenti per capire meglio come funziona lo schizzo e prova a cambiare alcune cose per vedere cosa succede! Va bene rompere le cose, è un ottimo modo per imparare! Puoi sempre riscaricare il file e ricominciare da capo:)

Passaggio 3: per visualizzare i dati in tempo reale, fare clic sul pulsante Monitor seriale (foto 2)

..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah Ora puoi usare l'interruttore di inclinazione per misurare l'orientamento! Impostalo per chiamare il tuo gattino quando fa cadere qualcosa o usalo per tenere traccia di come si muovono i rami degli alberi durante le tempeste!.. e probabilmente ci sono altre applicazioni tra questi due estremi.

Passaggio 7: sensori digitali! Parte 2: PWM e comunicazione seriale

Sensori digitali! Parte 2: PWM e comunicazione seriale
Sensori digitali! Parte 2: PWM e comunicazione seriale
Sensori digitali! Parte 2: PWM e comunicazione seriale
Sensori digitali! Parte 2: PWM e comunicazione seriale
Sensori digitali! Parte 2: PWM e comunicazione seriale
Sensori digitali! Parte 2: PWM e comunicazione seriale

Esistono molti modi per creare segnali digitali più complessi! Un metodo è chiamato Pulse Width Modulation ("PWM"), che è un modo elegante per indicare un segnale che è attivo per un certo periodo di tempo e spento per un certo periodo di tempo. I servomotori (che possono essere utilizzati per misurare la posizione) e i sensori a ultrasuoni sono esempi di sensori che utilizzano segnali PWM.

Esistono anche sensori che utilizzano la comunicazione seriale per inviare dati un bit, o cifra binaria, alla volta. Questi sensori richiedono una certa familiarità con la lettura dei fogli dati e possono essere piuttosto complicati se hai appena iniziato. Fortunatamente, i sensori seriali comuni avranno librerie di codici* e programmi di esempio da cui attingere in modo da poter ancora mettere insieme qualcosa di funzionale. Maggiori dettagli sui protocolli di comunicazione seriale vanno oltre lo scopo di questo tutorial, ma ecco un'ottima risorsa sulla comunicazione seriale di SparkFun per saperne di più!

Per questo progetto di esempio, utilizziamo il sensore di temperatura e umidità (DHT11)! Questo è un piccolo quadrato blu con fori e 3 spilli.

Per prima cosa avremo bisogno di un paio di librerie speciali per il sensore DHT11: la libreria DHT11 e la libreria Adafruit Unified Sensor. Per installare queste librerie (e la maggior parte delle altre librerie Arduino):

Passaggio 1: apri il gestore della libreria Arduino andando su Schizzo -> Librerie -> gestisci libreria (foto 2)

Passaggio 2: installa e attiva la libreria DHT cercando "DHT" e quindi facendo clic su Installa per la "Libreria DHT Arduino" (foto 3)

Passaggio 3: installa e attiva la libreria Adafruit Unified Sensor cercando "Adafruit Unified Sensor" e facendo clic su Installa.

Passaggio 4: inserisci la libreria DHT nel tuo schizzo aperto andando su Schizzo -> Librerie e facendo clic su "Libreria DHT Arduino. (Foto 4) Questo inserirà un paio di nuove linee nella parte superiore del tuo schizzo, il che significa che il nostro la libreria è ora attiva e pronta all'uso (Foto 5)

* Proprio come la tua libreria locale preferita, le librerie di codici sono una ricchezza di conoscenza e il duro lavoro di altre persone che possiamo usare per semplificarci la vita, evviva!

Passaggio 8: Progetto 2: Sensore seriale digitale di temperatura e umidità

Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità
Progetto 2: Sensore seriale digitale di temperatura e umidità

Prendi 3 cavi jumper maschio-femmina dallo Starter Kit Elegoo Arduino e siamo pronti per partire!

Passaggio 1: con i pin dell'intestazione rivolti verso di te, collega il pin dell'intestazione più a destra sul DHT11 a un pin di messa a terra di Arduino ("GND").

Passaggio 2: collegare il pin dell'intestazione centrale al pin di uscita 5V di Arduino.

Passaggio 3: collegare il pin dell'intestazione più a sinistra al pin digitale 2 di Arduino

Passaggio 4: infine, leggi la libreria DHT e prova a scrivere uno schizzo! Oooor puoi usare il mio o lo schizzo di esempio del test DHT all'interno di Arduino -> Esempi!

Quando lo avrai installato e funzionante, vai avanti e misura la temperatura e l'umidità di tutte le cose!.. Come il respiro di un animale, una serra o il tuo punto di arrampicata preferito in diversi periodi dell'anno per trovare la temperatura di invio *perfetta*.

Passaggio 9: sensori analogici

Sensori analogici!
Sensori analogici!
Sensori analogici!
Sensori analogici!

Dopo il difficile tuffo nei sensori digitali, i sensori analogici possono sembrare un gioco da ragazzi! I segnali analogici sono un segnale continuo, come mostrato nella seconda foto. La maggior parte del mondo fisico esiste in analogico (ad esempio temperatura, età, pressione, ecc.), ma poiché i computer sono digitali*, la maggior parte dei sensori emetterà un segnale digitale. Alcuni microcontrollori, come le schede Arduino, possono anche leggere segnali analogici**.

Per la maggior parte dei sensori analogici, diamo alimentazione al sensore, quindi leggiamo il segnale analogico utilizzando i pin di ingresso analogico. Per questo test, utilizzeremo una configurazione ancora più semplice per misurare la tensione su un LED quando lo accendiamo con una luce.

*I computer utilizzano segnali digitali per memorizzare e trasmettere informazioni. Questo perché i segnali digitali sono più facili da rilevare e sono più affidabili, poiché tutto ciò di cui dobbiamo preoccuparci è ricevere o meno un segnale rispetto a doverci preoccupare della qualità/precisione del segnale.

** Per leggere un segnale analogico su un dispositivo digitale, dobbiamo utilizzare un convertitore Analog-to-Digital, o ADC, che approssima il segnale analogico confrontando l'ingresso con una tensione nota sul dispositivo, quindi contando per quanto tempo impiega per raggiungere la tensione di ingresso. Per maggiori informazioni, questo è un sito utile.

Fase 10: Progetto 3: LED come sensore di luce

Progetto 3: LED come sensore di luce!
Progetto 3: LED come sensore di luce!
Progetto 3: LED come sensore di luce!
Progetto 3: LED come sensore di luce!

Prendi un LED (di qualsiasi colore tranne il bianco), un resistore da 100 Ohm e 2 cavi jumper. Oh, e una breadboard!

Passaggio 1: inserire il LED nella breadboard con la gamba più lunga sul lato destro.

Passaggio 2: collegare un ponticello dal pin analogico A0 di Arduino e la gamba LED più lunga

Passaggio 3: collegare il resistore tra la gamba LED più corta e la barra di alimentazione negativa della breadboard (accanto alla linea blu).

Passaggio 4: collegare il pin GND di Arduino alla barra di alimentazione negativa sulla breadboard.

Passaggio 5: scrivere uno schizzo che legga il pin analogico A0 e stampi sul monitor seriale

Ecco un codice di esempio per iniziare.

Passaggio 11: visualizzazione dei dati: Arduino IDE

Visualizzazione dei dati: Arduino IDE!
Visualizzazione dei dati: Arduino IDE!
Visualizzazione dei dati: Arduino IDE!
Visualizzazione dei dati: Arduino IDE!

L'IDE Arduino è dotato di strumenti integrati per visualizzare i dati. Abbiamo già esplorato le basi del Serial Monitor che ci consente di stampare i valori dei sensori. Se desideri salvare e analizzare i tuoi dati, copia l'output direttamente dal monitor seriale e incollalo in un editor di testo, foglio di calcolo o altro strumento di analisi dei dati.

Il secondo strumento che possiamo usare per vedere i nostri dati nel programma Arduino è il Serial Plotter, una versione visuale (nota anche come grafico) del Serial Monitor. Per utilizzare Serial Plotter, vai su Strumenti Serial Plotter. Il grafico in Foto 2 è l'uscita del LED come sensore di luce da Project 3!*

Il grafico si ridimensionerà automaticamente e finché utilizzi Serial.println() per i tuoi sensori, stamperà anche tutti i tuoi sensori in colori diversi. Evviva! Questo è tutto!

*Se guardi alla fine, c'è un modello d'onda super interessante che è probabilmente dovuto alla corrente alternata ("AC") nelle nostre luci in testa!

Passaggio 12: visualizzazione dei dati: Excel! Parte 1

Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1
Visualizzazione dei dati: Excel! Parte 1

Per un'analisi dei dati più seria, c'è un fantastico (e gratuito!) add-in per Excel chiamato Data Streamer*, che puoi scaricare qui.

Questo componente aggiuntivo legge dalla porta seriale, quindi possiamo usare la stessa identica tecnica di codifica della stampa dei dati su seriale per ottenere i dati direttamente in Excel.. diamine sì!!

Come utilizzare il componente aggiuntivo Data Streamer:

1. Dopo averlo installato (o se hai O365), fai clic sulla scheda Data Streamer (all'estrema destra) in Excel.

2. Collega il tuo Arduino e fai clic su "Connetti dispositivo", quindi seleziona Arduino dal menu a discesa. (Foto 1)

3. Fare clic su "Avvia dati" per avviare la raccolta dei dati! (Foto 2) Vedrai aprirsi tre nuovi fogli: "Dati in ingresso", "Dati in uscita" e "Impostazioni".

I dati in tempo reale vengono stampati nel foglio Dati in ingresso. (Foto 3) Ogni riga corrisponde a una lettura del sensore, con il valore più recente stampato nell'ultima riga.

Per impostazione predefinita, riceviamo solo 15 righe di dati, ma puoi modificarlo andando su "Impostazioni". Possiamo raccogliere fino a 500 righe (il limite è dovuto alla larghezza di banda di Excel -- succedono molte cose in background!).

*Divulgazione completa: sebbene questo tutorial non sia affiliato, lavoro con il team Microsoft Hacking STEM che ha sviluppato questo componente aggiuntivo.

Passaggio 13: visualizzazione dei dati: Excel! Parte 2

Visualizzazione dei dati: Excel! Parte 2
Visualizzazione dei dati: Excel! Parte 2
Visualizzazione dei dati: Excel! Parte 2
Visualizzazione dei dati: Excel! Parte 2
Visualizzazione dei dati: Excel! Parte 2
Visualizzazione dei dati: Excel! Parte 2

4. Aggiungi un grafico dei tuoi dati! Fai un po' di analisi dei dati! I grafici a dispersione mostrano come cambiano le letture del sensore nel tempo, che è la stessa cosa che abbiamo visto nel plotter seriale Arduino.

Per aggiungere un grafico a dispersione:

Vai a Inserisci -> Grafici -> Scatter. Quando viene visualizzato il grafico, fai clic con il pulsante destro del mouse su di esso e scegli "Seleziona dati", quindi Aggiungi. Vogliamo che i nostri dati vengano visualizzati sull'asse y, con "tempo"* sull'asse x. Per fare ciò, fai clic sulla freccia accanto all'asse y, vai al foglio Dati in ingresso e seleziona tutti i dati del sensore in arrivo (Foto 2).

Possiamo anche fare calcoli e confronti in Excel! Per scrivere una formula, fai clic su una cella vuota e digita un segno di uguale ("="), quindi il calcolo che desideri eseguire. Ci sono molti comandi integrati come media, massimo e minimo.

Per utilizzare un comando, digita il segno di uguale, il nome del comando e una parentesi aperta, quindi seleziona i dati che stai analizzando e chiudi le parentesi (Foto 3)

5. Per inviare più di una colonna di dati (ovvero più di un sensore), stampare i valori sulla stessa riga separati da una virgola, con una nuova riga vuota finale, in questo modo:

Serial.print(sensorReading1);

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

*Se si desidera che l'ora effettiva sia sull'asse x, selezionare il timestamp nella colonna A del foglio dati in ingresso per i valori dell'asse x nel grafico a dispersione. In ogni caso, vedremo i nostri dati come cambiano nel tempo.

Passaggio 14: vai avanti e misura tutte le cose

Vai avanti e misura tutte le cose!!
Vai avanti e misura tutte le cose!!
Vai avanti e misura tutte le cose!!
Vai avanti e misura tutte le cose!!
Vai avanti e misura tutte le cose!!
Vai avanti e misura tutte le cose!!

Va bene gente, tutto qui! È ora di andare verso l'esterno e verso l'alto! Usa questo come base per iniziare a esplorare i sensori, la codifica Arduino e l'analisi dei dati per affrontare le tue domande, curiosità e misteri preferiti in questo grande e bellissimo mondo.

Ricorda: ci sono molte persone là fuori per aiutarti lungo la strada, quindi per favore lascia un commento se hai una domanda!

Hai bisogno di altre idee? Ecco come realizzare un interruttore indossabile per il cambio di stato, un sensore di temperatura remoto a energia solare e una bilancia industriale connessa a Internet!

Ti piace questo tutorial e vuoi vedere di più? Sostieni i nostri progetti su Patreon!:D

Consigliato: