Сообщения

Meshtastic ESP32 E22

Изображение
Meshtastic ESP32 E22 ESP32 > E22  GND  > GND  VIN  > VCC   D18 > NSS   D5 > SCK   D27 > MOSI   D19 > MISO   D23 > NRST   D32 > BUSY   D33 > DIO1   ESP32 > OLED  GND  > GND  VIN  > VCC   D22 > SCL   D21 > SDA Прошивку качаем тут https://flasher.meshtastic.org/?ref=adrelien.com  Возможно придется несколько раз вставить усб. Скачиваем программу на телефон Meshtastic    Подключаемся по БТ пароль по умолчанию 123456. Желательно потом поменять в настройках. При первом подключении надо выбрать регион. Для Кишинева это EU868 

gy-ne06mv2

Изображение
gy-ne06mv2 GPS  плата и антенна.  ESP32 > gy-ne06mv2  GND  > GND  3.3V  > VCC   D17 > RX   D16 > TX   main.py      from machine import UART import time uart = UART(2, baudrate=9600, rx=16, tx=17) satellites = 0 def convert_to_degrees(raw, direction):     if not raw:         return None          raw = float(raw)     degrees = int(raw / 100)     minutes = raw - degrees * 100     decimal = degrees + minutes / 60          if direction in ['S', 'W']:         decimal = -decimal              return decimal while True:     if uart.any():         line = uart.readline()                  if line:             try:           ...

DRV8833

Изображение
DRV8833.  DRV8833 управляет двумя моторами (A и B). ESP32-C3 > DRV8833  GND  > GND  5V  > VCC   D6 > IN3   D7 >  IN4   D8 > EEP     DRV8833  > Motor   OUT3  > pin1   OUT4  > pin2   main.py      from machine import Pin, PWM import time A1 = PWM(Pin(4), freq=1000) A2 = PWM(Pin(5), freq=1000) B1 = PWM(Pin(6), freq=1000) B2 = PWM(Pin(7), freq=1000) def motor(p1, p2, speed):     speed = max(-1023, min(1023, speed))     if speed > 0:         p1.duty(speed)         p2.duty(0)     elif speed < 0:         p1.duty(0)         p2.duty(-speed)     else:         p1.duty(0)         p2.duty(0) motor(A1, A2, 700) motor(B1, B2, -500) time.sleep(2) motor(B1, B2, 500) time.sleep(2) motor(A1, A2, 0) motor(B1,...

RCWL-0515

Изображение
RCWL-0515.  - это микроволновой датчик движения, который использует эффект Доплера для обнаружения движущихся объектов (людей, животных и т. п.). Он выдаёт цифровой сигнал HIGH (лог.1), когда движение обнаружено, и LOW (лог.0) — когда движения нет. ESP32-C3 > RCWL-0515  GND  > GND  3V3  > VCC   D2 > >OUT   main.py      from machine import Pin import time # Настройки пинов SENSOR_PIN = 2   # поменяйте на тот GPIO, где у вас OUT LED_PIN = 8       # встроенный светодиод на многих платах ESP32-C3 # Инициализация пинов sensor = Pin(SENSOR_PIN, Pin.IN) led = Pin(LED_PIN, Pin.OUT) last_state = 0  # последнее состояние движения print("Запущено... Ожидание движения") while True:     val = sensor.value()  # прочитать состояние датчика     if val == 1:  # если датчик HIGH         led.off()         if last_state == 0: ...

Touch ESP32

Изображение
Touch ESP32.  Сенсорный датчик.   ESP32 > T  GND  > GND  3V3  > VCC   D4 > IO   main.py      from machine import Pin import time touch = Pin(4, Pin.IN) led = Pin(2, Pin.OUT) state = 0          # состояние светодиода last_touch = 0     # предыдущее состояние кнопки while True:     current = touch.value()     # обнаружение нажатия (фронт)     if current == 1 and last_touch == 0:         state = not state         led.value(state)         time.sleep(0.2)  # антидребезг     last_touch = current     time.sleep(0.01)

WEB ESP32

Изображение
Управление светодиодом через сайт.  Кнопки ВКЛ , ВЫКЛ . Можно подключить реле и управлять лампочкой, розеткой и т д.        Для нормальной работы нужно добавить свои данные SSID , пароль. main.py      import network import time from machine import Pin #from led_driver import print_like_console , print_multiline_console # === НАСТРОЙКИ WI-FI (Измени на свои!) === SSID = "ESP32HUB"         # ←←← Впиши сюда имя своего Wi-Fi PASSWORD = "A1b2c3d4"     # ←←← Впиши сюда пароль # === Пин светодиода === LED_PIN = 2               # встроенный светодиод на большинстве ESP32 led = Pin(LED_PIN, Pin.OUT) led.off() # === Подключаемся к Wi-Fi === wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(SSID, PASSWORD) print("Подключаюсь к Wi-Fi...", SSID) while not wlan.isconnected():     time.sleep(0.5)     print(".", end="") print("\nПодключено!")...

Telegram bot esp32 control

Изображение
Управление светодиодом через ТГ бота.  Кнопки ВКЛ , ВЫКЛ и Статус. Можно подключить реле и управлять лампочкой, розеткой и т д.        Для нормальной работы нужно добавить свои данные SSID , пароль , токен тг бота и ID  пользователя. Токен ТГ бота получаем у бота  @BotFather main.py      # reliable_bot.py import network, time, urequests from machine import Pin import socket WIFI_SSID = "" WIFI_PASS = "" BOT_TOKEN = "" CHAT_ID =  BASE = "https://api.telegram.org/bot" + BOT_TOKEN led = Pin(2, Pin.OUT) led.off() offset = 0 # WiFi helper wlan = network.WLAN(network.STA_IF) def wifi_connect():     wlan.active(True)     if not wlan.isconnected():         print("Connecting WiFi...")         wlan.connect(WIFI_SSID, WIFI_PASS)         t0 = time.time()         while not wlan.isconnected():             # если ...