» elektronik » Arduino »Softwareimplementering af kapacitive relæer på Arduino

Implementering af kapacitiv relæsoftware på Arduino





Forfatteren af ​​Instructables under kaldenavnet ShaneCunningham tilbyder at implementere et kapacitivt relæ Arduino software. Af de ekstra dele er det kun kapacitive sensorer og modstande, der kræves. Ingen eksterne hardwaregeneratorer. I software hjemmelavet involveret dette og dette tredjepartsudviklinger.

Kapacitive sensorer - to-lags, tre-pin. Mesteren laver dem gør det selv. En pap firkant med en side af 300 mm indsættes med folie - dette er output, der er forbundet til fælles ledning. Ovenpå placeres en kartonflade med en side af 100 mm, også limet med folie. På det er folielaget delt i to dele langs en kontur svarende til et oscillogram af rektangulære pulser. Dette vil være yderligere to konklusioner.





Hver af de fremstillede sensorer er udstyret med en 1 MΩ modstand. Hvis der kun er en sensor, skal du tilslutte den som vist nedenfor. Hvis der er flere af dem, bliver du nødt til at bruge Arduino-konklusionerne - to pr sensor - og tage dette i betragtning på skitsen.



Her er, hvad guiden gør:






Komponerer en skitse, der sender data hentet fra sensoren via den serielle grænseflade:

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

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

Serial.println (total1);

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

Kode til kommunikation med behandling over serie

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M modstand mellem stifter 4 og 2, stift 2 er sensorpind, tilføj en ledning og eller folie om ønsket

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M modstand mellem stifter 4 og 6, stift 6 er sensorpind, tilføj en ledning og eller folie

ugyldig opsætning () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // Sluk for autokalibrering på kanal 1 - lige 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 at etablere kontakt, indtil modtageren reagerer

void loop () {

// hvis vi får en gyldig byte, skal du læse input:

if (Serial.available ()> 0) {

// få indkommende 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.capacitive Sensor (30);

// forsinkelse (10);

val1 = kort (i alt1, 700, 2300, 0, 255); // sensorværdier fra kalibrering er kortlagt til her - begynder at registrere menneskelig nærhed ved 700 (4 "væk), hånd næsten rørende sensor ved 2300

val2 = kort (i alt2, 30, 175, 0, 255);

// val3 = kort (i alt3, 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); }


Guiden organiserer yderligere analyse af de indgående oplysninger på en pc i Processing-miljøet.












Men dette er kun begyndelsen på eksperimentet. I fremtiden kan du bruge den til at behandle signaler fra Arduino-sensorer - den samme ting, eller, hvis ressourcerne ikke er nok, en til.
0
0
0

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt

Vi råder dig til at læse:

Giv den til smartphonen ...