Inhoudsopgave:
- Stap 1: Apparatuur die we nodig hebben
- Stap 2: Hardwareverbindingen
- Stap 3: Coderen
- CONTROLEER ALLES
- MCP3425 Sensor I2C Mini-module
- Stap 4: Werken
- Stap 5: Toepassingen en functies
Video: Analoge sensoren gebruiken met ESP8266 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
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
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
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:
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Hoe op IoT gebaseerde domotica te maken met NodeMCU-sensoren Besturingsrelais 14 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe op IoT gebaseerde huisautomatisering te maken met NodeMCU-sensoren Besturingsrelais: In dit op IoT gebaseerde project heb ik huisautomatisering gemaakt met Blynk en NodeMCU besturingsrelaismodule met realtime feedback. In de handmatige modus kan deze relaismodule worden bediend vanaf mobiel of smartphone en handmatige schakelaar. In de automatische modus is deze slimme
Een kas automatiseren met LoRa! (Deel 1) -- Sensoren (temperatuur, vochtigheid, bodemvocht): 5 stappen
Een kas automatiseren met LoRa! (Deel 1) || Sensoren (Temperatuur, Vochtigheid, Bodemvocht): In dit project laat ik zien hoe ik een kas heb geautomatiseerd. Dat betekent dat ik je laat zien hoe ik de kas heb gebouwd en hoe ik de stroom- en automatiseringselektronica heb aangesloten. Ik zal je ook laten zien hoe je een Arduino-bord programmeert dat L
Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen
Mac Terminal gebruiken en toetsfuncties gebruiken: We laten u zien hoe u de MAC Terminal opent. We zullen u ook enkele functies binnen de Terminal laten zien, zoals ifconfig, mappen wijzigen, toegang tot bestanden en arp. Met Ifconfig kunt u uw IP-adres en uw MAC-advertentie controleren
Geavanceerde Makeblock-sensoren (DIY): 32 stappen (met afbeeldingen)
Geavanceerde Makeblock-sensoren (DIY): Het Makeblock-platform bevat allerlei mechanische onderdelen en elektronica om robots te maken. Makeblock verkoopt deze robots als onderdeel van hun STEM-onderwijsplatform. En via de Scratch-taal kunnen kinderen basisprogrammeervaardigheden verwerven