» elektronikk » Arduino »Programvareimplementering av kapasitive reléer på Arduino

Kapasitiv Relay Software Implementation på Arduino





Forfatteren av Instructables under kallenavnet ShaneCunningham foreslår å implementere et kapasitivt stafett på Arduino programvare. Av tilleggsdelene er det bare kapasitive sensorer og motstander som er nødvendige. Ingen eksterne maskinvaregeneratorer. I programvare hjemmelaget involvert dette og dette tredjepartsutvikling.

Kapasitive sensorer - to-lags, tre-pinners. Mesteren lager dem gjør det selv. Et pappfelt med en side på 300 mm limes inn med folie - dette vil være utgangen som er koblet til fellestråden. På toppen av den plasserer en papp firkant med en side av 100 mm, også limt med folie. På den er folielaget delt i to deler langs en kontur som ligner et oscillogram med rektangulære pulser. Dette vil være to konklusjoner til.





Hver av de produserte sensorene er utstyrt med en 1 MΩ motstand. Hvis det bare er en sensor, kobler du den til som vist nedenfor. Hvis det er flere av dem, må du bruke Arduino-konklusjonene - to per sensor - og ta hensyn til dette i skissen.



Slik gjør veiviseren:






Komponerer en skisse som sender data hentet fra sensoren via det serielle grensesnittet:

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

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

Serial.println (total1);

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

Kode for kommunikasjon med behandling over serie

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M motstand mellom pinner 4 og 2, pinne 2 er sensorpinne, tilsett en ledning og eller folie om ønskelig

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M motstand mellom pinner 4 og 6, pinne 6 er sensorpinne, tilsett en ledning og eller folie

ugyldig oppsett () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // slå av autokalibrering på kanal 1 - bare som et eksempel

cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);

Serial.begin (9600);

pinMode (2, INPUT);

pinMode (6, INPUT);

// pinMode (8, INPUT);

createContact (); // send en byte for å opprette kontakt til mottakeren svarer

void loop () {

// hvis vi får en gyldig byte, kan du lese innspill:

if (Serial.available ()> 0) {

// få innkommende byte:

inByte = Serial.read ();

// lang start = millis ();

lang total1 = cs_4_2.capacitiveSensor (30);

lang total2 = cs_4_6.capacitiveSensor (30);

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

// forsinkelse (10);

val1 = kart (totalt1, 700, 2300, 0, 255); // sensorverdier fra kalibrering er kartlagt til her - begynner å oppdage menneskelig nærhet på 700 (4 "borte), hånd nesten sensor berører 2300

val2 = kart (totalt2, 30, 175, 0, 255);

// val3 = kart (totalt3, 0, 13000, 0, 255);

Serial.write (val1);

Serial.write (val2);

//Serial.write(val3);

//Serial.print(val1);

// forsinkelse (50);

}

void createContact () {

while (Serial.available () <= 0) {

Serial.print ('A');

forsinkelse (300); }


Veiviseren organiserer ytterligere analyse av innkommende informasjon på en PC i prosesseringsmiljøet.












Men dette er bare begynnelsen på eksperimentet. I fremtiden kan du bruke den til å behandle signaler fra Arduino-sensorer - det samme, eller, hvis ressursene ikke er nok, en til.
0
0
0

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...