» електроника » Arduino »Софтуерна реализация на капацитивни релета на Arduino

Капацитна релейна реализация на Arduino





Авторът на Instructables под псевдонима ShaneCunningham предлага да се приложи капацитивно реле Arduino софтуер. От допълнителните части ще са необходими само капацитивни сензори и резистори. Без външни хардуерни генератори. В софтуера домашно ангажиран това и това разработки на трети страни.

Капацитивни сензори - двуслойни, триконтактни. Майсторът ги прави направете го сами, Картонен квадрат със страна 300 мм се залепва с фолио - това ще бъде изходът, свързан към общата жица. Отгоре се поставя картонен квадрат със страна 100 мм, също залепен с фолио. Върху него слоят фолио е разделен на две части по контур, подобен на осцилограма на правоъгълни импулси. Това ще бъдат още два извода.





Всеки от произвежданите сензори е оборудван с 1 MΩ резистор. Ако има само един сензор, свържете го, както е показано по-долу. Ако има няколко от тях, ще трябва да използвате заключенията на Arduino - два на датчик - и да вземете това предвид в скицата.



Ето какво прави съветникът:






Съставя скица, която изпраща данни, взети от сензора през сериен интерфейс:

///////////////////////////////////////

void loop () {
long total1 = cs_4_2.capacitiveSensor (30);

Serial.println (общо1);

/////////////////////////////////////////

Код за комуникация с обработка през сериен

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M резистор между щифтове 4 и 2, щифт 2 е сензорна щифт, добавете тел и / или фолио, ако желаете

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M резистор между щифтове 4 и 6, щифт 6 е ​​сензорна щифт, добавете жица и или фолио

настройка за невалидност () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // изключете автоматично калибриране по канал 1 - само като пример

cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);

Serial.begin (9600);

pinMode (2, INPUT);

pinMode (6, INPUT);

// pinMode (8, INPUT);

createContact (); // изпрати байт за установяване на контакт, докато получателят не отговори

void loop () {

// ако получим валиден байт, прочетете входове:

ако (Serial.available ()> 0) {

// получаване на входящ байт:

inByte = Serial.read ();

// дълъг старт = millis ();

long total1 = cs_4_2.capacitiveSensor (30);

long total2 = cs_4_6.capacitiveSensor (30);

// long total3 = cs_4_8.capacitiveSensor (30);

// забавяне (10);

val1 = карта (общо1, 700, 2300, 0, 255); // стойностите на сензора от калибрирането са картографирани тук - започва да открива близостта на човека на 700 (4 "разстояние), ръката почти докосва сензора на 2300

val2 = карта (общо2, 30, 175, 0, 255);

// val3 = карта (общо3, 0, 13000, 0, 255);

Serial.write (val1);

Serial.write (val2);

//Serial.write(val3);

//Serial.print(val1);

// забавяне (50);

}

void createContact () {

докато (Serial.available () <= 0) {

Serial.print ('A');

забавяне (300); }


Помощникът организира допълнителен анализ на входящата информация на компютър в среда за обработка.












Но това е само началото на експеримента. В бъдеще можете да го използвате за обработка на сигнали от Arduino сензори - същото нещо, или, ако ресурсите му не са достатъчни, още едно.
0
0
0

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо

Съветваме ви да прочетете:

Предайте го за смартфона ...