步驟1:零件
我正在使用ESP32 Feather,但其他任何功能都可以使用
1 5v繼電器
1 TIP31C轉換器
1個BLE服務器設備(任何信標設備)
由于ESP32的3V3數字輸出電壓和電流不足,因此TIP31C用于控制繼電器的方式
繼電器控制120V燈光,腕帶可檢測到人的存在。
步驟2:電路

此很簡單,ESP32的引腳號33到達晶體管的基極,因此我們可以添加5V VCC信號,并通過3V3電壓輸出控制更大的電壓,然后,通過繼電器我們可以控制120V
步驟3:代碼
#include “BLEDevice.h”
int Lampara = 33;
int Contador = 0; static BLEAddress *pServerAddress;
BLEScan* pBLEScan;
BLEClient* pClient;
bool deviceFound = false;
bool Encendida = false;
bool BotonOff = false; String knownAddresses[] = { “your:device:mac:address”};
unsigned long entry; static void notifyCallback(
BLERemoteCharacteristic* pBLERemoteCharacteristic,
uint8_t* pData,
size_t length,
bool isNotify) {
Serial.print(“Notify callback for characteristic ”);
Serial.print(pBLERemoteCharacteristic-》getUUID().toString().c_str());
Serial.print(“ of data length ”);
Serial.println(length);
} class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks {
void onResult(BLEAdvertisedDevice Device){
//Serial.print(“BLE Advertised Device found: ”);
//Serial.println(Device.toString().c_str());
pServerAddress = new BLEAddress(Device.getAddress());
bool known = false;
bool Master = false;
for (int i = 0; i 《 (sizeof(knownAddresses) / sizeof(knownAddresses[0])); i++) {
if (strcmp(pServerAddress-》toString().c_str(), knownAddresses[i].c_str()) == 0)
known = true;
}
if (known) {
Serial.print(“Device found: ”);
Serial.println(Device.getRSSI());
if (Device.getRSSI() 》 -85) {
deviceFound = true;
}
else {
deviceFound = false;
}
Device.getScan()-》stop();
delay(100);
}
}
}; void setup() {
Serial.begin(115200);
pinMode(Lampara,OUTPUT);
digitalWrite(Lampara,LOW);
BLEDevice::init(“”);
pClient = BLEDevice::createClient();
pBLEScan = BLEDevice::getScan();
pBLEScan-》setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
pBLEScan-》setActiveScan(true);
Serial.println(“Done”);
} void Bluetooth() {
Serial.println();
Serial.println(“BLE Scan restarted.。..。”);
deviceFound = false;
BLEScanResults scanResults = pBLEScan-》start(5);
if (deviceFound) {
Serial.println(“Encender Lamara”);
Encendida = true;
digitalWrite(Lampara,HIGH);
Contador = 0;
delay(10000);
}
else{
digitalWrite(Lampara,LOW);
delay(1000);
}
} void loop() {
Bluetooth();
}
步驟4:用于燈光控制的PCB
我在原型PCB上制作了這個電路,以使事情變得更干凈。
第5步:完成
然后您完成了!
您可以使用此代碼打開門,或控制其他事情
責任編輯:wv
-
檢測器
+關注
關注
1文章
936瀏覽量
49954 -
藍牙
+關注
關注
119文章
6317瀏覽量
178793
發布評論請先 登錄
MAX6375 - MAX6380:超低功耗電壓檢測器的卓越之選
探索MAX6754 - MAX6764低功耗窗口檢測器:特性、應用與設計要點
超低功耗電壓檢測器ADM8641/ADM8642:設計與應用解析
MAX6461 - MAX6466:超低功耗電壓檢測器與微處理器監控電路
MAX6754 - MAX6764低功耗單/雙電壓窗口檢測器:設計與應用指南
MAX6754 - MAX6764:低功耗單/雙電壓窗口檢測器的全面解析
MAX22707:低功耗精密過零檢測器的設計與應用
低功耗單/雙電壓窗口檢測器MAX6754 - MAX6764:設計與應用指南
?基于STEVAL-BLUEPIRV1的藍牙低功耗運動檢測技術解析
低功耗、低功耗前端模塊,適用于藍牙?信號范圍擴展應用 skyworksinc
低功耗藍牙網關在智慧工地上的使用
藍牙低功耗模塊的原理和應用介紹
TPS3780 漏極開路、低功耗、雙電壓檢測器,采用小型 μSON 封裝數據手冊
TPS3779 推挽式、低功耗、雙電壓檢測器數據手冊
低功耗藍牙和經典藍牙,到底怎么選?
藍牙低功耗存在檢測器的制作教程
評論