Inhoudsopgave:

Analoge sensoren gebruiken met ESP8266 - Ajarnpa
Analoge sensoren gebruiken met ESP8266 - Ajarnpa

Video: Analoge sensoren gebruiken met ESP8266 - Ajarnpa

Video: Analoge sensoren gebruiken met ESP8266 - Ajarnpa
Video: Programmeren van de ESP8266 ESP01 DHT11 Temperatuur-vochtigheidssensormodule | ExternXY | FLProg 2024, Juli-
Anonim
Analoge sensoren gebruiken met ESP8266
Analoge sensoren gebruiken met ESP8266

Een analoog-naar-digitaal-omzetter (ADC, A/D, A–D of A-naar-D) is een systeem dat een analoog signaal omzet in een digitaal signaal. A/D-converters vertalen analoge elektrische signalen voor gegevensverwerkingsdoeleinden. Met producten die overeenkomen met prestaties, vermogen, kosten en afmetingen. Deze dataconverters maken nauwkeurige en krachtige conversieprestaties mogelijk in een reeks toepassingen zoals communicatie, energie, gezondheidszorg, instrumentatie en meting, motor- en vermogensregeling, industriële automatisering en ruimtevaart/defensie. Er wordt een verscheidenheid aan A/D-converterapparaten geleverd om de ingenieur te helpen in elke projectfase, van productselectie tot circuitontwerp.

Vandaag gebruiken we een analoog-naar-digitaal-omzetter met een ESP8266. Laten we beginnen.. !!

Stap 1: Apparatuur die we nodig hebben

Uitrusting die we nodig hebben
Uitrusting die we nodig hebben
Uitrusting die we nodig hebben
Uitrusting die we nodig hebben
Uitrusting die we nodig hebben
Uitrusting die we nodig hebben

1. MCP3425 ADC-converter

De MCP3425 is een 1-kanaals analoog-naar-digitaal-omzetter met 16-bits resolutie, bij uitstek geschikt voor sensorbewaking met lage snelheid en hoge resolutie. De MCP3425 kan analoge spanningen lezen met 15 samples per seconde met een resolutie van 16 bits of 240 samples per seconde met een resolutie van 12 bits.

2. Adafruit Huzzah ESP8266

De ESP8266 is een ongelooflijk platform voor de ontwikkeling van IoT-toepassingen. De ESP8266-processor van Espressif is een 80 MHz-microcontroller met een volledige WiFi-front-end en TCP/IP-stack met ook DNS-ondersteuning. De ESP8266 biedt een volwassen platform voor het bewaken en besturen van toepassingen met behulp van de Arduino Wire Language en de Arduino IDE.

3. ESP8266 USB-programmeur:

Deze ESP8266-hostadapter is speciaal gemaakt door Contol Everything voor de Adafruit Huzzah-versie van de ESP8266, waardoor I²C-communicatieverbindingen mogelijk zijn.

4. I²C-verbindingskabel

Contol Everything ontwierp ook de I²C-aansluitkabel die verkrijgbaar is via bovenstaande link.

5. Mini-USB-kabel

De mini-USB-kabel Voeding is een ideale keuze voor het voeden van de Adafruit Huzzah ESP8266.

Stap 2: Hardwareverbindingen

Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen
Hardware-verbindingen

Over het algemeen is het maken van verbindingen het gemakkelijkste deel van dit project. Volg de instructies en afbeeldingen en u zou geen problemen moeten hebben.

Neem allereerst de Adafruit Huzzah ESP8266 en plaats deze op de USB Programmer (met Inward Facing I²C Port). Druk de ESP8266 voorzichtig in de USB Programmer en we zijn klaar met deze stap (zie afbeelding #1).

Neem een I²C-kabel en sluit deze aan op de ingangspoort van de sensor. Voor een goede werking van deze kabel, onthoud dat de I²C-uitgang ALTIJD verbinding maakt met de I²C-ingang. Sluit nu het andere uiteinde van dezelfde I²C-kabel aan op de USB-programmer met daarop de Adafruit Huzzah ESP8266 (zie afbeelding 2).

Opmerking: De bruine draad moet altijd de massaverbinding (GND) volgen tussen de uitgang van het ene apparaat en de ingang van een ander apparaat.

Steek de mini-USB-kabel in de stroomaansluiting van de Adafruit Huzzah ESP8266. De uiteindelijke verbinding ziet eruit zoals in afbeelding #3.

Stap 3: Coderen

De ESP-code voor de Adafruit Huzzah ESP8266 en MCP3425 ADC Converter is beschikbaar in onze GitHub-repository.

Voordat je verder gaat met de code, moet je de instructies in het Readme-bestand lezen en je Adafruit Huzzah ESP8266 dienovereenkomstig instellen. Het duurt slechts 5 minuten om de ESP in te stellen.

Voor uw gemak kunt u hier ook de werkende ESP-code voor deze sensor kopiëren:

// Gedistribueerd met een vrije licentie.// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken. // MCP3425 // Deze code is ontworpen om te werken met de MCP3425_I2CADC I2C Mini Module die verkrijgbaar is via ControlEverything.com. //

#erbij betrekken

#include #include #include

// MCP3425 I2C-adres is 0x68 (104)

#define Addr 0x68

const char* ssid = "uw ssid-netwerk";

const char* wachtwoord = "uw wachtwoord"; vlotterdruk, cTemp, fTemp;

ESP8266WebServer-server (80);

ongeldige handleroot()

{ niet-ondertekende int-gegevens[2];

// Start I2C-verzending

Wire.beginTransmission (Addr); // Configuratieopdracht verzenden // Continue conversiemodus, 12-bits resolutie Wire.write (0x10); // Stop I2C-transmissie Wire.endTransmission (); vertraging (300);

// Start I2C-verzending

Wire.beginTransmission (Addr); // Selecteer dataregister Wire.write (0x00); // Stop I2C-transmissie Wire.endTransmission ();

// Vraag 2 bytes aan gegevens aan

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// raw_adc msb, raw_adc lsb if (Wire.available () == 2) { data [0] = Wire.read (); data[1] = Draad.lezen(); }

// Converteer de gegevens naar 12-bits

int raw_adc = (data[0] & 0x0F) * 256 + data[1]; if (raw_adc > 2047) { raw_adc -= 4096; }

// Gegevens uitvoeren naar seriële monitor

Serial.print("Digitale waarde van analoge ingang: "); Serial.println(raw_adc); vertraging (500);

// Gegevens uitvoeren naar webserver

server.sendContent ("<meta http-equiv='refresh' content='3'""

CONTROLEER ALLES

www.controleverything.com

MCP3425 Sensor I2C Mini-module

"); server.sendContent ("

Digitale waarde van analoge ingang: " + String (raw_adc));}

ongeldige setup()

{ // Initialiseer I2C-communicatie als MASTER Wire.begin (2, 14); // Initialiseer seriële communicatie, stel baudrate = 115200 Serial.begin (115200) in;

// Maak verbinding met wifi-netwerk

WiFi.begin(ssid, wachtwoord);

// Wacht op verbinding

while (WiFi.status() != WL_CONNECTED) {vertraging (500); Serieel.print("."); } Serieel.println(""); Serial.print("Verbonden met "); Seriële.println(ssid);

// Verkrijg het IP-adres van ESP8266

Serial.print("IP-adres: "); Serial.println(WiFi.localIP());

// Start de server

server.on("/", handleroot); server.begin(); Serial.println("HTTP-server gestart"); }

lege lus()

{ server.handleClient(); }

Stap 4: Werken

Werken
Werken

Download (gitpull) of kopieer de code en open deze in de Arduino IDE.

Compileer en upload de code en bekijk de uitvoer op uw seriële monitor.

Opmerking: Zorg ervoor dat u uw SSID-netwerk en wachtwoord in de code invoert voordat u gaat uploaden.

Kopieer het IP-adres van ESP8266 van de seriële monitor en plak het in uw webbrowser. U ziet een webpagina met de digitale uitgang van analoge ingangsmeting. De output van de sensor op Serial Monitor en Web Server wordt getoond in de bovenstaande afbeelding.

Stap 5: Toepassingen en functies

Het MCP3425-apparaat kan worden gebruikt voor verschillende zeer nauwkeurige analoog-naar-digitaal dataconversietoepassingen waarbij eenvoud van het ontwerp, een laag stroomverbruik en een kleine footprint belangrijke overwegingen zijn. Belangrijke toepassingen zijn onder meer draagbare instrumenten, weegschalen en brandstofmeters, temperatuurdetectie met RTD, thermistor en thermokoppel, brugdetectie voor druk, rek en kracht.

ADC-converters maken nauwkeurige en betrouwbare conversieprestaties mogelijk in een reeks toepassingen zoals communicatie, energie, gezondheidszorg, instrumentatie en meting, motor- en vermogensregeling, industriële automatisering en ruimtevaart/defensie.

Met behulp van ESP8266 kunnen we de capaciteit vergroten naar een grotere lengte. We kunnen onze apparaten bedienen en hun prestaties volgen vanaf onze desktops en mobiele apparaten. We kunnen de gegevens online opslaan en beheren en ze op elk moment bestuderen voor wijzigingen. Meer toepassingen zijn onder meer domotica, mesh-netwerken, industriële draadloze besturing, babyfoons, sensornetwerken, draagbare elektronica, wifi-locatiebewuste apparaten, wifi-positiesysteembakens.

U kunt ook onze blog over domotica met lichtsensor en ESP8266 bekijken.

Aanbevolen: