冰楓論壇

標題: ESP32S [打印本頁]

作者: 洪嵐峰    時間: 2023-4-11 06:52
標題: ESP32S
ESP32S是一種功能強大的Wi-Fi和藍牙模組,可用於製作各種智能設備,包括智能門鈴。以下是一些概括的步驟,以幫助您開始製作ESP32S智能門鈴:

集成硬件:您需要購買一些硬件,例如ESP32S開發板、繼電器模塊、按鈕、無源蜂鳴器、可變電阻器和一個外部電源,以及其他必要的零件。

連接硬件:根據硬件的腳位圖和ESP32S的引腳定義,將各個模塊連接到ESP32S開發板上。例如,您可以將繼電器模塊連接到ESP32S的GPIO引腳上,並將按鈕和可變電阻器連接到其他GPIO引腳上。

編寫代碼:使用Arduino IDE和ESP32S的開發庫,編寫代碼以實現門鈴的功能。您需要編寫代碼以檢測按鈕的按下事件,啟動繼電器模塊,並控制無源蜂鳴器發出聲音。同時,您還可以添加一些額外的功能,例如使用Wi-Fi或藍牙設置門鈴的音量或音調。

上傳代碼:完成代碼後,將其上傳到ESP32S開發板上,然後將開發板連接到電源和門鈴電路中。

總體而言,ESP32S是製作智能門鈴的一個強大的平台,它具有豐富的硬件和軟件資源,可以實現各種功能。

ESP32S智能門鈴的零件清單、腳位連接和程式碼。

零件清單:
ESP32S模塊
USB Type-C電源線
0.96寸OLED顯示屏
5V主板繼電器模塊
電容:100μF、10μF
電阻:10kΩ
喇叭
按鈕
腳位連接:
ESP32S模塊與其他模塊之間的連接如下:

ESP32S的D5腳位連接到5V主板繼電器模塊的IN1腳位
ESP32S的D4腳位連接到按鈕的一端,另一端連接到GND
ESP32S的D21腳位連接到喇叭的正極,另一端連接到GND
ESP32S的3V3和GND腳位連接到OLED顯示屏的對應腳位
ESP32S的D22和D23腳位連接到OLED顯示屏的SDA和SCL腳位
ESP32S的VIN腳位連接到5V主板繼電器模塊的VCC腳位
ESP32S的GND腳位連接到5V主板繼電器模塊的GND腳位
ESP32S的EN腳位連接到3.3V電源線的一端,另一端連接到GND

程式碼:

#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_SDA 23
#define OLED_SCL 22
#define OLED_RST 16
Adafruit_SSD1306 display(OLED_SDA, OLED_SCL, OLED_RST);

#define BUTTON_PIN 4
#define RELAY_PIN 5
#define SPEAKER_PIN 21

void setup() {
  Serial.begin(115200);

  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(RELAY_PIN, OUTPUT);
  pinMode(SPEAKER_PIN, OUTPUT);

  digitalWrite(RELAY_PIN, LOW);
  digitalWrite(SPEAKER_PIN, LOW);

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.display();
}

void loop() {
  if (digitalRead(BUTTON_PIN) == LOW) {
    display.clearDisplay();
    display.setTextSize(2);
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(0,0);
    display.println("Doorbell pressed!");
    display.display();

    digitalWrite(RELAY_PIN, HIGH);
    tone(SPEAKER_PIN, 1000);
    delay(500);
    digitalWrite(RELAY_PIN, LOW);
    noTone(SPEAKER_PIN);

    delay(2000);

    display.clearDisplay();
    display.display();
  }
}




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓