電導式不會因皮膚上的不明電解質,如鹽(出汗),灰塵,導電度增加或減少,是比較準的,如觸控屏用的技術,只跟電容大小有關,這台用的是3000k. 1mOhm,數值顯太大,改成3000k 比較剛好,再修改來連接Excel .不用processing 連接,EXCEL 比較好儲存資料。

引用:https://swf.com.tw/?p=946
程式碼改寫如下:
//橘pin 接 pinD4 //土pin 接 pinD2 //白pin接Ground (100pf電容) //藍pin 接 觸摸電容 //電阻由 1M改 300K #include <capacitivesensor.h> #include <liquidcrystal_i2c.h> LiquidCrystal_I2C lcd(0x3F,20,4); //#define threshold 1500 // 感測電容量的臨界值 //#define LED1 11 // LED1的腳位 //#define LED2 12 // LED2的腳位 //#define LED3 13 // LED3的腳位 // 設定電容觸控的訊號輸入和輸出腳位 CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); //CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); //CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8); int Buzzerpin = 10; void setup() { lcd.init(); // Print a message to the LCD. lcd.backlight(); lcd.setCursor(3,0); lcd.print("Hello, world!"); lcd.setCursor(2,1); lcd.print("ToppyBio.Com. Hi"); delay (1000); // pinMode(LED1, OUTPUT); // pinMode(LED2, OUTPUT); // pinMode(LED3, OUTPUT); pinMode(Buzzerpin,OUTPUT); digitalWrite(Buzzerpin,LOW); Serial.println("LABEL,Number,Capacity"); Serial.begin(9600); } void loop() { long total1 = cs_4_2.capacitiveSensor(30); // long total2 = cs_4_6.capacitiveSensor(30); // long total3 = cs_4_8.capacitiveSensor(30); //Serial.println(total1); // buzzle響 提示操作 digitalWrite(Buzzerpin,HIGH); delay (10); digitalWrite(Buzzerpin,LOW); delay (250); digitalWrite(Buzzerpin,HIGH); delay (10); digitalWrite(Buzzerpin,LOW); int a = 0 ; a = a + 1 ; Serial.print("DATA"); Serial.print(","); Serial.print("a"); Serial.print(","); Serial.println(total1); delay (3000); // 若第一個觸控點的電容量大於臨界值,則點亮LED。 /* if (total1 > threshold) { digitalWrite(LED1, HIGH); } else { digitalWrite(LED1, LOW); } if (total2 > threshold) { digitalWrite(LED2, HIGH); } else { digitalWrite(LED2, LOW); } if (total3 > threshold) { digitalWrite(LED3, HIGH); } else { digitalWrite(LED3, LOW); } */ }
對此產品有興趣
回覆刪除是否可以承接外銷歐洲訂單