Instructables -kirjailija, nimimerkillä ShaneCunningham, ehdottaa kapasitiivisen releen käyttöönottoa Työläs ohjelmisto. Lisäosista vaaditaan vain itse kapasitiiviset anturit ja vastukset. Ei ulkoisia laitteistogeneraattoreita. Ohjelmistossa kotitekoinen mukana tämä ja tämä kolmansien osapuolien kehitys.
Kapasitiiviset anturit - kaksikerroksinen, kolminapainen. Mestari tekee niistä tee se itse. Pahvi, neliö, jonka sivu on 300 mm, on liimattu kalvolla - tämä on lähtö kytkettynä yhteiseen johtoon. Sen päälle asetetaan pahvi, neliö, jonka sivu on 100 mm, liimattu myös kalvolla. Sillä foliokerros on jaettu kahteen osaan muotoa pitkin, joka on samanlainen kuin suorakulmaisten pulssien oskillalogrammi. Nämä ovat kaksi muuta johtopäätöstä.
Jokainen valmistettu anturi on varustettu 1 MΩ: n vastuksella. Jos anturia on vain yksi, kytke se alla olevan kuvan mukaisesti. Jos niitä on useita, joudut käyttämään Arduinon johtopäätöksiä - kaksi anturia kohden - ja ottamaan tämä huomioon luonnoksessa.
Ohjattu tehtävä on seuraava:
Luo luonnos, joka lähettää anturilta otetut tiedot sarjarajapinnan kautta:
///////////////////////////////////////
tyhjä silmukka () {
pitkä yhteensä1 = cs_4_2.kapasitiivinen sensori (30);
Serial.println (yhteensä1);
/////////////////////////////////////////
Koodi kommunikointiin prosessoinnin kautta sarjassa
* /
int val1 = 0;
int val2 = 0;
int val3 = 0;
int inByte = 0;
CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // 1M vastus nastat 4 ja 2 välillä, nasta 2 on anturitappi, lisää johto ja / tai kalvo haluttaessa
CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // 1M vastus nastat 4 ja 6, nasta 6 on anturitappi, lisää johdin ja / tai folio
tyhjä asennus () {
cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // sammuta automaattinen kalibrointi kanavalla 1 - vain esimerkki
cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);
Serial.begin (9600);
pinMode (2, INPUT);
pinMode (6, INPUT);
// pinMode (8, INPUT);
perustaaYhteystiedot (); // lähetä tavu yhteyden muodostamiseksi, kunnes vastaanottaja vastaa
tyhjä silmukka () {
// jos saamme kelvollisen tavun, lue tulot:
if (Sarjakuvaus) ()> 0) {
// saapuva tavu:
inByte = Serial.read ();
// pitkä alku = millis ();
pitkä yhteensä1 = cs_4_2.kapasitiivinen sensori (30);
pitkä yhteensä2 = cs_4_6.kapasitiivinen sensori (30);
// pitkä yhteensä3 = cs_4_8.kapasitiivinen sensori (30);
// viive (10);
val1 = kartta (yhteensä1, 700, 2300, 0, 255); // anturin arvot kalibroinnista on kartoitettu tähän - alkaa havaita ihmisen läheisyys 700: n (4 ": n päässä) kohdalla, käsin melkein koskettava anturi 2300: lla
val2 = kartta (yhteensä2, 30, 175, 0, 255);
// val3 = kartta (yhteensä3, 0, 13000, 0, 255);
Sarjakuvaus (val1);
Sarjakuvaus (val2);
//Serial.write(val3);
//Serial.print(val1);
// viive (50);
}
mitätöi perustaaContact () {
while (Sarjakuvaus) () <= 0) {
Sarjajälki ('A');
viive (300); }
Ohjattu toiminto jatkaa saapuvien tietojen analysointia tietokoneella prosessointiympäristössä.
Mutta tämä on vasta kokeen alku. Jatkossa voit käyttää sitä prosessoimaan Arduino-antureiden signaaleja - sama asia tai, jos sen resurssit eivät riitä, vielä yksi.