» elektronika » Težak »Programska implementacija kapacitivnih releja na Arduinu

Izvedba kapacitivnog relejnog softvera na Arduino





Autor Instructables pod nadimkom ShaneCunningham predlaže provedbu kapacitivnog releja na Težak softver. Od dodatnih dijelova bit će potrebni samo kapacitivni senzori i otpornici. Nema vanjskih hardverskih generatora. U softveru domaći uključeni ovo i ovo razvoj trećih strana.

Kapacitivni senzori - dvoslojni, trospolni. Majstor ih pravi učinite to sami, Kartonski kvadrat sa stranicom od 300 mm zalijepljen je folijom - to će biti izlaz spojen na zajedničku žicu. Povrh je postavljen kartonski kvadrat sa stranicom od 100 mm, također zalijepljen folijom. Na njemu je sloj folije podijeljen na dva dijela duž konture slične oscilogramu pravokutnih impulsa. To će biti još dva zaključka.





Svaki proizvedeni senzor opremljen je otpornikom od 1 MΩ. Ako postoji samo jedan senzor, spojite ga kao što je prikazano u nastavku. Ako ih ima nekoliko, morat ćete koristiti Arduino zaključke - dva po senzoru - i to uzeti u obzir u skici.



Evo što čarobnjak radi:






Sastavlja skicu koja putem serijskog sučelja šalje podatke preuzete od senzora:

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

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

Serijski.println (ukupno1);

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

Kôd za komunikaciju s obradom preko serijskog

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M otpornik između iglica 4 i 2, pin 2 je senzorski pin, dodajte žicu i / ili foliju ako želite

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M otpornik između iglica 4 i 6, pin 6 je osjetnik, dodajte žicu i / foliju

poništavanje postave () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // isključite automatsku kalibraciju na kanalu 1 - samo kao primjer

cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);

Serijski počet (9600);

pinMode (2, ULAZ);

pinMode (6, ULAZ);

// pinMode (8, ULAZ);

uspostavitiKontakt (); // poslati bajt za uspostavljanje kontakta sve dok primatelj ne odgovori

void petlja () {

// ako dobijemo važeći bajt, pročitajte unose:

ako je (Serial.available ()> 0) {

// dobiti dolazni bajt:

inByte = Serial.read ();

// dugi start = millis ();

long total1 = cs_4_2.capacitiveSensor (30);

long total2 = cs_4_6.capacitiveSensor (30);

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

// kašnjenje (10);

val1 = karta (ukupno1, 700, 2300, 0, 255); // Vrijednosti senzora iz kalibracije su ovdje mapirane - počinje otkrivati ​​čovjekovu blizinu na udaljenosti 700 (4 "), rukom gotovo dodirujući senzor na 2300

val2 = karta (ukupno2, 30, 175, 0, 255);

// val3 = karta (ukupno3, 0, 13000, 0, 255);

Serijski.pisati (val1);

Serijski.pisati (val2);

//Serial.write(val3);

//Serial.print(val1);

// kašnjenje (50);

}

void createContact () {

dok (Serijski.available () <= 0) {

Serijski.print ('A');

kašnjenje (300); }


Čarobnjak organizira daljnju analizu dolaznih podataka na računalu u okruženju za obradu.












Ali ovo je tek početak eksperimenta. Ubuduće ga možete koristiti za obradu signala iz Arduino senzora - ista stvar ili, ako njezini resursi nisu dovoljni, još jedan.
0
0
0

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...