Innehållsförteckning:
- Steg 1: Utrustning vi behöver
- Steg 2: Hårdvaruanslutningar
- Steg 3: Kod
- KONTROLLERA ALLT
- MCP3425 Sensor I2C Mini -modul
- Steg 4: Arbeta
- Steg 5: Applikationer och funktioner
Video: Använda analoga sensorer med ESP8266: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
En analog-till-digital-omvandlare (ADC, A/D, A – D eller A-to-D) är ett system som omvandlar en analog signal till en digital signal. A/D -omvandlare översätter analoga elektriska signaler för databehandlingsändamål. Med produkter som matchar prestanda, kraft, kostnad och stor storlek. Dessa dataomvandlare underlättar exakta och starka konverteringsprestanda i en rad applikationer som kommunikation, energi, sjukvård, instrumentering och mätning, motor- och effektstyrning, industriell automatisering och flyg/försvar. En mängd olika A/D -omvandlare tillhandahålls för att hjälpa ingenjören i varje projektfas, från produktval till kretsdesign.
Idag kommer vi att använda en analog-till-digital-omvandlare med en ESP8266. Låt oss börja.. !!
Steg 1: Utrustning vi behöver
1. MCP3425 ADC -omvandlare
MCP3425 är en 1-kanals analog till digital omvandlare med 16-bitars upplösning, perfekt för låghastighets högupplöst sensorövervakning. MCP3425 kan avläsa analoga spänningar med 15 sampel per sekund med 16-bitars upplösning eller 240 samplingar per sekund vid 12-bitars upplösning.
2. Adafruit Huzzah ESP8266
ESP8266 är en otrolig plattform för IoT -applikationsutveckling. ESP8266-processorn från Espressif är en 80 MHz mikrokontroller med en fullständig WiFi-front-end och TCP/IP-stack med DNS-stöd också. ESP8266 ger en mogen plattform för övervakning och kontroll av applikationer med Arduino Wire Language och Arduino IDE.
3. ESP8266 USB -programmerare
Denna ESP8266 -värdadapter skapades speciellt av Contol Everything för Adafruit Huzzah -versionen av ESP8266, vilket möjliggör I²C -kommunikationsanslutningar.
4. I²C -anslutningskabel
Contol Everything designade också I²C -anslutningskabeln som finns på ovanstående länk.
5. Mini USB -kabel
Mini -USB -kabeln Strömförsörjning är ett idealiskt val för att driva Adafruit Huzzah ESP8266.
Steg 2: Hårdvaruanslutningar
I allmänhet är det lättast att göra anslutningar i detta projekt. Följ instruktionerna och bilderna, så ska du inte ha några problem.
Först och främst, ta Adafruit Huzzah ESP8266 och placera den på USB -programmeraren (med Inward Facing I²C Port). Tryck in ESP8266 försiktigt i USB -programmeraren och vi är klara med detta steg (se bild #1).
Ta en I²C -kabel och anslut den till sensorns ingångsport. För korrekt användning av denna kabel, kom ihåg att I²C -utgången ALLTID är ansluten till I²C -ingången. Anslut nu den andra änden av samma I²C -kabel till USB -programmeraren med Adafruit Huzzah ESP8266 monterad över den (se bild #2).
Obs: Den bruna tråden bör alltid följa jordanslutningen (GND) mellan utgången på en enhet och ingången till en annan enhet.
Anslut Mini USB -kabeln till strömuttaget på Adafruit Huzzah ESP8266. Den slutliga anslutningen kommer att se ut som på bild #3.
Steg 3: Kod
ESP -koden för Adafruit Huzzah ESP8266 och MCP3425 ADC Converter är tillgänglig på vårt GitHub -arkiv.
Innan du går vidare till koden, se till att du läser instruktionerna i Readme -filen och konfigurerar din Adafruit Huzzah ESP8266 därefter. Det tar bara 5 minuter att konfigurera ESP.
För din bekvämlighet kan du även kopiera den fungerande ESP -koden för denna sensor härifrån:
// Distribueras med en fri vilja licens. // Använd den hur du vill, vinst eller gratis, förutsatt att den passar in i licensen för dess associerade verk. // MCP3425 // Denna kod är utformad för att fungera med MCP3425_I2CADC I2C Mini -modulen som är tillgänglig från ControlEverything.com. //
#omfatta
#include #include #include
// MCP3425 I2C -adressen är 0x68 (104)
#define Addr 0x68
const char* ssid = "ditt ssid -nätverk";
const char* password = "ditt lösenord"; flyttryck, cTemp, fTemp;
ESP8266WebServer -server (80);
void handleroot ()
{osignerade int -data [2];
// Starta I2C -sändning
Wire.beginTransmission (Addr); // Skicka konfigurationskommando // Kontinuerligt konverteringsläge, 12-bitars upplösning Wire.write (0x10); // Stoppa I2C Transmission Wire.endTransmission (); fördröjning (300);
// Starta I2C -sändning
Wire.beginTransmission (Addr); // Välj dataregister Wire.write (0x00); // Stoppa I2C Transmission Wire.endTransmission ();
// Begär 2 byte med data
Wire.requestFrom (Addr, 2);
// Läs 2 byte med data
// raw_adc msb, raw_adc lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read (); }
// Konvertera data till 12-bitar
int raw_adc = (data [0] & 0x0F) * 256 + data [1]; om (raw_adc> 2047) {raw_adc -= 4096; }
// Utdata till seriell bildskärm
Serial.print ("Digitalt värde för analog ingång:"); Serial.println (raw_adc); fördröjning (500);
// Utdata till webbserver
server.sendContent ("<meta http-equiv = 'refresh' content = '3'""
KONTROLLERA ALLT
www.controleverything.com
MCP3425 Sensor I2C Mini -modul
"); server.sendContent ("
Digitalt värde för analog ingång: " + String (raw_adc));}
void setup ()
{// Initiera I2C -kommunikation som MASTER Wire.begin (2, 14); // Initiera seriell kommunikation, ange överföringshastighet = 115200 Serial.begin (115200);
// Anslut till WiFi -nätverk
WiFi.begin (ssid, lösenord);
// Vänta på anslutning
medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); } Serial.println (""); Serial.print ("Ansluten till"); Serial.println (ssid);
// Få IP -adressen för ESP8266
Serial.print ("IP -adress:"); Serial.println (WiFi.localIP ());
// Starta servern
server.on ("/", handleroot); server.begin (); Serial.println ("HTTP -server startad"); }
void loop ()
{server.handleClient (); }
Steg 4: Arbeta
Ladda ner (gitpull) eller kopiera koden och öppna den i Arduino IDE.
Kompilera och ladda upp koden och se utdata på din seriella bildskärm.
Obs! Innan du laddar upp, se till att du anger ditt SSID -nätverk och lösenord i koden.
Kopiera IP -adressen till ESP8266 från Serial Monitor och klistra in den i din webbläsare. Du kommer att se en webbsida med digital utgång av analog ingångsavläsning. Sensorns utsignal på seriell bildskärm och webbserver visas i bilden ovan.
Steg 5: Applikationer och funktioner
MCP3425-enheten kan användas för olika analoga till digitala datakonverteringsapplikationer med hög noggrannhet där designenhet, låg effekt och litet fotavtryck är viktiga överväganden. Stora applikationer inkluderar bärbar instrumentering, vägningsvågar och bränslemätare, temperaturavkänning med RTD, termistor och termoelement, broavkänning för tryck, töjning och kraft.
ADC -omvandlare möjliggör exakt och tillförlitlig konverteringsprestanda i en rad applikationer som kommunikation, energi, sjukvård, instrumentering och mätning, motor- och effektstyrning, industriell automation och flyg/försvar.
Med hjälp av ESP8266 kan vi öka dess kapacitet till en större längd. Vi kan styra våra apparater och övervaka deras prestanda från våra stationära datorer och mobila enheter. Vi kan lagra och hantera data online och studera dem när som helst för ändringar. Fler applikationer inkluderar Hemautomation, Mesh-nätverk, Industriell trådlös kontroll, Babymonitorer, Sensornätverk, Bärbar elektronik, Wi-Fi Platsmedvetna enheter, Wi-Fi Position System Beacons.
Du kan också kolla vår blogg om Hemautomation med ljussensor och ESP8266.
Rekommenderad:
Hur man läser flera analoga värden med en analog stift: 6 steg (med bilder)
Hur man läser flera analoga värden med en analog stift: I den här självstudien kommer jag att visa dig hur du läser flera analoga värden med bara en analog ingångsstift
Förbättrad halvledarkurvspårare med den analoga upptäckten 2: 8 -steg
Förbättrad halvledarkurvspårare med analog upptäckt 2: Principen för kurvspårning med AD2 beskrivs i följande länkar nedan: https: //www.instructables.com/id/Semiconductor-Cur … https: //reference.digilentinc .com/referens/instrument … Om den uppmätta strömmen är ganska hög är ackumuleringen
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C - Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: 5 steg
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C | Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: Hej killar i denna instruktioner kommer vi att lära oss hur man använder neopixel ws2812 lysdioder eller ledremsor eller ledmatris eller ledring med m5stack m5stick-C utvecklingsbräda med Arduino IDE och vi kommer att göra ett regnbågsmönster med det
Supersnabba analoga spänningar från Arduino: 10 steg (med bilder)
Supersnabba analoga spänningar från Arduino: Denna instruktion visar hur man genererar supersnabba analoga spänningsändringar från en Arduino och ett enkelt motstånd och kondensatorpar. En applikation där detta är användbart är att generera grafik på ett oscilloskop. Det finns flera andra projekt
Heritage - Keramik i samband med digitala och analoga tekniker 2015: 3 steg (med bilder)
Heritage - Keramik i samband med digitala och analoga tekniker 2015: Fram till nu var keramik ett hantverk som hade lite digitalt inflytande. Av denna anledning var det spännande att para detta hantverk med en ny teknik. Utgångspunkten var en gammal form och en CNC Styrocutter.DESIGNBOOM