» อิเล็กทรอนิกส์ » Arduino »การติดตั้งซอฟต์แวร์ของรีเลย์แบบ capacitive บน Arduino

การใช้งานซอฟต์แวร์ Capacitive Relay บน Arduino





ผู้แต่ง Instructables ภายใต้ชื่อเล่น ShaneCunningham เสนอที่จะใช้รีเลย์แบบ capacitive Arduino ซอฟต์แวร์ ในส่วนที่เพิ่มเติมจะต้องมีเซ็นเซอร์ capacitive และตัวต้านทานเท่านั้น ไม่มีตัวสร้างฮาร์ดแวร์ภายนอก ในซอฟต์แวร์ ทำที่บ้าน ที่เกี่ยวข้อง นี้ และ นี้ การพัฒนาบุคคลที่สาม

เซ็นเซอร์ capacitive - สองชั้นสามขา เจ้านายทำให้พวกเขา ทำมันเอง. สี่เหลี่ยมกระดาษแข็งที่มีด้าน 300 มม. วางด้วยฟอยล์ - นี่จะเป็นเอาต์พุตที่เชื่อมต่อกับสายสามัญ ด้านบนของมันวางสี่เหลี่ยมกระดาษแข็งด้าน 100 มม. และยังติดด้วยกระดาษฟอยล์ บนชั้นฟอยล์นั้นแบ่งออกเป็นสองส่วนตามรูปร่างคล้ายกับออสซิลโลแกรมของพัลส์รูปสี่เหลี่ยมผืนผ้า สิ่งเหล่านี้จะเป็นข้อสรุปอีกสองข้อ





เซ็นเซอร์ที่ผลิตแต่ละชิ้นจะมีตัวต้านทาน 1 MΩ หากมีเซ็นเซอร์เดียวให้เชื่อมต่อตามที่แสดงด้านล่าง หากมีหลายตัวคุณจะต้องใช้ข้อสรุปของ Arduino - สองตัวต่อเซ็นเซอร์ - และนำสิ่งนี้มาพิจารณาในร่าง



นี่คือสิ่งที่ตัวช่วยสร้างทำ:






ประกอบด้วยร่างที่ส่งข้อมูลจากเซ็นเซอร์ผ่านอินเตอร์เฟสแบบอนุกรม:

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

void loop () {
ยาวทั้งหมด 1 = cs_4_2.capacitiveSensor (30);

Serial.println (ทั้งหมด 1);

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

รหัสสำหรับการสื่อสารกับการประมวลผลผ่านอนุกรม

* /

int val1 = 0;

int val2 = 0;

int val3 = 0;

int inByte = 0;

CapacitiveSensor cs_4_2 = CapacitiveSensor (4.2); // ตัวต้านทาน 1M ระหว่างพิน 4 และ 2, พิน 2 เป็นพินของเซ็นเซอร์, เพิ่มลวดและหรือฟอยด์หากต้องการ

CapacitiveSensor cs_4_6 = CapacitiveSensor (4.6); // ตัวต้านทาน 1M ระหว่างพิน 4 และ 6, พิน 6 คือพินของเซ็นเซอร์, เพิ่มลวดและหรือฟอยล์

การตั้งค่าเป็นโมฆะ () {

cs_4_2.set_CS_AutocaL_Millis (0xFFFFFFFF); // ปิด autocalibrate ในช่องที่ 1 - เช่นเดียวกับตัวอย่าง

cs_4_6.set_CS_AutocaL_Millis (0xFFFFFFFF);

Serial.begin (9600);

pinMode (2, INPUT);

pinMode (6, INPUT);

// pinMode (8, INPUT);

EstabContact (); // ส่งไบต์เพื่อสร้างที่ติดต่อจนกว่าผู้รับจะตอบกลับ

void loop () {

// ถ้าเราได้ byte ที่ถูกต้อง, อ่าน input:

if (Serial.available ()> 0) {

// รับ byte ขาเข้า:

inByte = Serial.read ();

// long start = millis ();

ยาวทั้งหมด 1 = cs_4_2.capacitiveSensor (30);

ยาวทั้งหมด 2 = cs_4_6.capacitiveSensor (30);

// ยาวทั้งหมด 3 = cs_4_8.capacitiveSensor (30);

// ล่าช้า (10);

แผนที่ val1 = (ทั้งหมด 1, 700, 2300, 0, 255); // ค่าเซ็นเซอร์จากการสอบเทียบจะถูกแมปไว้ที่นี่ - เริ่มตรวจจับความใกล้ชิดของมนุษย์ที่ 700 (4 "ออกไป), เซ็นเซอร์เกือบสัมผัสมือที่ 2300

แผนที่ val2 = (ทั้งหมด 2, 30, 175, 0, 255);

// val3 = แผนที่ (ทั้งหมด 3, 0, 13000, 0, 255);

Serial.write (val1);

Serial.write (val2);

//Serial.write(val3);

//Serial.print(val1);

// ล่าช้า (50);

}

เป็นโมฆะ establishContact () {

ในขณะที่ (Serial.available () <= 0) {

Serial.print ('A');

ล่าช้า (300); }


วิซาร์ดจัดระเบียบการวิเคราะห์ข้อมูลขาเข้าเพิ่มเติมบนพีซีในสภาพแวดล้อมการประมวลผล












แต่นี่เป็นเพียงจุดเริ่มต้นของการทดสอบ ในอนาคตคุณสามารถใช้มันเพื่อประมวลผลสัญญาณจากเซ็นเซอร์ Arduino - สิ่งเดียวกันหรือถ้าทรัพยากรไม่เพียงพออีกหนึ่ง
0
0
0

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...