ปุ่มกดเมมเบรน 1x4 W / Arduino: 4 ขั้นตอน

ปุ่มกดเมมเบรน 1x4 W / Arduino: 4 ขั้นตอน

สารบัญ:

Anonim

ในการกำหนดค่าองค์ประกอบนี้อาจเป็นเรื่องง่าย แต่สำหรับฉันที่ยังใหม่ต่อการใช้งานอิเล็กทรอนิกส์ฉันพบว่าตัวเองสับสนเมื่อพยายามแก้ไขด้วยผลิตภัณฑ์เฉพาะนี้ ส่วนหนึ่งเป็นเพราะความจริงที่ว่าฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับวิธีการใช้ส่วนประกอบนี้ผ่านทาง Google, บอร์ด Arduino, ฯลฯ ดังนั้นฉันคิดว่าคนอื่นอาจไม่ได้รับเช่นเดียวกับฉัน..

ผลิตภัณฑ์:

โปรดจำไว้ว่านี่เป็นคำสั่งแรกของฉัน

วัสดุ:

ขั้นตอนที่ 1: BOM

Arduino (ฉันใช้ UNO แต่รูปแบบอื่น ๆ ก็เพียงพอแล้ว)

ปุ่มกด 1x4 w / 5 พิน

5 สายจัมเปอร์

ตัวต้านทานและไฟ LED (หากคุณต้องการภาพ)

ขั้นตอนที่ 2: การประกอบ

แทรก 1x4 ส่วนหัวของปุ่มกดลงในเขียงหั่นขนมปังของคุณและวางสายจัมเปอร์ 1 อันไว้ด้านหน้าของแต่ละส่วนหัว

(จากซ้ายไปขวา)

สายแรกควรเชื่อมต่อกับ GRND Pin บน Arduino ของคุณ

สายที่ 2, 3, 4 และ 5 ควรเชื่อมต่อกับ Digital Pins 4 อันบน Arduino ของคุณ เพื่อให้ง่ายฉันเลือกพิน 9-12

  • Digital Pin # 9 จะเป็นหมายเลข # 1 บนแป้นพิมพ์ของคุณ
  • Digital Pin # 10 จะเป็นปุ่ม # 2 บนแป้นพิมพ์ของคุณ
  • Digital Pin # 11 จะเป็นปุ่ม # 3 บนแป้นพิมพ์ของคุณ
  • Digital Pin # 12 จะเป็นปุ่ม # 4 บนแป้นพิมพ์ของคุณ

ตรวจสอบการเชื่อมต่อของคุณ

ขั้นตอนที่ 3: รหัส

วางสิ่งต่อไปนี้ลงใน Arduino Sketch & บันทึกที่ว่างเปล่า ดำเนินการต่อไปยังขั้นตอนถัดไปสำหรับคำอธิบาย

/*

ปุ่มกด 1x4 จาก Adafruit.com (แหล่งที่มาไม่เป็นทางการ) ต้นฉบับดั้งเดิม: ปุ่มอ้างอิงการสอนบน Arduino.com: http://arduino.cc/en/Tutorial/InputPullupSerial อ้างอิง:

เปิดและปิด Pin หรือ Prints ที่ระบุไปยัง Serial Monitor เมื่อมีการกดแป้นบนแป้นพิมพ์ 1x4 จาก Adafruit.com

The (OLD) วงจร: * LED ติดจาก pin 13 ถึง ground * pushbutton ที่แนบไปกับ pin 2 จาก + 5V * pushbutton ที่แนบไปกับ pin 3 จาก + 5V * 10K resistor ที่แนบมากับ pin 2 จากพื้นดิน

วงจร (ใหม่) (2014):

* องค์ประกอบใดก็ตามที่คุณต้องการแนบไปกับ Pin 13 (เช่น - LED) * 1x4 ปุ่มกด w / ขาหลักที่แนบกับกราวด์และปุ่ม 1-4 ที่ต่อกับ PINS 9-12 * การตรวจสอบแบบอนุกรมใช้สำหรับเอาท์พุท (สำหรับการทดสอบ ถึง Pin 13)

* บันทึก:

สร้าง 2005 โดย DojoDave modified 30 ส.ค. 2554 โดย Tom Igoe ดัดแปลง 10 เม.ย. 2555 โดย mpilchfamily ดัดแปลง 8 ธ.ค. 2557 โดย C Cunningham

*

/ ค่าคงที่จะไม่เปลี่ยนแปลง พวกมันใช้ที่นี่เพื่อ // กำหนดหมายเลขพิน: const int buttonPin = {9,10,11,12}; // จำนวนของหมุดปุ่มกด const int ledPin = 13; // จำนวนพิน LED

// ตัวแปรจะเปลี่ยน: int buttonState = 0; // ตัวแปรสำหรับอ่านสถานะปุ่มกด

การตั้งค่าเป็นโมฆะ () {/ / เริ่มต้น pin LED เป็นเอาท์พุท: pinMode (ledPin, OUTPUT); // เริ่มต้นการตรวจสอบพอร์ตอนุกรม @ 9600 Serial.begin (9600); // เตรียมใช้งานหมุดปุ่มกดเป็นอินพุต: สำหรับ (int x = 0; x <2; x ++) {pinMode (buttonPin x, INPUT_PULLUP); }}

void loop () {// อ่านสถานะของค่าปุ่มกด: สำหรับ (int x = 0; x <2; x ++) {// แสดงสถานะของปุ่มที่อยู่ในโดยการอ่านพินที่เหมาะสม # buttonState = digitalRead (buttonPin x);

// ตรวจสอบว่ามีการกดปุ่มกดบนปุ่มกดหรือไม่ // ถ้าเป็นเช่นนั้น buttonState คือ LOW: if (buttonState == LOW && buttonPin x == 9) {// ปิด LED ดับ: Serial.print ("OFF *"); // digitalWrite (ledPin, LOW); } if (buttonState == LOW && buttonPin x == 10) {// ปิดไฟ LED: Serial.print ("ON *"); // digitalWrite (ledPin, LOW); }}}

ขั้นตอนที่ 4: คุณทำเสร็จแล้ว!

ตรวจสอบและรวบรวม, อัปโหลดและเปิดการตรวจสอบแบบอนุกรมของคุณ กดปุ่มของคุณ ฉันใช้ปุ่ม 1 & 2 สำหรับฟังก์ชั่นเปิด / ปิดเท่านั้น รหัสสามารถขยายได้เพื่อทำสิ่งดีๆอื่น ๆ ด้วย..