Spisu treści:
- Krok 1: Sprzęt, którego potrzebujemy
- Krok 2: Połączenia sprzętowe
- Krok 3: Kod
- KONTROLUJ WSZYSTKO
- MCP3425 Mini moduł czujnika I2C
- Krok 4: Praca
- Krok 5: Aplikacje i funkcje
Wideo: Korzystanie z czujników analogowych z ESP8266: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
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
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
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:
Jak odczytać wiele wartości analogowych za pomocą jednego pinu analogowego: 6 kroków (ze zdjęciami)
Jak odczytać wiele wartości analogowych za pomocą jednego pinu analogowego: W tym samouczku pokażę, jak odczytać wiele wartości analogowych za pomocą tylko jednego analogowego pinu wejściowego
Korzystanie z RGB LED z zestawu 37 czujników: 6 kroków
Korzystanie z RGB LED z zestawu 37 czujników: Wyszedłeś więc i kupiłeś zestaw czujników elektrycznych i modułów za dobrą cenę o nazwie „37 czujników”. (jak ten tutaj lub inne na Amazon), ale nie możesz znaleźć informacji o modułach, aby móc z nich korzystać? Ta seria Instructabl
Ploter wartości analogowych Arduino: 4 kroki
Arduino Analog Value Plotter: Jakiś czas temu pomyślałem, że przydałby się wykres dla moich wyjść analogowych. Pomogłoby to w debugowaniu moich wyjść, dało mi ogólne pojęcie o ograniczeniach czujnika i tak dalej, a nawet byłoby po prostu całkiem fajnym interfejsem dla dowolnego czujnika
Robot autonomiczny Wallace - część 4 - dodanie czujników odległości na podczerwień i czujników „wzmacniacza”: 6 kroków
Robot autonomiczny Wallace – część 4 – Dodaj czujniki odległości na podczerwień i czujniki „wzmacniacza”: Witam, dzisiaj rozpoczynamy kolejny etap ulepszania możliwości Wallace'a. W szczególności staramy się poprawić jego zdolność wykrywania i omijania przeszkód za pomocą czujników odległości na podczerwień, a także wykorzystać możliwości kontrolera silnika Roboclaw
Dziedzictwo - Ceramika w kontekście technik cyfrowych i analogowych 2015: 3 kroki (ze zdjęciami)
Dziedzictwo – ceramika w kontekście technik cyfrowych i analogowych 2015: Do tej pory ceramika była rzemiosłem, które miało niewielki wpływ cyfrowy. Z tego powodu połączenie tego rzemiosła z nową technologią było ekscytujące. Punktem wyjścia była starożytna forma i styrocutter CNC.DESIGNBOOM