„Instructable“, pravarde ShaneCunningham, autorius siūlo įjungti talpinę relę Arduino programiškai. Iš papildomų dalių reikės tik pačių talpinių jutiklių ir pačių rezistorių. Nėra išorinių aparatūros generatorių. Programinėje įrangoje naminis dalyvauja tai ir tai trečiųjų šalių pokyčiai.
Talpiniai jutikliai - dviejų sluoksnių, trijų kontaktų. Meistras juos padaro daryk pats. Kartono kvadratas, kurio kraštinė yra 300 mm, įklijuojamas folija - tai bus išėjimas, sujungtas su bendrąja viela. Ant jo viršaus uždedamas kartono kvadratas, kurio kraštinė 100 mm, taip pat priklijuota folija. Ant jo folijos sluoksnis yra padalintas į dvi dalis išilgai kontūro, panašus į stačiakampių impulsų oscilogramą. Tai bus dar dvi išvados.
Kiekvienas pagamintas jutiklis turi 1 MΩ varžą. Jei yra tik vienas jutiklis, prijunkite jį, kaip parodyta žemiau. Jei jų yra keli, turėsite naudoti Arduino išvadas - dvi kiekvienam jutikliui - ir atsižvelgti į tai eskize.
Štai ką daro vedlys:
Sudaro eskizą, kuris siunčia duomenis iš jutiklio per nuosekliąją sąsają:
//---- / / / / / / / / / / / / / / / / / / / / / / / / - / / / /
tuščia kilpa () {
long total1 = cs_4_2.capacitiveSensor (30);
Serial.println (viso1);
//---- / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
Ryšio su duomenų apdorojimu per serialą kodas
* /
int val1 = 0;
int val2 = 0;
int val3 = 0;
int inByte = 0;
„CapacitiveSensor“ cs_4_2 = „CapacitiveSensor“ (4.2); // 1M rezistorius tarp 4 ir 2 kaiščių, 2 kaištis yra jutiklio kaištis, jei reikia, pridėkite laidą ir arba foliją
„CapacitiveSensor“ cs_4_6 = „CapacitiveSensor“ (4.6); // 1M rezistorius tarp 4 ir 6 kaiščių, 6 kaištis yra jutiklio kaištis, pridėkite laidą ir arba foliją
negaliojanti sąranka () {
cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // 1 kanale išjunkite automatinį kalibravimą - tik kaip pavyzdį
cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);
„Serial.begin“ (9600);
pinMode (2, INPUT);
pinMode (6, INPUT);
// pinMode (8, INPUT);
nustatytiContact (); // nusiųskite baitą užmegzti kontaktą, kol imtuvas atsakys
tuščia kilpa () {
// Jei gausime teisingą baitą, skaitykite įvestis:
if (Serialas prieinamas ()> 0) {
// gauti gaunamą baitą:
inByte = Serial.read ();
// ilgas startas = millis ();
long total1 = cs_4_2.capacitiveSensor (30);
ilgas total2 = cs_4_6.capacitiveSensor (30);
// long total3 = cs_4_8.capacitiveSensor (30);
// delsimas (10);
val1 = žemėlapis (viso1, 700, 2300, 0, 255); // jutiklio vertės nuo kalibravimo priskiriamos čia - pradedamas aptikti žmogaus artumas esant 700 (4 “atstumu), ranka beveik liečiant jutiklį esant 2300
val2 = žemėlapis (viso2, 30, 175, 0, 255);
// val3 = žemėlapis (viso3, 0, 13000, 0, 255);
Serial.write (val1);
Serial.write (val2);
//Serial.write(val3);
//Serial.print(val1);
// delsimas (50);
}
negaliojanti steigiamojo kontakto () {
tuo tarpu (Serial.a available () <= 0) {
Serial.print ('A');
vėlavimas (300); }
Vedlys organizuoja tolesnę gaunamos informacijos analizę asmeniniame kompiuteryje Apdorojimo aplinkoje.
Bet tai tik eksperimento pradžia. Ateityje jį galėsite naudoti apdorodami „Arduino“ jutiklių signalus - tą patį dalyką arba, jei jo išteklių nepakanka, dar vieną.