Sommario:
- Passaggio 1: parti
- Passaggio 2: collegamento di tutte le parti insieme
- Passaggio 3: codifica
- Passaggio 4: utilizzo successivo di Arduino e della scheda SD
Video: Arduino che lavora con più file (LETTURA/SCRITTURA): 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ciao ragazzi
Oggi vi presento il progetto Arduino che funziona con lo shield RTC in grado di memorizzare i dati. Il compito principale di questo progetto è lavorare con più file che sono memorizzati sulla scheda sc. Questo progetto contiene codice che funziona con tre file che vengono memorizzati direttamente su scheda SD con arduino e scudo RTC. Poiché questo progetto funziona con DataLogger shield, anche quei dati verranno archiviati esattamente nello stesso momento in cui sono sul tuo PC.
Questo progetto è una versione aggiornata del mio ultimo progetto. Quel progetto può essere trovato sul sito di instructables con il nome Arduino Data Logger Shield Small Project. Se hai qualche problema nella comprensione di questo progetto, ti suggerisco di vederne prima uno più semplice.
La differenza principale tra questi due progetti è che questo progetto utilizza 3 file di testo, anche questa volta leggiamo i dati da due di essi. Poiché siamo in grado di leggere i dati, possiamo ottenere valori medi di umidità e temperatura, che sono memorizzati sulla scheda SD. Questo verrà mostrato anche sul display LCD collegato ad Arduino.
Ancora una volta, se sei nuovo su Arduino e questo è il tuo primo progetto che utilizza DataLogger, ti consiglio di andare a controllare questo link https://www.instructables.com/id/Arduino-Data-Logg… e quando ottieni tutto su quello, vieni qui e divertiti ancora un po'. Iniziamo.
Passaggio 1: parti
Come ogni volta che scrivo progetti come questo, inizierò con tutte le parti che ho usato con questo progetto. Suggerirò anche alcuni dei sensori che possono essere utilizzati e possono rendere questo progetto un po' diverso.
Parti:
- Arduino uno rev3
- Scudo del registratore di dati Arduino
- Scheda di memoria SD
- Display LCD 1602 verde con I2C (è possibile utilizzare qualsiasi altro display)
- DHT22 (anche DHT11 funziona bene, ma la precisione non è la stessa del dht22)
- Pochi cavi jumper
- tagliere
- Batteria 9v
Puoi cambiare alcune parti. Il lato positivo di questo progetto è che può essere utilizzato per memorizzare i dati da qualsiasi altro sensore. Proverei a lavorare con sensore di fumo, o sensore a infrarossi. Funziona con qualsiasi altro sensore. Puoi anche cambiare il tuo Arduino, ma tieni presente che Arduino è il migliore per adattarsi al Data logger.
Passaggio 2: collegamento di tutte le parti insieme
Questo è facile da collegare. Anche lo schema è lo stesso del progetto più semplice. Ma direi che devi stare attento a quale pin userai. Controllare ogni volta la scheda tecnica del Datalogger per vedere quali pin sono i migliori per l'utilizzo, perché come ricordo alcuni pin sono già definiti e quando ho provato ad utilizzare il mio sensore su uno dei pin definiti non ha funzionato.
Nella parte superiore di questo passaggio puoi vedere lo schema realizzato con il fritzing. La cosa facile è che devi collegare il tuo data logger sulla parte superiore del tuo arduino. Collega la tua scheda SD al data logger e l'ultima cosa che devi fare è collegare il sensore dht e l'LCD. Usiamo 5V da arduino per + parte sulla breadboard, GND per - parte, e seguendo quelle linee colleghi anche + linea del sensore e lcd a + linea della breadboard. Lo stesso vale per - le parti, vanno solo alla riga che segue -. Il sensore Dht è collegato al pin 7 questa volta. Il display LCD è collegato a A4 e A5. Facile, vero?
LCD:
- VCC a 5V (+ parte su breadboard)
- GND a gnd (-parte su breadboard)
- SDA al pin analogico A4
- SCL al pin analogico A5
DHT22:
Ho usato dht con una scheda in cui ci sono tre pin da utilizzare:
- + a 5V
- - a GND
- fuori al pin digitale 7
Passaggio 3: codifica
Questo codice temporale è più complesso. Una buona parte è commentata in modo che tu possa capirla con facilità.
Spiegherò questo codice in poche brevi parti.
1. Prima cosa da tenere a mente che questo codice avrà bisogno di poche librerie installate sul tuo PC. Questi sono: Time(TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Probabilmente puoi usare alcune altre librerie ma queste librerie hanno funzionato per me.2. Dopodiché stiamo definendo tutto ciò che è necessario per questo progetto. Il sensore DHT è facile da definire, devi solo dire il pin a cui è collegato il sensore e il tipo di sensore. Successivamente è necessario definire alcuni pin che verranno utilizzati per la scheda SD e il pin RTC. E dopo puoi vedere le variabili utilizzate per questo progetto.
3. Project utilizza pochi metodi e tutti sono per lavorare con il sensore DHT. Se stai lavorando a un progetto con questo tipo di sensore puoi usarlo. Questi metodi sono getTemperature(), getMidTemperature(), getHumidity(), getMidHumidity(), readSensorData(), printLcdTemperature(), printHumidity(), printLcdMidTemperature(), printMidHumidity().
4. Nella configurazione ci sono poche cose che sono necessarie per essere fatte. Prima di tutto è necessario definire il tempo. Poiché stiamo usando RTC qui, vogliamo avere il tempo giusto quando il nostro Arduino salva i dati dal sensore. Quella parte sarà commentata nel codice. Se togli il commento //RTC.adjust(DateTime(_DATE_, _TIME_)); linea puoi impostare il tempo sul tuo progetto. Dopo aver impostato l'ora corretta, puoi commentare di nuovo quella parte e puoi utilizzare il tuo arduino senza computer. Questo è bello perché puoi usare il tuo sensore di temperatura in qualche altra stanza e tenere traccia della temperatura senza bisogno del tuo computer. La seconda parte che deve essere eseguita è utilizzare la scheda SD su cui verranno archiviati i dati. Shield proverà a vedere se c'è una carta e la inizializzerà. Se non c'è il messaggio di errore verrà mostrato nella schermata Seriale su Arduino IDE.
Nella configurazione è il primo passaggio in cui lavoriamo con la scrittura di file sulla scheda di memoria. La prima cosa che viene scritta sulla carta è nel file datalog.txt. Questa volta scriviamo solo l'ora della registrazione del nostro dispositivo e creiamo anche una piccola riga di nomi (variabili utilizzate per salvare e anche il tempo)
L'ultima parte della configurazione è l'inizializzazione dell'LCD e del sensore dht.
5. La parte loop è la parte principale del progetto. Lavorare con il sensore questa volta è molto semplice perché utilizza un solo metodo che legge i valori ottenuti dal sensore. Anche la parte LCD è molto semplice. La parte successiva è quella che dobbiamo spiegare qui. Questo progetto fa qualcosa ogni minuto. Un minuto memorizza i dati in datalog.txt. Questi dati possono essere letti da qualcuno che non sa nemmeno come programmare Arduino. Dall'altro lato. Un minuto salva la temperatura su datalogB.txt e un minuto salva l'umidità su datalogC.txt. Abbiamo bisogno di datalogB.txt e dataLogC.txt in modo da poter leggere dalla nostra scheda di memoria. Quindi, se continuiamo a leggere il nostro codice, puoi anche vedere che questo codice legge i valori medi della temperatura e dell'umidità e li memorizza in una riga. Volevo creare un dispositivo che richiedesse solo le ultime dieci cifre in archivio. Quindi questo progetto esegue sempre i valori della scheda e salva le ultime dieci cifre. Queste cifre memorizzate in righe vengono utilizzate in modo da poter ottenere il valore medio della temperatura e il valore medio dell'umidità. Che vengono visualizzati anche sul nostro LCD dopo un po' di tempo
Passaggio 4: utilizzo successivo di Arduino e della scheda SD
Qui puoi vedere cosa viene mostrato su LCD e come funziona il progetto. Inoltre sto mettendo qui le immagini dei registri dati che ho salvato. Datalog.txt è quello che può essere utilizzato per vedere come il dispositivo memorizza ogni valore. DatalogB e datalogC sono lì in modo da poter vedere come appaiono. Sono scritti in questo modo in modo da poter utilizzare il metodo parse e leggere i dati senza problemi.
Il punto centrale di questo progetto è la manipolazione dei file che si trovano sulla scheda SD. A volte abbiamo bisogno di dispositivi in grado di memorizzare la memoria e anche la lettura della temperatura è una volta così. La cosa buona è che lo scudo utilizzato su questo dispositivo ha anche un modulo RTC, che è la cosa migliore per il tempo. Quando possiamo leggere in tempo reale e archiviare dati con il nostro dispositivo, significa che può essere portatile.
Grazie ragazzi per aver letto questo progetto. Spero che ti aiuterà. Grazie.
Con tutti i saluti Sebastian
Consigliato:
Lettura e scrittura di dati su EEPROM esterna utilizzando Arduino: 5 passaggi
Lettura e scrittura di dati su EEPROM esterna utilizzando Arduino: EEPROM è l'acronimo di Electrically Erasable Programmable Read-Only Memory.EEPROM è molto importante e utile perché è una forma di memoria non volatile. Ciò significa che anche quando la scheda è spenta, il chip EEPROM conserva ancora il programma che
Braccio protesico che lavora con un miosensore: 8 passaggi
Braccio protesico che lavora con un miosensore: questo progetto è lo sviluppo di un braccio protesico per persone amputate. L'obiettivo di questo progetto è la creazione di un braccio protesico conveniente per le persone che non possono permettersene uno professionale. Poiché questo progetto è ancora in fase di prototipazione, ho
Come far sembrare la scrittura più lunga: 10 passaggi
Come far sembrare la scrittura più lunga.: Questo è un piccolo trucco per far sembrare più lungo il testo in un documento di Word. Questo è fantastico se non hai molto tempo per far sembrare qualcosa di più lungo. Quello che stiamo facendo è sostituire i punti nel foglio con un testo di dimensioni maggiori. Questo mi fa
File batch che aprono più programmi!: 5 passaggi
File batch che aprono più programmi!: Va bene, è abbastanza autoesplicativo. Questo può essere particolarmente utile se sei al lavoro e stai attraversando un processo in cui devi aprire, ad esempio; Microsoft Word, Microsoft PowerPoint, Microsoft Outlook, Internet Explorer, ecc. Quindi, s
VBScript che lavora con le unità montate: 6 passaggi
VBScript che lavora con le unità montate: questa istruzione è su richiesta. Molti di voi potrebbero riconoscerlo da una precedente istruzione che avevo fatto che era https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/. Bene, in quello techwiz24 mi ha chiesto se potresti usarlo su disco