Inhaltsverzeichnis:

Verwenden von analogen Sensoren mit ESP8266 - Gunook
Verwenden von analogen Sensoren mit ESP8266 - Gunook

Video: Verwenden von analogen Sensoren mit ESP8266 - Gunook

Video: Verwenden von analogen Sensoren mit ESP8266 - Gunook
Video: ESP8266 Digital Inputs - Sensoren und Signale lesen und verarbeiten 2024, November
Anonim
Verwenden von analogen Sensoren mit ESP8266
Verwenden von analogen Sensoren mit ESP8266

Ein Analog-Digital-Wandler (ADC, A/D, A-D oder A-D) ist ein System, das ein analoges Signal in ein digitales Signal umwandelt. A/D-Wandler übersetzen analoge elektrische Signale für Datenverarbeitungszwecke. Mit Produkten, die auf Leistung, Leistung, Kosten und Größe abgestimmt sind. Diese Datenkonverter ermöglichen eine präzise und starke Konvertierungsleistung in einer Reihe von Anwendungen wie Kommunikation, Energie, Gesundheitswesen, Instrumentierung und Messung, Motor- und Leistungssteuerung, industrielle Automatisierung und Luft- und Raumfahrt/Verteidigung. Eine Vielzahl von A/D-Wandlergeräten wird bereitgestellt, um den Ingenieur in jeder Projektphase zu unterstützen, von der Produktauswahl bis zum Schaltungsdesign.

Heute verwenden wir einen Analog-Digital-Wandler mit einem ESP8266. Lasst uns beginnen.. !!

Schritt 1: Ausrüstungen, die wir brauchen

Ausrüstungen, die wir brauchen
Ausrüstungen, die wir brauchen
Ausrüstung, die wir brauchen
Ausrüstung, die wir brauchen
Ausrüstung, die wir brauchen
Ausrüstung, die wir brauchen

1. MCP3425 ADC-Wandler

Der MCP3425 ist ein 1-Kanal-Analog-Digital-Wandler mit 16-Bit-Auflösung, der sich ideal für die Überwachung von Sensoren mit niedriger Geschwindigkeit und hoher Auflösung eignet. Der MCP3425 kann analoge Spannungen mit 15 Samples pro Sekunde bei 16-Bit-Auflösung oder 240 Samples pro Sekunde bei 12-Bit-Auflösung lesen.

2. Adafruit Huzzah ESP8266

Der ESP8266 ist eine unglaubliche Plattform für die Entwicklung von IoT-Anwendungen. Der ESP8266-Prozessor von Espressif ist ein 80-MHz-Mikrocontroller mit vollem WLAN-Frontend und TCP/IP-Stack mit DNS-Unterstützung. Der ESP8266 bietet eine ausgereifte Plattform für die Überwachung und Steuerung von Anwendungen mit der Arduino Wire Language und der Arduino IDE.

3. ESP8266 USB-Programmierer

Dieser ESP8266-Hostadapter wurde speziell von Contol Everything für die Adafruit Huzzah-Version des ESP8266 entwickelt und ermöglicht I²C-Kommunikationsverbindungen.

4. I²C-Verbindungskabel

Contol Everything hat auch das I²C-Verbindungskabel entworfen, das unter dem obigen Link erhältlich ist.

5. Mini-USB-Kabel

Das Mini-USB-Kabel Netzteil ist die ideale Wahl für die Stromversorgung des Adafruit Huzzah ESP8266.

Schritt 2: Hardwareverbindungen

Hardware-Anschlüsse
Hardware-Anschlüsse
Hardware-Anschlüsse
Hardware-Anschlüsse
Hardware-Anschlüsse
Hardware-Anschlüsse

Im Allgemeinen ist das Herstellen von Verbindungen der einfachste Teil dieses Projekts. Befolgen Sie die Anweisungen und Bilder, und Sie sollten keine Probleme haben.

Nehmen Sie zunächst den Adafruit Huzzah ESP8266 und platzieren Sie ihn auf dem USB-Programmer (mit nach innen gerichtetem I²C-Port). Drücken Sie den ESP8266 vorsichtig in den USB-Programmierer und wir sind mit diesem Schritt fertig (siehe Bild 1).

Nehmen Sie ein I²C-Kabel und verbinden Sie es mit dem Eingang des Sensors. Bitte denken Sie für den ordnungsgemäßen Betrieb dieses Kabels daran, dass der I²C-Ausgang IMMER mit dem I²C-Eingang verbunden ist. Verbinden Sie nun das andere Ende desselben I²C-Kabels mit dem USB-Programmierer mit Adafruit Huzzah ESP8266 darüber (siehe Bild 2).

Hinweis: Das braune Kabel sollte immer der Masseverbindung (GND) zwischen dem Ausgang eines Geräts und dem Eingang eines anderen Geräts folgen.

Stecken Sie das Mini-USB-Kabel in die Strombuchse des Adafruit Huzzah ESP8266. Die endgültige Verbindung sieht wie in Bild #3 aus.

Schritt 3: Code

Der ESP-Code für den Adafruit Huzzah ESP8266 und MCP3425 ADC Converter ist in unserem GitHub-Repository verfügbar.

Bevor Sie mit dem Code fortfahren, lesen Sie die Anweisungen in der Readme-Datei und richten Sie Ihren Adafruit Huzzah ESP8266 entsprechend ein. Die Einrichtung des ESP dauert nur 5 Minuten.

Der Einfachheit halber können Sie den funktionierenden ESP-Code für diesen Sensor auch von hier aus kopieren:

// Verbreitung mit freier Lizenz.// Verwenden Sie es, wie Sie wollen, profitabel oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt. // MCP3425 // Dieser Code wurde entwickelt, um mit dem MCP3425_I2CADC I2C Mini-Modul zu arbeiten, das von ControlEverything.com erhältlich ist. //

#enthalten

#einschließen #einschließen #einschließen

// MCP3425 I2C-Adresse ist 0x68(104)

#define Addr 0x68

const char* ssid = "Ihr ssid-Netzwerk";

const char* password = "Ihr Passwort"; Schwimmerdruck, cTemp, fTemp;

ESP8266WebServer-Server (80);

void handleroot()

{ unsigned int data[2];

// I2C-Übertragung starten

Wire.beginTransmission(Addr); // Konfigurationsbefehl senden // Kontinuierlicher Konvertierungsmodus, 12-Bit-Auflösung Wire.write(0x10); // I2C-Übertragung stoppen Wire.endTransmission(); Verzögerung (300);

// I2C-Übertragung starten

Wire.beginTransmission(Addr); // Datenregister auswählen Wire.write (0x00); // I2C-Übertragung stoppen Wire.endTransmission();

// 2 Byte Daten anfordern

Wire.requestFrom(Addr, 2);

// 2 Byte Daten lesen

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

// Konvertieren Sie die Daten in 12-Bit

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

// Daten an seriellen Monitor ausgeben

Serial.print ("Digitalwert des Analogeingangs: "); Serial.println (raw_adc); Verzögerung (500);

// Daten an Webserver ausgeben

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

ALLES KONTROLLIEREN

www.controleverything.com

MCP3425 Sensor I2C Mini-Modul

"); server.sendContent ("

Digitalwert des Analogeingangs: " + String(raw_adc)); }

Void-Setup ()

{ // I2C-Kommunikation als MASTER Wire.begin (2, 14) initialisieren; // Serielle Kommunikation initialisieren, Baudrate = 115200 einstellen Serial.begin(115200);

// Mit WiFi-Netzwerk verbinden

WiFi.begin(ssid, Passwort);

// Auf Verbindung warten

Während (WiFi.status () != WL_CONNECTED) { Verzögerung (500); Serial.print("."); } Serial.println(""); Serial.print ("Verbunden mit"); Serial.println (ssid);

// Holen Sie sich die IP-Adresse von ESP8266

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

// Server starten

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

Leere Schleife ()

{ server.handleClient(); }

Schritt 4: Arbeiten

Arbeiten
Arbeiten

Laden Sie den Code herunter (gitpull) oder kopieren Sie ihn und öffnen Sie ihn in der Arduino IDE.

Kompilieren und laden Sie den Code hoch und sehen Sie sich die Ausgabe auf Ihrem Serial Monitor an.

Hinweis: Stellen Sie vor dem Hochladen sicher, dass Sie Ihr SSID-Netzwerk und Ihr Passwort in den Code eingeben.

Kopieren Sie die IP-Adresse des ESP8266 vom Serial Monitor und fügen Sie sie in Ihren Webbrowser ein. Sie sehen eine Webseite mit der digitalen Ausgabe des Analogeingangsmesswerts. Die Ausgabe des Sensors auf Serial Monitor und Web Server wird im Bild oben gezeigt.

Schritt 5: Anwendungen und Funktionen

Das Gerät MCP3425 kann für verschiedene hochpräzise Analog-Digital-Datenkonvertierungsanwendungen verwendet werden, bei denen einfaches Design, geringer Stromverbrauch und geringer Platzbedarf im Vordergrund stehen. Zu den wichtigsten Anwendungen gehören tragbare Instrumente, Waagen und Tankanzeigen, Temperaturmessung mit RTD, Thermistor und Thermoelement, Brückenmessung für Druck, Dehnung und Kraft.

ADC-Wandler ermöglichen eine genaue und zuverlässige Umwandlungsleistung in einer Reihe von Anwendungen wie Kommunikation, Energie, Gesundheitswesen, Instrumentierung und Messung, Motor- und Leistungssteuerung, industrielle Automatisierung und Luft- und Raumfahrt/Verteidigung.

Mit Hilfe von ESP8266 können wir seine Kapazität auf eine größere Länge erhöhen. Wir können unsere Geräte steuern und ihre Leistung von unseren Desktops und mobilen Geräten aus überwachen. Wir können die Daten online speichern und verwalten und sie jederzeit auf Änderungen untersuchen. Weitere Anwendungen sind Hausautomation, Mesh-Netzwerk, industrielle drahtlose Steuerung, Babyphone, Sensornetzwerke, tragbare Elektronik, standortabhängige WLAN-Geräte, WLAN-Positionssystem-Beacons.

Sie können auch unseren Blog über Hausautomation mit Lichtsensor und ESP8266 lesen.

Empfohlen: