» Elektronika » Arduino »Softwarová implementace kapacitních relé na Arduino

Implementace kapacitního reléového softwaru na Arduino





Autor Instructables pod přezdívkou ShaneCunningham navrhuje implementovat kapacitní relé na Arduino programově. Z dalších částí budou vyžadovány pouze kapacitní senzory a rezistory. Žádné externí hardwarové generátory. V softwaru domácí zapojen toto a toto vývoj třetích stran.

Kapacitní senzory - dvouvrstvé, tříkolíkové. Mistr je dělá udělej to sám. Kartonový čtverec o straně 300 mm je vložen fólií - jedná se o výstup připojený ke společnému drátu. Nahoře položí lepenkový čtverec o straně 100 mm, také přilepený folií. Na něm je vrstva fólie rozdělena na dvě části podél obrysu podobného oscilogramu obdélníkových pulzů. To budou další dva závěry.





Každý z vyrobených senzorů je vybaven odporem 1 MΩ. Pokud existuje pouze jeden senzor, připojte jej podle obrázku níže. Pokud jich je několik, budete muset použít závěry Arduino - dva na senzor - a vzít to v úvahu v náčrtu.



Průvodce dělá následující:






Skládá se ze skici, který odesílá data ze senzoru přes sériové rozhraní:

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

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

Serial.println (celkem 1);

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

Kód pro komunikaci se zpracováním přes sériové číslo

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M rezistor mezi kolíky 4 a 2, kolík 2 je kolík senzoru, v případě potřeby přidejte drát nebo fólii

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M rezistor mezi kolíky 4 a 6, kolík 6 je kolík senzoru, přidejte vodič nebo fólii

neplatné nastavení () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // vypněte automatickou kalibraci na kanálu 1 - pouze jako příklad

cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);

Serial.egegin (9600);

pinMode (2, INPUT);

pinMode (6, INPUT);

// pinMode (8, INPUT);

createContact (); // poslat bajt pro navázání kontaktu, dokud příjemce neodpoví

void loop () {

// Pokud dostaneme platný bajt, přečtěte si vstupy:

if (Serial.available ()> 0) {

// získat příchozí bajt:

inByte = Serial.read ();

// long start = millis ();

long total1 = cs_4_2.capacitiveSensor (30);

long total2 = cs_4_6.capacitiveSensor (30);

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

// zpoždění (10);

val1 = mapa (celkem1, 700, 2300, 0, 255); // jsou zde mapovány hodnoty senzorů z kalibrace - začíná detekovat lidskou blízkost ve vzdálenosti 700 (4 "), ruka se téměř dotýká senzoru na 2300

val2 = mapa (celkem2, 30, 175, 0, 255);

// val3 = mapa (celkem 3, 0, 13000, 0, 255);

Serial.write (val1);

Serial.write (val2);

//Serial.write(val3);

//Serial.print(val1);

// zpoždění (50);

}

void createContact () {

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

Serial.print ('A');

zpoždění (300); }


Průvodce organizuje další analýzu příchozích informací na PC v prostředí Zpracování.












Ale to je jen začátek experimentu. V budoucnu ji můžete použít ke zpracování signálů ze senzorů Arduino - totéž, nebo, pokud její zdroje nestačí, ještě jeden.
0
0
0

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko

Doporučujeme si přečíst:

Podejte to pro smartphone ...