Search Code

Samouczek ESP32 18/55 - Wykrywanie przechyłu za pomocą ESP32 | Zestaw edukacyjny IoT ESP32 od SunFounder

Samouczek ESP32 18/55 - Wykrywanie przechyłu za pomocą ESP32 | Zestaw edukacyjny IoT ESP32 od SunFounder

W tym samouczku użyjemy mikrokontrolera SunFounder ESP32 do stworzenia prostego projektu, który wykrywa przechylenie za pomocą przełącznika pochylenia. Gdy przełącznik pochylenia zostanie aktywowany, dioda LED zgaśnie, a gdy znajduje się w pozycji pionowej, dioda LED się zapali. Ten projekt to nie tylko świetne wprowadzenie do pracy z czujnikami pochylenia, ale także stanowi podstawę dla różnych zastosowań robotycznych. Aby uzyskać szczegółowy przewodnik wizualny, koniecznie obejrzyj wideo powyżej (na wideo o 00:00).

przełącznik_pochylenia

Wyjaśnienie sprzętu

Główne komponenty użyte w tym projekcie to mikrokontroler ESP32, przełącznik pochylenia oraz dioda LED. ESP32 to wydajny mikrokontroler z wbudowanym Wi-Fi i Bluetooth, co czyni go idealnym do zastosowań IoT. Przełącznik pochylenia to proste urządzenie zawierające metalową kulkę wewnątrz puszki. Po przechyleniu kulka przesuwa się i przerywa obwód, co pozwala nam wykryć stan pochylenia. Dioda LED będzie wizualnie wskazywać stan pochylenia na podstawie stanu przełącznika. Oprócz tych komponentów użyjemy również rezystorów do ograniczania prądu i podciągania do masy. Rezystor 220 omów podłączony do diody LED zapewnia bezpieczną pracę diody bez pobierania zbyt dużego prądu. Rezystor 10k omów działa jako podciąganie do masy dla przełącznika pochylenia, zapewniając, że pin wejściowy odczytuje znany stan, gdy przełącznik nie jest aktywowany.

Szczegóły z karty katalogowej

Producent SunFounder
Numer części ESP32
Napięcie logiczne/IO 3,3 V
Napięcie zasilania 5 V
Prąd wyjściowy (na kanał) 12 mA
Prąd szczytowy (na kanał) 40 mA
Zalecana częstotliwość PWM 1 kHz
Progi logiczne wejścia 0,8 V (niski), 2,0 V (wysoki)
Spadek napięcia / RDS(on) / nasycenie 0,2 V
Limity termiczne 85 °C
Obudowa Moduł ESP32
Uwagi / warianty Obejmuje możliwości Wi-Fi i Bluetooth

 

  • Zapewnij odpowiednie wartości rezystorów, aby zapobiec uszkodzeniu diody LED.
  • Utrzymuj okablowanie w porządku, aby uniknąć zwarć.
  • Użyj rezystorów podciągających do masy, aby zapewnić stabilne odczyty z przełącznika pochylenia.
  • Przetestuj połączenia przed zasileniem obwodu, aby uniknąć awarii komponentów.
  • Sprawdź orientację przełącznika pochylenia, aby zapewnić dokładne działanie.

Instrukcje okablowania

ESP32-18_tile_wiring

Aby podłączyć komponenty, zacznij od przełącznika pochylenia, który nie ma polaryzacji, więc można go podłączyć w dowolnym kierunku. Podłącz jeden pin przełącznika pochylenia do zasilania 3,3 V, a drugi pin do pinu 14 na ESP32. Aby zapewnić, że pin 14 odczytuje znany stan, gdy przełącznik nie jest aktywowany, podłącz rezystor 10k omów z tego samego pinu do masy. Następnie weź diodę LED i umieść ją na płytce stykowej, podłączając dłuższą nóżkę (anodę) do rezystora 220 omów. Podłącz drugi koniec rezystora do pinu 26 na ESP32. Krótsza nóżka (katoda) diody LED powinna być podłączona do masy. Na koniec podłącz pin masy ESP32 do szyny masy na płytce stykowej, a pin 3,3 V do szyny zasilania. Upewnij się, że dokładnie sprawdziłeś wszystkie połączenia, aby zapobiec zwarciom lub błędnym odczytom. Jeśli wykonasz te kroki, powinieneś mieć funkcjonalny zestaw czujnika pochylenia gotowy do programowania.

Przykłady kodu i omówienie

Kod zaczyna się od zdefiniowania numerów pinów dla przełącznika pochylenia i diody LED. Przełącznik pochylenia jest podłączony do pinu 14, a dioda LED do pinu 26. Stan przełącznika pochylenia jest przechowywany w zmiennej tiltState.


// Ustaw numery pinów
const int tiltPin = 14;  // Przełącznik pochylenia
const int ledPin = 26;   // Dioda LED

// Zmienna do przechowywania stanu pochylenia
int tiltState = 0;

Ten fragment pokazuje przypisania pinów i deklarację zmiennej, która będzie śledzić stan pochylenia. tiltPin jest ustawiony jako wejście do odczytu stanu przełącznika. W funkcji setup() inicjalizowana jest komunikacja szeregowa, a tryby pinów są ustawiane dla przełącznika pochylenia i diody LED. Zapewnia to, że ESP32 może odczytywać wejście z przełącznika pochylenia i odpowiednio sterować diodą LED.


void setup() {
  Serial.begin(115200);
  // Inicjalizuj pin pochylenia jako wejście
  pinMode(tiltPin, INPUT);
  // Inicjalizuj pin diody LED jako wyjście
  pinMode(ledPin, OUTPUT);
}

Ta sekcja jest kluczowa, ponieważ konfiguruje środowisko, umożliwiając ESP32 skuteczną komunikację i kontrolę wyjścia na podstawie stanu przełącznika pochylenia. Funkcja loop() ciągle sprawdza stan przełącznika pochylenia. Jeśli przełącznik jest w pozycji pionowej, dioda LED się zapali; jeśli jest przechylony, dioda LED zgaśnie. Aktualny stan jest drukowany na monitorze szeregowym w celu debugowania.


void loop() {
  // Odczytaj stan przełącznika pochylenia
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // Jeśli przełącznik jest w pozycji pionowej
  if (tiltState == HIGH) {
    // Włącz diodę LED
    digitalWrite(ledPin, HIGH);
  } else {
    // Wyłącz diodę LED
    digitalWrite(ledPin, LOW);
  }
}

Ta pętla działa ciągle, umożliwiając monitorowanie stanu przełącznika pochylenia w czasie rzeczywistym i odpowiednią kontrolę diody LED. Wynik można obserwować na monitorze szeregowym, co ułatwia weryfikację działania.

Demonstracja / Czego się spodziewać

Gdy wszystko jest poprawnie podłączone, a kod został wgrany, powinieneś zobaczyć, że dioda LED zapala się, gdy przełącznik pochylenia jest w pozycji pionowej, i gaśnie po przechyleniu. Ta bezpośrednia zależność między stanem przechylenia a reakcją diody LED skutecznie pokazuje działanie przełącznika pochylenia. Częste błędy obejmują upewnienie się, że okablowanie jest poprawne oraz sprawdzenie, czy rezystory są odpowiednio umieszczone, aby uniknąć zwarć (na filmie w 12:00).

Znaczniki czasowe wideo

  • 00:00 Start
  • 1:44 Wprowadzenie do projektu
  • 2:49 Dokumentacja
  • 6:43 Wyjaśnienie okablowania Arduino
  • 10:39 Wyjaśnienie kodu Arduino
  • 13:40 Wybór płytki ESP32 i portu COM w Arduino IDE
  • 15:22 Demonstracja działania przechylenia projektu

Obrazy

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
Język: C++
// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

void setup() {
  Serial.begin(115200);
  // Initialize the tilt pin as an input
  pinMode(tiltPin, INPUT);
  // Initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Read the state of the tilt switch
  tiltState = digitalRead(tiltPin);

  Serial.println(tiltState);
  // If the switch is upright
  if (tiltState == HIGH) {
    // Turn LED on
    digitalWrite(ledPin, HIGH);

  } else {
    // Turn LED off
    digitalWrite(ledPin, LOW);
  }
}

Zasoby i odniesienia

Pliki📁

Brak dostępnych plików.