Sommario:
- Passaggio 1: attrezzature di cui abbiamo bisogno
- Passaggio 2: connessioni hardware
- Passaggio 3: codice
- CONTROLLA TUTTO
- Mini modulo I2C sensore MCP3425
- Passaggio 4: lavoro
- Passaggio 5: applicazioni e funzionalità
Video: Utilizzo di sensori analogici con ESP8266: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Un convertitore analogico-digitale (ADC, A/D, A–D o A-to-D) è un sistema che trasforma un segnale analogico in un segnale digitale. I convertitori A/D traducono i segnali elettrici analogici per l'elaborazione dei dati. Con prodotti che soddisfano le esigenze di prestazioni, potenza, costi e dimensioni. Questi convertitori di dati facilitano prestazioni di conversione precise e potenti in una gamma di applicazioni come comunicazioni, energia, sanità, strumentazione e misurazione, controllo di motori e potenza, automazione industriale e aerospaziale/difesa. Viene fornita una varietà di dispositivi di conversione A/D per aiutare l'ingegnere in ogni fase del progetto, dalla selezione del prodotto alla progettazione del circuito.
Oggi utilizzeremo un convertitore analogico-digitale con un ESP8266. Iniziamo.. !!
Passaggio 1: attrezzature di cui abbiamo bisogno
1. Convertitore ADC MCP3425
L'MCP3425 è un convertitore analogico-digitale a 1 canale con risoluzione a 16 bit, ideale per il monitoraggio di sensori ad alta risoluzione a bassa velocità. L'MCP3425 è in grado di leggere tensioni analogiche a 15 campioni al secondo con risoluzione a 16 bit o 240 campioni al secondo a risoluzione a 12 bit.
2. Adafruit Huzzah ESP8266
ESP8266 è un'incredibile piattaforma per lo sviluppo di applicazioni IoT. Il processore ESP8266 di Espressif è un microcontrollore da 80 MHz con un front-end WiFi completo e stack TCP/IP con supporto DNS. L'ESP8266 fornisce una piattaforma matura per il monitoraggio e il controllo delle applicazioni utilizzando Arduino Wire Language e Arduino IDE.
3. Programmatore USB ESP8266
Questo adattatore host ESP8266 è stato creato appositamente da Contol Everything per la versione Adafruit Huzzah di ESP8266, consentendo connessioni di comunicazione I²C.
4. Cavo di collegamento I²C
Contol Everything ha progettato anche il cavo di collegamento I²C disponibile al link sopra.
5. Cavo mini USB
Il cavo mini USB L'alimentatore è la scelta ideale per alimentare Adafruit Huzzah ESP8266.
Passaggio 2: connessioni hardware
In generale, creare connessioni è la parte più semplice di questo progetto. Segui le istruzioni e le immagini e non dovresti avere problemi.
Prima di tutto, prendi Adafruit Huzzah ESP8266 e posizionalo sul programmatore USB (con porta I²C rivolta verso l'interno). Premi delicatamente ESP8266 nel programmatore USB e abbiamo finito con questo passaggio (vedi immagine n. 1).
Prendi un cavo I²C e collegalo alla porta di ingresso del sensore. Per il corretto funzionamento di questo cavo, ricordare che l'uscita I²C si collega SEMPRE all'ingresso I²C. Ora, collega l'altra estremità dello stesso cavo I²C al programmatore USB con Adafruit Huzzah ESP8266 montato su di esso (vedi immagine n. 2).
Nota: il filo marrone deve sempre seguire la connessione di terra (GND) tra l'uscita di un dispositivo e l'ingresso di un altro dispositivo.
Collega il cavo Mini USB alla presa di alimentazione di Adafruit Huzzah ESP8266. La connessione finale apparirà come nell'immagine #3.
Passaggio 3: codice
Il codice ESP per il convertitore Adafruit Huzzah ESP8266 e MCP3425 ADC è disponibile nel nostro repository GitHub.
Prima di passare al codice, assicurati di leggere le istruzioni fornite nel file Leggimi e di configurare Adafruit Huzzah ESP8266 di conseguenza. Ci vorranno solo 5 minuti per impostare l'ESP.
Per tua comodità, puoi copiare il codice ESP funzionante per questo sensore anche da qui:
// Distribuito con una licenza di libero arbitrio.// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate. // MCP3425 // Questo codice è progettato per funzionare con il Mini Modulo I2C MCP3425_I2CADC disponibile su ControlEverything.com. //
#includere
#include #include #include
// L'indirizzo I2C di MCP3425 è 0x68(104)
#define Indirizzo 0x68
const char* ssid = "la tua rete ssid";
const char* password = "la tua password"; pressione del galleggiante, cTemp, fTemp;
Server ESP8266WebServer(80);
void handleroot()
{ dati int non firmati[2];
// Avvia la trasmissione I2C
Wire.beginTransmission(Addr); // Invia il comando di configurazione // Modalità di conversione continua, risoluzione a 12 bit Wire.write(0x10); // Arresta la trasmissione I2C Wire.endTransmission(); ritardo(300);
// Avvia la trasmissione I2C
Wire.beginTransmission(Addr); // Seleziona il registro dati Wire.write(0x00); // Arresta la trasmissione I2C Wire.endTransmission();
// Richiedi 2 byte di dati
Wire.requestFrom(Addr, 2);
// Legge 2 byte di dati
// raw_adc msb, raw_adc lsb if (Wire.available() == 2) { data[0] = Wire.read(); data[1] = Wire.read(); }
// Converti i dati a 12 bit
int raw_adc = (data[0] & 0x0F) * 256 + data[1]; if (raw_adc > 2047) { raw_adc -= 4096; }
// Invia i dati al monitor seriale
Serial.print("Valore digitale dell'ingresso analogico: "); Serial.println(raw_adc); ritardo (500);
// Invia i dati al server web
server.sendContent ("<meta http-equiv='refresh' content='3'""
CONTROLLA TUTTO
www.controleverything.com
Mini modulo I2C sensore MCP3425
"); server.sendContent ("
Valore digitale dell'ingresso analogico: " + String(raw_adc)); }
configurazione nulla()
{ // Inizializza la comunicazione I2C come MASTER Wire.begin(2, 14); // Inizializza la comunicazione seriale, imposta baud rate = 115200 Serial.begin(115200);
// Connettiti alla rete WiFi
WiFi.begin(ssid, password);
// Attendi la connessione
while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } Serial.println(""); Serial.print("Connesso a"); Serial.println(ssid);
// Ottieni l'indirizzo IP di ESP8266
Serial.print("Indirizzo IP: "); Serial.println(WiFi.localIP());
// Avvia il server
server.on("/", handleroot); server.begin(); Serial.println("Server HTTP avviato"); }
ciclo vuoto()
{ server.handleClient(); }
Passaggio 4: lavoro
Scarica (gitpull) o copia il codice e aprilo nell'IDE di Arduino.
Compila e carica il codice e guarda l'output sul tuo monitor seriale.
Nota: prima di caricare, assicurati di inserire la tua rete SSID e la password nel codice.
Copia l'indirizzo IP di ESP8266 dal monitor seriale e incollalo nel tuo browser web. Vedrai una pagina web con l'uscita digitale della lettura dell'ingresso analogico. L'output del sensore su Serial Monitor e Web Server è mostrato nell'immagine sopra.
Passaggio 5: applicazioni e funzionalità
Il dispositivo MCP3425 può essere utilizzato per varie applicazioni di conversione dati analogico-digitale ad alta precisione in cui semplicità di progettazione, bassa potenza e ingombro ridotto sono considerazioni importanti. Le principali applicazioni includono strumentazione portatile, bilance e indicatori di carburante, rilevamento della temperatura con RTD, termistore e termocoppia, rilevamento del ponte per pressione, deformazione e forza.
I convertitori ADC consentono prestazioni di conversione accurate e affidabili in una vasta gamma di applicazioni come comunicazioni, energia, sanità, strumentazione e misurazione, controllo di motori e potenza, automazione industriale e aerospaziale/difesa.
Con l'aiuto di ESP8266, possiamo aumentare la sua capacità a una lunghezza maggiore. Possiamo controllare i nostri dispositivi e monitorarne le prestazioni dai nostri desktop e dispositivi mobili. Possiamo archiviare e gestire i dati online e studiarli in qualsiasi momento per modifiche. Altre applicazioni includono l'automazione domestica, la rete mesh, il controllo wireless industriale, i baby monitor, le reti di sensori, l'elettronica indossabile, i dispositivi Wi-Fi con rilevamento della posizione, i beacon del sistema di posizione Wi-Fi.
Inoltre, puoi controllare il nostro blog sulla domotica con sensore di luce e ESP8266.
Consigliato:
Come leggere più valori analogici utilizzando un pin analogico: 6 passaggi (con immagini)
Come leggere più valori analogici utilizzando un pin analogico: in questo tutorial, ti mostrerò come leggere più valori analogici utilizzando un solo pin di ingresso analogico
Conoscenza dei circuiti analogici - Fai da te un circuito di effetti sonori di clock senza IC: 7 passaggi (con immagini)
Conoscenza del circuito analogico: fai da te un circuito di effetti sonori di clock senza IC: questo circuito di effetti sonori di clock è stato costruito solo con transistor, resistori e condensatori senza alcun componente IC. È l'ideale per imparare le conoscenze fondamentali del circuito con questo circuito pratico e semplice. Il tappetino necessario
Plotter di valori analogici Arduino: 4 passaggi
Arduino Analog Value Plotter: Tempo fa, ho pensato che sarebbe stato abbastanza utile avere un grafico per le mie uscite analogiche. Aiuterebbe a eseguire il debug delle mie uscite, mi darebbe un'idea generale dei limiti del sensore e quant'altro, e sarebbe anche solo un'interfaccia piuttosto interessante da avere per qualsiasi sensore
Visualist, controller di effetti video analogici anni '80: 5 passaggi
Visualist, controller di effetti video analogici anni '80: effetti video in tempo reale con effetti visivi psichedelici reattivi al suono. Cercando su Internet puoi trovare molti circuiti di effetti audio ma i circuiti di effetti video analogici sono rari. Come mai? Non c'è interesse? Visualist è un progetto del 2011 ma non ho pu
Utilizzo di sensori di temperatura, acqua piovana e vibrazioni su un Arduino per proteggere le ferrovie: 8 passaggi (con immagini)
Utilizzo di sensori di temperatura, acqua piovana e vibrazioni su un Arduino per proteggere le ferrovie: nella società moderna, un aumento dei passeggeri ferroviari significa che le compagnie ferroviarie devono fare di più per ottimizzare le reti per stare al passo con la domanda. In questo progetto mostreremo su piccola scala come i sensori di temperatura, acqua piovana e vibrazioni o