Spisu treści:

Korzystanie z czujników analogowych z ESP8266: 5 kroków
Korzystanie z czujników analogowych z ESP8266: 5 kroków

Wideo: Korzystanie z czujników analogowych z ESP8266: 5 kroków

Wideo: Korzystanie z czujników analogowych z ESP8266: 5 kroków
Wideo: Moduł WiFi | ESP8266 - Cz. 3 | #69 [Podstawy] 2024, Listopad
Anonim
Korzystanie z czujników analogowych z ESP8266
Korzystanie z czujników analogowych z ESP8266

Przetwornik analogowo-cyfrowy (ADC, A/D, A-D lub A-to-D) to system, który przekształca sygnał analogowy w sygnał cyfrowy. Przetworniki A/D tłumaczą analogowe sygnały elektryczne do celów przetwarzania danych. Dzięki produktom dopasowanym pod względem wydajności, mocy, kosztów i wielkości. Te konwertery danych umożliwiają precyzyjną i wydajną konwersję w wielu zastosowaniach, takich jak komunikacja, energia, opieka zdrowotna, oprzyrządowanie i pomiary, sterowanie silnikami i zasilaniem, automatyka przemysłowa oraz lotnictwo/obrona. Dostępnych jest wiele przetworników A/D, które pomagają inżynierom na każdym etapie projektu, od wyboru produktu po projektowanie obwodów.

Dzisiaj będziemy używać przetwornika analogowo-cyfrowego z ESP8266. Zaczynajmy.. !!

Krok 1: Sprzęt, którego potrzebujemy

Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy
Sprzęt, którego potrzebujemy

1. Konwerter ADC MCP3425

MCP3425 to 1-kanałowy konwerter analogowo-cyfrowy z 16-bitową rozdzielczością, idealnie nadający się do monitorowania czujników o niskiej prędkości i wysokiej rozdzielczości. MCP3425 może odczytywać napięcia analogowe z prędkością 15 próbek na sekundę przy rozdzielczości 16-bitowej lub 240 próbek na sekundę przy rozdzielczości 12-bitowej.

2. Adafruit Huzzah ESP8266

ESP8266 to niesamowita platforma do tworzenia aplikacji IoT. Procesor ESP8266 firmy Espressif to mikrokontroler 80 MHz z pełnym front-endem WiFi i stosem TCP/IP z obsługą DNS. ESP8266 zapewnia dojrzałą platformę do monitorowania i sterowania aplikacjami przy użyciu języka Arduino Wire Language i Arduino IDE.

3. Programator USB ESP8266

Ten adapter hosta ESP8266 został stworzony specjalnie przez Contol Everything dla wersji Adafruit Huzzah ESP8266, umożliwiając połączenia komunikacyjne I²C.

4. Kabel połączeniowy I²C

Contol Everything zaprojektowała również kabel połączeniowy I²C, który jest dostępny pod powyższym linkiem.

5. Kabel mini USB

Zasilacz mini USB to idealny wybór do zasilania Adafruit Huzzah ESP8266.

Krok 2: Połączenia sprzętowe

Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe
Połączenia sprzętowe

Ogólnie rzecz biorąc, tworzenie połączeń jest najłatwiejszą częścią tego projektu. Postępuj zgodnie z instrukcjami i obrazami, a nie powinieneś mieć problemów.

Przede wszystkim weź Adafruit Huzzah ESP8266 i umieść go na programatorze USB (z portem Inward Facing I²C). Delikatnie wciśnij ESP8266 do programatora USB i skończymy z tym krokiem (patrz zdjęcie #1).

Weź kabel I²C i podłącz go do portu wejściowego czujnika. Dla prawidłowego działania tego kabla należy pamiętać, że wyjście I²C ZAWSZE łączy się z wejściem I²C. Teraz podłącz drugi koniec tego samego kabla I²C do programatora USB z zamontowanym nad nim Adafruit Huzzah ESP8266 (patrz zdjęcie #2).

Uwaga: Brązowy przewód powinien zawsze podążać za połączeniem uziemienia (GND) między wyjściem jednego urządzenia a wejściem innego urządzenia.

Podłącz kabel Mini USB do gniazda zasilania Adafruit Huzzah ESP8266. Ostateczne połączenie będzie wyglądało jak na obrazku #3.

Krok 3: Kod

Kod ESP dla konwertera Adafruit Huzzah ESP8266 i MCP3425 ADC jest dostępny w naszym repozytorium GitHub.

Zanim przejdziesz do kodu, upewnij się, że przeczytałeś instrukcje podane w pliku Readme i odpowiednio skonfiguruj swój Adafruit Huzzah ESP8266. Konfiguracja ESP zajmie tylko 5 minut.

Dla Twojej wygody możesz tutaj również skopiować działający kod ESP dla tego czujnika:

// Rozprowadzany z wolną licencją.// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł. // MCP3425 // Ten kod jest przeznaczony do współpracy z minimodułem MCP3425_I2CADC I2C dostępnym na stronie ControlEverything.com. //

#włączać

#include #include #include

// Adres MCP3425 I2C to 0x68(104)

#define Addr 0x68

const char* ssid = "Twoja sieć ssid";

const char* password = "twoje hasło"; ciśnienie pływakowe, cTemp, fTemp;

ESP8266serwer WebServer(80);

void handleroot()

{ unsigned int data[2];

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr); // Wyślij polecenie konfiguracyjne // Tryb ciągłej konwersji, rozdzielczość 12-bitowa Wire.write(0x10); // Zatrzymaj transmisję I2C Wire.endTransmission(); opóźnienie(300);

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr); // Wybierz rejestr danych Wire.write(0x00); // Zatrzymaj transmisję I2C Wire.endTransmission();

// Poproś o 2 bajty danych

Wire.requestFrom(Addr, 2);

// Odczytaj 2 bajty danych

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

// Konwertuj dane na 12-bitowe

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

// Dane wyjściowe do monitora szeregowego

Serial.print("Wartość cyfrowa wejścia analogowego: "); Serial.println(raw_adc); opóźnienie (500);

// Dane wyjściowe na serwer WWW

server.sendContent ("<meta http-equiv='odśwież' content='3'""

KONTROLUJ WSZYSTKO

www.controleverything.com

MCP3425 Mini moduł czujnika I2C

"); serwer.sendContent ("

Wartość cyfrowa wejścia analogowego: " + String(raw_adc)); }

pusta konfiguracja()

{ // Zainicjuj komunikację I2C jako MASTER Wire.begin(2, 14); // Zainicjuj komunikację szeregową, ustaw szybkość transmisji = 115200 Serial.begin(115200);

// Połącz z siecią Wi-Fi

WiFi.begin(SSid, hasło);

// Czekaj na połączenie

while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Połączony z"); Serial.println(ssid);

// Uzyskaj adres IP ESP8266

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

// Uruchom serwer

server.on("/", handleroot); serwer.początek(); Serial.println("Serwer HTTP uruchomiony"); }

pusta pętla()

{ serwer.obsługaKlient(); }

Krok 4: Praca

Pracujący
Pracujący

Pobierz (gitpull) lub skopiuj kod i otwórz go w Arduino IDE.

Skompiluj i prześlij kod i zobacz dane wyjściowe na monitorze szeregowym.

Uwaga: przed przesłaniem upewnij się, że w kodzie wpisałeś swoją sieć SSID i hasło.

Skopiuj adres IP ESP8266 z monitora szeregowego i wklej go w przeglądarce internetowej. Zobaczysz stronę internetową z cyfrowym wyjściem odczytu wejścia analogowego. Wyjście czujnika na monitorze szeregowym i serwerze sieciowym pokazano na powyższym obrazku.

Krok 5: Aplikacje i funkcje

Urządzenie MCP3425 może być używane w różnych aplikacjach do konwersji danych analogowo-cyfrowych o wysokiej dokładności, w których głównymi czynnikami są prostota konstrukcji, niski pobór mocy i niewielkie rozmiary. Główne zastosowania obejmują oprzyrządowanie przenośne, wagi i wskaźniki paliwa, pomiar temperatury z RTD, termistor i termoparę, wykrywanie mostka ciśnienia, odkształcenia i siły.

Przetworniki ADC umożliwiają dokładną i niezawodną konwersję w wielu zastosowaniach, takich jak komunikacja, energia, opieka zdrowotna, oprzyrządowanie i pomiary, sterowanie silnikiem i zasilaniem, automatyka przemysłowa oraz lotnictwo/obrona.

Za pomocą ESP8266 możemy zwiększyć jego pojemność na większą długość. Możemy sterować naszymi urządzeniami i monitorować ich wydajność z naszych komputerów stacjonarnych i urządzeń mobilnych. Możemy przechowywać i zarządzać danymi online oraz analizować je w dowolnym momencie pod kątem modyfikacji. Inne zastosowania obejmują automatykę domową, sieć mesh, przemysłowe sterowanie bezprzewodowe, elektroniczne nianie, sieci czujników, elektronikę do noszenia, urządzenia rozpoznające lokalizację Wi-Fi, sygnalizatory systemu pozycjonowania Wi-Fi.

Możesz również sprawdzić nasz blog na temat automatyki domowej z czujnikiem światła i ESP8266.

Zalecana: