INHOUDSOPGAWE:
- Stap 1: Toerusting wat ons benodig
- Stap 2: Hardewareverbindings
- Stap 3: Kodeer
- BEHEER ALLES
- MCP3425 Sensor I2C Mini Module
- Stap 4: Werk
- Stap 5: Toepassings en funksies
Video: Gebruik analoog sensors met ESP8266: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
'N Analoog-na-digitale omskakelaar (ADC, A/D, A – D of A-na-D) is 'n stelsel wat 'n analoog sein in 'n digitale sein omskep. A/D -omsetters vertaal analoog elektriese seine vir dataverwerkingsdoeleindes. Met produkte wat ooreenstem met prestasie, krag, koste en grootte. Hierdie data -omsetters vergemaklik presiese en sterk omskakelingsprestasie in 'n verskeidenheid toepassings, soos kommunikasie, energie, gesondheidsorg, instrumente en metings, motor- en kragbeheer, industriële outomatisering en lugvaart/verdediging. 'N Verskeidenheid A/D -omskakelingstoestelle word voorsien om die ingenieur te help in elke projekfase, van produkseleksie tot kringontwerp.
Vandag gebruik ons 'n analoog-na-digitale omskakelaar met 'n ESP8266. Kom ons begin.. !!
Stap 1: Toerusting wat ons benodig
1. MCP3425 ADC -omskakelaar
Die MCP3425 is 'n 1-kanaal analoog na digitaal omskakelaar met 'n resolusie van 16 bit, ideaal vir lae-spoed hoë-resolusie sensormonitering. Die MCP3425 kan analoog spannings met 15 monsters per sekonde met 'n resolusie van 16 bit of 240 monsters per sekonde met 'n resolusie van 12 bit lees.
2. Adafruit Huzzah ESP8266
Die ESP8266 is 'n ongelooflike platform vir die ontwikkeling van IoT -toepassings. Die ESP8266-verwerker van Espressif is 'n 80 MHz mikrobeheerder met 'n volledige WiFi-voorkant en TCP/IP-stapel met DNS-ondersteuning. Die ESP8266 bied 'n volwasse platform vir die monitering en beheer van toepassings met behulp van die Arduino Wire Language en die Arduino IDE.
3. ESP8266 USB programmeerder
Hierdie ESP8266 -gasheeradapter is spesifiek geskep deur Contol Everything vir die Adafruit Huzzah -weergawe van die ESP8266, wat I²C -kommunikasieverbindings moontlik maak.
4. I²C -aansluitkabel
Contol Everything het ook die I²C -aansluitkabel ontwerp wat by die skakel hierbo beskikbaar is.
5. Mini USB -kabel
Die mini -USB -kragtoevoer is 'n ideale keuse vir die voeding van die Adafruit Huzzah ESP8266.
Stap 2: Hardewareverbindings
Oor die algemeen is verbinding die maklikste deel van hierdie projek. Volg die instruksies en beelde, en u behoort geen probleme te hê nie.
Neem eerstens die Adafruit Huzzah ESP8266 en plaas dit op die USB -programmeerder (met I²C -poort na binne). Druk die ESP8266 saggies in die USB -programmeerder en ons is klaar met hierdie stap (sien prent #1).
Neem 'n I²C -kabel en verbind dit met die ingangspoort van die sensor. Vir 'n behoorlike werking van hierdie kabel, moet u onthou dat I²C Output ALTYD aansluit by die I²C Input. Koppel nou die ander kant van dieselfde I²C -kabel aan die USB -programmeerder met Adafruit Huzzah ESP8266 daaroor gemonteer (sien prent #2).
Opmerking: die bruin draad moet altyd die grondverbinding (GND) volg tussen die uitset van een toestel en die ingang van 'n ander toestel.
Steek die Mini USB -kabel in die kragaansluiting van Adafruit Huzzah ESP8266. Die finale verbinding sal lyk soos in prentjie #3.
Stap 3: Kodeer
Die ESP -kode vir die Adafruit Huzzah ESP8266 en MCP3425 ADC Converter is beskikbaar op ons GitHub -bewaarplek.
Voordat u met die kode gaan, moet u die instruksies in die Readme -lêer lees en u Adafruit Huzzah ESP8266 dienooreenkomstig opstel. Dit sal slegs 5 minute neem om die ESP op te stel.
Vir u gemak kan u die werkende ESP -kode vir hierdie sensor ook hier kopieer:
// Versprei met 'n vrywillige lisensie. // Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas. // MCP3425 // Hierdie kode is ontwerp om te werk met die MCP3425_I2CADC I2C Mini Module beskikbaar by ControlEverything.com. //
#insluit
#include #include #include
// MCP3425 I2C -adres is 0x68 (104)
#definieer Addr 0x68
const char* ssid = "jou ssid netwerk";
const char* password = "jou wagwoord"; vlotdruk, cTemp, fTemp;
ESP8266WebServer -bediener (80);
leë hanteerdervoet ()
{ongetekende int data [2];
// Begin I2C -oordrag
Wire.beginTransmission (Addr); // Stuur konfigurasieopdrag // Deurlopende omskakelingsmodus, 12-bis resolusie Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); vertraging (300);
// Begin I2C -oordrag
Wire.beginTransmission (Addr); // Kies dataregister Wire.write (0x00); // Stop I2C Transmission Wire.endTransmission ();
// Versoek 2 grepe data
Wire.requestFrom (Addr, 2);
// Lees 2 grepe data
// raw_adc msb, raw_adc lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); }
// Skakel die data om na 12-bis
int raw_adc = (data [0] en 0x0F) * 256 + data [1]; as (raw_adc> 2047) {raw_adc -= 4096; }
// Uitset data na die seriële monitor
Serial.print ("Digitale waarde van analoog invoer:"); Serial.println (raw_adc); vertraging (500);
// Uitset data na die webbediener
server.sendContent ("<meta http-equiv = 'refresh' content = '3'""
BEHEER ALLES
www.controleverything.com
MCP3425 Sensor I2C Mini Module
"); server.sendContent ("
Digitale waarde van analoog invoer: " + string (raw_adc));}
leemte opstelling ()
{// Initialiseer I2C -kommunikasie as MASTER Wire.begin (2, 14); // Initialiseer seriële kommunikasie, stel baud rate = 115200 Serial.begin (115200);
// Koppel aan WiFi -netwerk
WiFi.begin (ssid, wagwoord);
// Wag vir verbinding
terwyl (WiFi.status ()! = WL_CONNECTED) {vertraging (500); Serial.print ("."); } Serial.println (""); Serial.print ("gekoppel aan"); Serial.println (ssid);
// Kry die IP -adres van ESP8266
Serial.print ("IP -adres:"); Serial.println (WiFi.localIP ());
// Begin die bediener
server.on ("/", handleroot); bediener.begin (); Serial.println ("HTTP -bediener begin"); }
leemte lus ()
{server.handleClient (); }
Stap 4: Werk
Laai (gitpull) af of kopieer die kode en maak dit oop in die Arduino IDE.
Stel die kode op en laai dit op en sien die uitset op u seriële monitor.
Let wel: Maak seker dat u u SSID -netwerk en wagwoord in die kode invoer voordat u dit oplaai.
Kopieer die IP -adres van ESP8266 van die Serial Monitor en plak dit in u webblaaier. U sien 'n webblad met die digitale uitset van analoog -invoerlesing. Die uitset van die sensor op Serial Monitor en Web Server word op die foto hierbo getoon.
Stap 5: Toepassings en funksies
Die MCP3425-toestel kan gebruik word vir verskillende analoog-na-digitale data-omskakelingstoepassings met 'n hoë akkuraatheid, waar ontwerp eenvoud, lae krag en klein voetspoor belangrike aspekte is. Belangrike toepassings sluit in draagbare instrumente, weegskale en brandstofmeters, temperatuurmeting met RTD, termistor en termokoppel, brugwaarneming vir druk, spanning en krag.
ADC -omsetters maak akkurate en betroubare omskakelingsprestasie moontlik in 'n verskeidenheid toepassings, soos kommunikasie, energie, gesondheidsorg, instrumente en metings, motor- en kragbeheer, industriële outomatisering en lugvaart/verdediging.
Met behulp van ESP8266 kan ons die kapasiteit tot 'n groter lengte vergroot. Ons kan ons toestelle beheer en hul werkverrigting vanaf ons rekenaars en mobiele toestelle monitor. Ons kan die data aanlyn stoor en bestuur en dit altyd bestudeer vir wysigings. Meer toepassings sluit in tuisautomatisering, netwerknetwerk, industriële draadlose beheer, babamonitors, sensornetwerke, drabare elektronika, toestelle wat Wi-Fi-ligging bewus is, bakens vir Wi-Fi-posisiesisteem.
U kan ook na ons blog kyk oor Tuisautomatisering met ligsensor en ESP8266.
Aanbeveel:
Fantastiese analoog sintetiseerder/orrel wat slegs diskrete komponente gebruik: 10 stappe (met foto's)
Fantastiese analoog sintetiseerder/orrel wat slegs diskrete komponente gebruik: analoog sintetiseerders is baie gaaf, maar ook redelik moeilik om te maak, so ek wou een so eenvoudig maak as wat dit kan wees, sodat die werking daarvan maklik verstaanbaar kan wees. benodig 'n paar basiese subbane: 'n Eenvoudige ossillator met resis
Tutoriaal: Hoe om analoog ultrasone afstandsensor US-016 te gebruik met Arduino UNO: 3 stappe
Tutoriaal: Hoe om analoge ultraklankafstandsensor US-016 met Arduino UNO te gebruik: beskrywing: US-016 ultrasoniese aanvangsmodule laat 2 cm ~ 3 m nie-meetfunksies toe, voedingsspanning 5 V, werkstroom 3.8mA, ondersteun analoog uitgangsspanning, stabiel en betroubaar. Hierdie module kan verskil, afhangende van die toepassing
PCF8591 (i2c analoog I/O -uitbreider) Vinnige gebruik: 9 stappe
PCF8591 (i2c analoog I/O -uitbreider) Vinnige gebruik: biblioteek om i2c pcf8591 IC te gebruik met arduino en esp8266. Hierdie IC kan (tot 4) analoog ingang en/of 1 analoog uitset beheer, soos spanning meet, termistorwaarde lees of 'n LED vervaag. Kan analoog waarde lees en analoog waarde skryf met slegs 2 drade (perfek
Gebruik 1 analoog invoer vir 6 knoppies vir Arduino: 6 stappe
Gebruik 1 analoog invoer vir 6 knoppies vir Arduino: ek het gereeld gewonder hoe ek meer digitale insette vir my Arduino kan kry. Dit het onlangs by my opgekom dat ek een van die analoog insette moet kan gebruik om verskeie digitale insette in te voer. Ek het vinnig gesoek en gevind waar mense is
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitaal omskakelaar): 4 stappe
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitale omskakelaar): In ons vorige instruksies het ons u gewys hoe u die GPIO -penne van u framboos Pi aan LED's en skakelaars kan koppel en hoe die GPIO -penne hoog kan wees of Laag. Maar wat as u u Raspberry Pi met 'n analoog sensor wil gebruik? As ons 'n