Wireless kov hloov nrog ntxiv fluorescent backlight

Ua tsaug rau txhua tus nyeem ntawm "DIY lossis Ua Koj Tus Kheej" ntu ntawm Habr! Hnub no tsab xov xwm yuav hais txog tus kov hloov ntawm TTP223 nti | daim ntawv qhia. Qhov hloov ua haujlwm ntawm nRF52832 microcontroller | daim ntawv qhia, YJ-17103 module nrog lub kav hlau txais xov luam tawm thiab txuas rau lub kav hlau txais xov sab nraud MHF4 tau siv. Lub kov hloov ua haujlwm ntawm CR2430 lossis CR2450 roj teeb. Kev noj haus hauv hom kis tsis pub dhau 8 mA, hauv hom pw tsaug zog tsis tshaj 6 µA.
Wireless kov hloov nrog ntxiv fluorescent backlight

Zoo li tag nrho cov haujlwm dhau los, qhov no kuj yog qhov project Arduino, qhov kev zov me nyuam tau sau rau hauv Arduino IDE. Kev siv software ntawm lub cuab yeej yog ua raws li Mysensors raws tu qauv | GitHub cov tsev qiv ntawv, nRF5 board txhawb GitHub hauv Mysensors. English-language community forum - http://forum.mysensors.org, Lavxias teb sab lub rooj sab laj - http://mysensors.ru/forum/
(Rau cov uas xav kawm - Ntaub ntawv, Cov Txheej Txheem Txheej Txheem, API, Raws tu qauv, parser | rau cov uas xav pab (kev koom tes) nyob rau hauv txoj kev loj hlob ntawm qhov project - Ntaub ntawv)

Lub rooj sib tham kov tau tsim nyob rau hauv qhov kev pab cuam Deeptrace, suav nrog kev tsim khoom tom qab siv Laser Ironing Technology (LUT) txoj kev. Lub rooj tsavxwm tau tsim nyob rau hauv qhov ntev ntawm 60x60mm (ib qho qauv iav vaj huam sib luag muaj qhov ntev ntawm 80x80mm). Lub voj voog tau luam tawm rau ntawm nplooj ntawv ntawm Kav hlau txais xov xov xwm thiab pauv nrog Bosch hlau nrog "Len" teeb tsa (lub zog siab tshaj plaws) mus rau ob sab ntawv ci fiberglass board 1.5mm, 35µm (tsis muaj lwm qhov).
Wireless kov hloov nrog ntxiv fluorescent backlight

Etching yog nqa tawm nrog ib tug daws ntawm ferric chloride, yav tas los npaj nyob rau hauv lub proportions ntawm 1.5 teaspoons ib 250 ml ntawm dej sov. Cov txheej txheem siv sijhawm 15 feeb.
Kev sib tsoo qhov rau interlayer vias thiab rau fastening lub roj teeb tuav tau ua nrog ib tug DREMEL 3000 mini-drill mounted ntawm ib tug DREMEL 220 laum stand. Qhov rau interlayer vias tau drilled nrog ib tug 0,4 hli laum, qhov rau lub roj teeb tuav nrog ib tug 1,1 hli laum. . Trimming raws ciam teb ntawm lub rooj tsavxwm tau ua tiav nrog tib lub laum mini nrog DREMEL 540 txuas (Txiav lub voj voog d = 32.0mm). Pruning tau ua tiav hauv lub tshuab ua pa.
Tinning ntawm etched board yog ua tiav siv Rose alloy nyob rau hauv ib tug aqueous tov (1 teaspoon ntawm crystallized citric acid ib 300 ml ntawm dej).

Cov txheej txheem soldering tau siv li ib teev, feem ntau yog siv cov hlau nplaum (tinned, 0.4 mm inch) nyob rau hauv lub qhov rau interlayer vias.

Lub rooj tsavxwm tau ntxuav nrog FLUX OFF aerosol cleaner.
Wireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Tus tsim ntawm lub cev ntaus ntawv tau ua nyob rau hauv ib tug peb-dimensional computer-aided tsim editor. Case loj 78,5mm X 78,5mm X 12mm.
Wireless kov hloov nrog ntxiv fluorescent backlight

Cov qauv ua tiav ntawm cov ntaub ntawv thiab lub roj teeb npog npog tau khaws cia hauv STL hom, tom qab ntawd nws yog qhov tsim nyog los npaj cov qauv no rau luam tawm ntawm lub tshuab luam ntawv SLA (ntxiv cov kev txhawb nqa, kev taw qhia). Nyob rau theem no, ib qho teeb meem me me tshwm sim, txij li qhov chaw luam tawm ntawm tsev neeg SLA tshuab luam ntawv me me. Cov qauv ntawm cov ntaub ntawv ntaus ntawv nyob rau hauv qhov zoo tshaj plaws txoj hauj lwm txheeb ze rau lub sij hawm luam ntawv tsis haum rau qhov ntev ntawm lub printing cheeb tsam. Thaum tso tus qauv ntawm 45 degrees, nws kuj tau ua rau poob siab; qhov hnyav ntawm kev txhawb nqa yog sib npaug rau qhov hnyav ntawm lub cev qauv. Nws tau txiav txim siab los luam tus qauv vertically, ua kev txhawb nqa ntawm ib qho ntawm sab xub ntiag, tau pom zoo ua ntej nrog qhov tseeb ntawm kev ua haujlwm tom qab. Kev luam ntawv lub cev siv 5 teev nrog txheej txheej ntawm 50 microns. Tom ntej no, kev ua haujlwm tau ua tiav siv cov ntawv xuab zeb zoo heev (Kuv yuav tsis sau tus lej vim kuv tsis paub :)). Lub roj teeb npog siv sijhawm 40 feeb los luam tawm.
Wireless kov hloov nrog ntxiv fluorescent backlight

Iav panels los ntawm Aliexpress yog muag nrog ib tug yas thav duab twb glued; tsis muaj teeb meem nrog tshem cov thav duab. Kuv tshem tawm lub iav vaj huam sib luag tom qab preheat nws nrog lub tshuab ziab khaub ncaws tsis tu ncua.
Wireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Lub diffuser rau LED backlight yog ua los ntawm ob-sided daim kab xev nrog acrylic nplaum 3M 9088-200. Rau cov teeb pom kev zoo fluorescent muaj ntau cov ntaub ntawv xaiv los ntawm, Suav daim nplaum nplaum thiab daim ntawv nplaum txiav rau hauv daim kab xev los ntawm lub tuam txhab Luminofor. Qhov kev xaiv tau ua nyob rau hauv kev pom zoo ntawm cov chaw tsim khoom hauv tsev; raws li kuv txoj kev xav, nws ci ntsa iab thiab ntev dua. Ib daim ntawv square nrog fluorescent pigment yog glued rau sab saum toj nrog 3M 9088-200 ob-sided daim kab xev.

Cov iav tau muab khi rau ntawm lub cev hloov siv ob-sided daim kab xev nrog 3M VHB 4910 acrylic nplaum.
Wireless kov hloov nrog ntxiv fluorescent backlight

Lub hau yog tsau nrog ib tug ntsia hlau M 1,4 X 5 mm.

Tus nqi ntawm cov cuab yeej yog 890 rubles.

Tom ntej no tuaj qhov kev pab cuam. Muaj qee qhov teeb meem. Nws hloov tawm tias TTP223 sensor chips ua haujlwm zoo nrog lub zog ruaj khov 3.3V thiab tsis zoo heev thaum siv hluav taws xob ncaj qha los ntawm lub roj teeb zoo. Thaum pib lub cuab yeej nrog lub zog hluav taws xob nyob ib puag ncig 2.5v, ntxiv rau tom qab ntxiv "drawdown" thaum ua haujlwm tawm ntawm Mysensors kev nthuav qhia, TTP223 microcircuit (tam sim ntawd tom qab calibration) ua rau muaj kev cuam tshuam ntawm MK txij li thaum nws yog nrog lub zog ua haujlwm.

Lub hwj chim muab hluav taws xob rau lub microcircuit tau hloov pauv (kev tswj fais fab TTP223 nrog gpio MK), ntxiv hauv av tau muab, thiab cov resistors nrog kev tiv thaiv siab dua tau hloov ntawm rgb coj kab (uas khiav ntawm sab nraud ntawm lub rooj tsav xwm capacitive). Nws kuj tau ntxiv rau software: ua kom lub zog rau lub capacitive microcircuit tom qab pib Mysensors moj khaum thiab ua haujlwm tawm qhov kev nthuav qhia. Qhov ncua sij hawm rau nws pib-calibration ntawm TTP223 nti thaum lub zog siv tau muab ob npaug rau. Tag nrho cov kev hloov no tau tshem tawm qhov teeb meem no.

Ua ntej saib qhov program code, kuv xav kom koj paub koj tus kheej nrog cov qauv ntawm cov duab kos hauv Mysensors.void before()
{
// Дополнительная функция, если сравнивать со стандартной структурой Ардуино скетчей, то before() это подобие setup(), отработка происходит до инициализации транспортного уровня Mysensors, рекомендуется например для инициализации устройств SPI
}

void setup()
{

}

void presentation()
{
//Тут происходит презентация ноды и ее сенсоров на контролере через маршрутизатор
sendSketchInfo("Name of my sensor node", "1.0"); // презентация названия ноды, версии ПО
present(CHILD_ID, S_WHATEVER, "Description"); // презентация сенсоров ноды, описания сенсоров
}

void loop()
{

}

Kov hloov qhov program xeem code:test_sens.ino
/**
ТЕСТОВЫЙ СКЕТЧ СЕНСОРНОГО ВЫКЛЮЧАТЕЛЯ С ПРЕРЫВАНИЯМИ НА NRF_LPCOMP
*/
bool button_flag;
bool sens_flag;
bool send_flag;
bool detection;
bool nosleep;
byte timer;
unsigned long SLEEP_TIME = 21600000; //6 hours
unsigned long oldmillis;
unsigned long newmillis;
unsigned long interrupt_time;
unsigned long SLEEP_TIME_W;
uint16_t currentBatteryPercent;
uint16_t batteryVoltage = 0;
uint16_t battery_vcc_min = 2400;
uint16_t battery_vcc_max = 3000;

#define MY_RADIO_NRF5_ESB
//#define MY_PASSIVE_NODE
#define MY_NODE_ID 30
#define MY_PARENT_NODE_ID 0
#define MY_PARENT_NODE_IS_STATIC
#define MY_TRANSPORT_UPLINK_CHECK_DISABLED
#define IRT_PIN 3 //(PORT0, gpio 5)
#include <MySensors.h>
// see https://www.mysensors.org/download/serial_api_20
#define SENS_CHILD_ID 0
#define CHILD_ID_VOLT 254
MyMessage sensMsg(SENS_CHILD_ID, V_VAR1);
//MyMessage voltMsg(CHILD_ID_VOLT, V_VOLTAGE);

void preHwInit() {
sleep(2000);
pinMode(RED_LED, OUTPUT);
digitalWrite(RED_LED, HIGH);
pinMode(GREEN_LED, OUTPUT);
digitalWrite(GREEN_LED, HIGH);
pinMode(BLUE_LED, OUTPUT);
digitalWrite(BLUE_LED, HIGH);
pinMode(MODE_PIN, INPUT);
pinMode(SENS_PIN, INPUT);
}

void before()
{
NRF_POWER->DCDCEN = 1;
NRF_UART0->ENABLE = 0;
sleep(1000);
digitalWrite(BLUE_LED, LOW);
sleep(150);
digitalWrite(BLUE_LED, HIGH);
}

void presentation() {
sendSketchInfo("EFEKTA Sens 1CH Sensor", "1.1");
present(SENS_CHILD_ID, S_CUSTOM, "SWITCH STATUS");
//present(CHILD_ID_VOLT, S_MULTIMETER, "Battery");
}

void setup() {
digitalWrite(BLUE_LED, LOW);
sleep(100);
digitalWrite(BLUE_LED, HIGH);
sleep(200);
digitalWrite(BLUE_LED, LOW);
sleep(100);
digitalWrite(BLUE_LED, HIGH);
lpComp();
detection = false;
SLEEP_TIME_W = SLEEP_TIME;
pinMode(31, OUTPUT);
digitalWrite(31, HIGH);
/*
while (timer < 10) {
timer++;
digitalWrite(GREEN_LED, LOW);
wait(5);
digitalWrite(GREEN_LED, HIGH);
wait(500);
}
timer = 0;
*/
sleep(7000);
while (timer < 3) {
timer++;
digitalWrite(GREEN_LED, LOW);
sleep(15);
digitalWrite(GREEN_LED, HIGH);
sleep(85);
}
timer = 0;
sleep(1000);
}

void loop() {

if (detection) {
if (digitalRead(MODE_PIN) == 1 && button_flag == 0 && digitalRead(SENS_PIN) == 0) {
//back side button detection
button_flag = 1;
nosleep = 1;
}
if (digitalRead(MODE_PIN) == 1 && button_flag == 1 && digitalRead(SENS_PIN) == 0) {
digitalWrite(RED_LED, LOW);
wait(10);
digitalWrite(RED_LED, HIGH);
wait(50);
}
if (digitalRead(MODE_PIN) == 0 && button_flag == 1 && digitalRead(SENS_PIN) == 0) {
nosleep = 0;
button_flag = 0;
digitalWrite(RED_LED, HIGH);
lpComp_reset();
}

if (digitalRead(SENS_PIN) == 1 && sens_flag == 0 && digitalRead(MODE_PIN) == 0) {
//sens detection
sens_flag = 1;
nosleep = 1;
newmillis = millis();
interrupt_time = newmillis - oldmillis;
SLEEP_TIME_W = SLEEP_TIME_W - interrupt_time;
if (send(sensMsg.set(detection))) {
send_flag = 1;
}
}
if (digitalRead(SENS_PIN) == 1 && sens_flag == 1 && digitalRead(MODE_PIN) == 0) {
if (send_flag == 1) {
while (timer < 10) {
timer++;
digitalWrite(GREEN_LED, LOW);
wait(20);
digitalWrite(GREEN_LED, HIGH);
wait(30);
}
timer = 0;
} else {
while (timer < 10) {
timer++;
digitalWrite(RED_LED, LOW);
wait(20);
digitalWrite(RED_LED, HIGH);
wait(30);
}
timer = 0;
}
}
if (digitalRead(SENS_PIN) == 0 && sens_flag == 1 && digitalRead(MODE_PIN) == 0) {
sens_flag = 0;
nosleep = 0;
send_flag = 0;
digitalWrite(GREEN_LED, HIGH);
sleep(500);
lpComp_reset();
}
if (SLEEP_TIME_W < 60000) {
SLEEP_TIME_W = SLEEP_TIME;
sendBatteryStatus();
}
}
else {
//if (detection == -1) {
SLEEP_TIME_W = SLEEP_TIME;
sendBatteryStatus();
}
if (nosleep == 0) {
oldmillis = millis();
sleep(SLEEP_TIME_W);
}
}

void sendBatteryStatus() {
wait(20);
batteryVoltage = hwCPUVoltage();
wait(2);

if (batteryVoltage > battery_vcc_max) {
currentBatteryPercent = 100;
}
else if (batteryVoltage < battery_vcc_min) {
currentBatteryPercent = 0;
} else {
currentBatteryPercent = (100 * (batteryVoltage - battery_vcc_min)) / (battery_vcc_max - battery_vcc_min);
}

sendBatteryLevel(currentBatteryPercent, 1);
wait(2000, C_INTERNAL, I_BATTERY_LEVEL);
//send(powerMsg.set(batteryVoltage), 1);
//wait(2000, 1, V_VAR1);
}

void lpComp() {
NRF_LPCOMP->PSEL = IRT_PIN;
NRF_LPCOMP->ANADETECT = 1;
NRF_LPCOMP->INTENSET = B0100;
NRF_LPCOMP->ENABLE = 1;
NRF_LPCOMP->TASKS_START = 1;
NVIC_SetPriority(LPCOMP_IRQn, 15);
NVIC_ClearPendingIRQ(LPCOMP_IRQn);
NVIC_EnableIRQ(LPCOMP_IRQn);
}

void s_lpComp() {
if ((NRF_LPCOMP->ENABLE) && (NRF_LPCOMP->EVENTS_READY)) {
NRF_LPCOMP->INTENCLR = B0100;
}
}

void r_lpComp() {
NRF_LPCOMP->INTENSET = B0100;
}

#if __CORTEX_M == 0x04
#define NRF5_RESET_EVENT(event)
event = 0;
(void)event
#else
#define NRF5_RESET_EVENT(event) event = 0
#endif

extern "C" {
void LPCOMP_IRQHandler(void) {
detection = true;
NRF5_RESET_EVENT(NRF_LPCOMP->EVENTS_UP);
NRF_LPCOMP->EVENTS_UP = 0;
MY_HW_RTC->CC[0] = (MY_HW_RTC->COUNTER + 2);
}
}

void lpComp_reset () {
s_lpComp();
detection = false;
NRF_LPCOMP->EVENTS_UP = 0;
r_lpComp();
}

MyBoardNRF5.cpp
#ifdef MYBOARDNRF5
#include <variant.h>

/*
* Pins descriptions. Attributes are ignored by arduino-nrf5 variant.
* Definition taken from Arduino Primo Core with ordered ports
*/
const PinDescription g_APinDescription[]=
{
{ NOT_A_PORT, 0, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // LFCLK
{ NOT_A_PORT, 1, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // LFCLK
{ PORT0, 2, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A0, PWM4, NOT_ON_TIMER},
{ PORT0, 3, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A1, PWM5, NOT_ON_TIMER},
{ PORT0, 4, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A2, PWM6, NOT_ON_TIMER},
{ PORT0, 5, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A3, PWM7, NOT_ON_TIMER},
{ PORT0, 6, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT3
{ PORT0, 7, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT4
{ PORT0, 8, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM10, NOT_ON_TIMER}, //USER_LED
{ PORT0, 9, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // NFC1
{ PORT0, 10, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // NFC2
{ PORT0, 11, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TX
{ PORT0, 12, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // RX
{ PORT0, 13, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SDA
{ PORT0, 14, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SCL
{ PORT0, 15, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SDA1
{ PORT0, 16, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SCL1
{ PORT0, 17, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TP4
{ PORT0, 18, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TP5
{ PORT0, 19, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT2
{ PORT0, 20, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT1
{ PORT0, 21, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT1
{ PORT0, 22, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM9, NOT_ON_TIMER},
{ PORT0, 23, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM8, NOT_ON_TIMER},
{ PORT0, 24, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT
{ PORT0, 25, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //RED_LED
{ PORT0, 26, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //GREEN_LED
{ PORT0, 27, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //BLUE_LED
{ PORT0, 28, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A4, PWM3, NOT_ON_TIMER},
{ PORT0, 29, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A5, PWM2, NOT_ON_TIMER},
{ PORT0, 30, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A6, PWM1, NOT_ON_TIMER},
{ PORT0, 31, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A7, PWM0, NOT_ON_TIMER}
};

// Don't remove this line
#include <compat_pin_mapping.h>

#endif

MyBoardNRF5.h
#ifndef _MYBOARDNRF5_H_
#define _MYBOARDNRF5_H_

#ifdef __cplusplus
extern "C"
{
#endif // __cplusplus

// Number of pins defined in PinDescription array
#define PINS_COUNT (32u)
#define NUM_DIGITAL_PINS (32u)
#define NUM_ANALOG_INPUTS (8u)
#define NUM_ANALOG_OUTPUTS (8u)

/*
* LEDs
*
* This is optional
*
* With My Sensors, you can use
* hwPinMode() instead of pinMode()
* hwPinMode() allows to use advanced modes like OUTPUT_H0H1 to drive LEDs.
* https://github.com/mysensors/MySensors/blob/development/drivers/NRF5/nrf5_wiring_constants.h
*
*/
#define PIN_LED1 (16)
#define PIN_LED2 (15)
#define PIN_LED3 (17)
#define RED_LED (PIN_LED1)
#define GREEN_LED (PIN_LED2)
#define BLUE_LED (PIN_LED3)
#define INTERRUPT_PIN (5)
#define MODE_PIN (25)
#define SENS_PIN (27)

/*
* Analog ports
*
* If you change g_APinDescription, replace PIN_AIN0 with
* port numbers mapped by the g_APinDescription Array.
* You can add PIN_AIN0 to the g_APinDescription Array if
* you want provide analog ports MCU independed, you can add
* PIN_AIN0..PIN_AIN7 to your custom g_APinDescription Array
* defined in MyBoardNRF5.cpp
*/
static const uint8_t A0 = ADC_A0;
static const uint8_t A1 = ADC_A1;
static const uint8_t A2 = ADC_A2;
static const uint8_t A3 = ADC_A3;
static const uint8_t A4 = ADC_A4;
static const uint8_t A5 = ADC_A5;
static const uint8_t A6 = ADC_A6;
static const uint8_t A7 = ADC_A7;

/*
* Serial interfaces
*
* RX and TX are required.
* If you have no serial port, use unused pins
* CTS and RTS are optional.
*/
#define PIN_SERIAL_RX (11)
#define PIN_SERIAL_TX (12)

#ifdef __cplusplus
}
#endif

#endif

Qhov hloov pauv muaj lub khawm kov thiab khawm tact nyob rau sab nraum qab ntawm lub cuab yeej. Lub pob tact no yuav raug siv rau hom kev pab cuam, dhau ntawm huab cua khi hom, thiab rov pib dua ntaus ntawv. Lub pob muaj ib tug hlau anti-bounce feature. Cov kab ntawm lub capacitive sensor thiab kab ntawm lub khawm tact yog txuas nrog Schottky diodes thiab txuas nrog analog pin p0.05, thiab tseem los ntawm lub capacitive sensor thiab tact khawm muaj cov kab rau MK pins p0.25 thiab p0.27. .0.05 rau kev nyeem ntawv tom qab ua kom muaj kev cuam tshuam ntawm tus pin p0.05. XNUMX. Ntawm tus pin pXNUMX, kev cuam tshuam los ntawm kev sib piv (NRF_LPCOMP) ntawm EVENTS_UP tau qhib. Tau txais kev tshoov siab los daws qhov teeb meem S, SѓS, и S, SѓS,.

Qhov hloov pauv tau ntxiv rau Mysensors network, tswj hwm los ntawm tus tswj hwm lub tsev ntse Majordomo (ua tsaug)

PHP code rau ntxiv qhov hloov mus rau txoj kev hloov kho tshiab

if (getGlobal("MysensorsButton01.status")==1) {
if (getGlobal('MysensorsRelay04.status') == 0) {
setGlobal('MysensorsRelay04.status', '1');
} else if (getGlobal('MysensorsRelay04.status') == 1) {
setGlobal('MysensorsRelay04.status', '0');
} 
}

Saib qhov tshwm sim hauv video

Wireless kov hloov nrog ntxiv fluorescent backlight

Tom qab ntawd, ib qho kev xaiv tau tsim nrog lub zog hloov pauv, tab sis qhov no tsis cuam tshuam nrog kev ua haujlwm ntawm TTP223 capacitive microcircuit; muaj kev xav ntau dua rau qhov zoo thiab teeb pom kev zoo thaum nias cov yuam sij thoob plaws lub roj teeb lub neej.

SaibWireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Project Github - github.com/smartboxchannel/EFEKTA_WIRELESS_TOUCH_SWITCH

Hais lus Russian zej zog site Mysensors

Telegram tham Mysensors - Kev daws teeb meem ceev nrog Mysensors, cov lus qhia, kev ua kom yuam kev, txhim kho cov laug cam, ua haujlwm nrog atmega 328, stm32, nRF5 microcontrollers hauv Arduino IDE - @mysensors_rus

Qee cov duabWireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Wireless kov hloov nrog ntxiv fluorescent backlight

Tau qhov twg los: www.hab.com

Ntxiv ib saib