สารบัญ:

Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: TM1637 4 Digit 7 Segment Display interfacing with Arduino. 2024, พฤศจิกายน
Anonim
Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display
Arduino Wireless Combination Lock พร้อม NRF24L01 และ 4 Digit 7 Segment Display

โปรเจ็กต์นี้เริ่มต้นชีวิตด้วยการออกกำลังกายเพื่อทำอะไรบางอย่างด้วยการแสดงเซกเมนต์ 7 หลัก 4 หลัก

สิ่งที่ฉันคิดได้คือความสามารถในการป้อนตัวเลข 4 หลักรวมกัน แต่เมื่อเสร็จแล้ว มันค่อนข้างน่าเบื่อ ฉันสร้างมันโดยใช้ Arduino UNO มันใช้งานได้ แต่ไม่ได้ทำอะไรอย่างอื่น

จากนั้นฉันก็มีความคิดว่าควรมีปุ่มสำหรับยอมรับหมายเลขที่เลือก และอาจมีปุ่มอื่นเพื่อเปลี่ยนชุดค่าผสม และอาจมี LED แสดงสถานะเมื่อใดก็ได้ แม้ว่าจะฟังดูเหมือนเป็นแผน แต่ก็หมายความว่าฉันจะไม่มีหมุดบน UNO แล้ว อาจมีวิธีมัลติเพล็กซ์ยูนิตนี้ แต่ฉันไม่แน่ใจว่าจะเริ่มจากตรงไหน ดังนั้นฉันจึงไปถึง Arduino Mega

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

ขั้นตอนที่ 1: ข้อกำหนดและรายการชิ้นส่วน

ข้อกำหนดและรายการอะไหล่
ข้อกำหนดและรายการอะไหล่

หลังจากคิดทั้งหมดแล้ว ตอนนี้ฉันมีรายการข้อกำหนด:

  • เพื่อให้สามารถป้อนตัวเลข 4 หลักได้
  • เพื่อเริ่มต้นด้วยชุดค่าผสมเริ่มต้นที่ฮาร์ดโค้ด
  • เพื่อให้สามารถเปลี่ยนชุดค่าผสมและจัดเก็บชุดค่าผสมใหม่ใน EEPROM ของ Arduino
  • แสดงสถานะของล็อคด้วย LED สีแดงสำหรับล็อคและ LED สีเขียวสำหรับเปิด
  • แสดงสถานะเมื่อมีการเปลี่ยนชุดค่าผสมด้วยไฟ LED สีฟ้า
  • เมื่อปลดล็อกสถานะแล้ว ให้คงอยู่ชั่วขณะหนึ่งแล้วเปลี่ยนกลับเป็นสถานะล็อก
  • ส่งสถานะล็อค/ปลดล็อคไปยัง Arduino อื่น
  • แสดงสถานะเดียวกันกับ LED สีแดงและสีเขียวบน Arduino ที่รับ
  • เพื่อวัตถุประสงค์ในการสาธิต ให้ใช้เซอร์โวเพื่อทำหน้าที่เป็นกลไกล็อคตามสถานะที่ได้รับ

จากข้อกำหนด ตอนนี้ฉันสามารถสร้างรายการชิ้นส่วนได้:

เครื่องส่งสัญญาณ:

  • Arduino เมก้า
  • เขียงหั่นขนม
  • จอแสดงผล 4 หลัก 7 ส่วน
  • สวิตช์ชั่วขณะ 2 X พร้อมฝาปิด
  • 1 X RGB LED.
  • ตัวต้านทาน 9 X 220ohm 8 สำหรับจอแสดงผลและ 1 สำหรับ RGB LED
  • ตัวต้านทาน 2 X 10kohm ดึงตัวต้านทานลงสำหรับ 2 ปุ่ม (ที่จริงฉันใช้ 9.1kohm เพราะนั่นคือสิ่งที่ฉันมี)
  • 1 X 10k โพเทนชิออมิเตอร์
  • 1 X NRF24L01
  • [อุปกรณ์เสริม] 1 X YL-105 breakout board สำหรับ NRF24L01. ช่วยให้เชื่อมต่อ 5v และเดินสายได้ง่ายขึ้น สายจัมเปอร์

ผู้รับ:

  • Arduino UNO
  • เขียงหั่นขนม
  • 1 X RGB LED.
  • ตัวต้านทาน 1 X 220ohm สำหรับไฟแอลอีดี
  • 1 X เซอร์โว ฉันใช้ SG90 เพื่อการสาธิตเท่านั้น
  • 1 X NRF24L01
  • อุปกรณ์เสริม] 1 X YL-105 breakout board สำหรับ NRF24L01. ช่วยให้เชื่อมต่อ 5v และเดินสายได้ง่ายขึ้น
  • สายจัมเปอร์

ขั้นตอนที่ 2: จอแสดงผล

จอแสดงผล
จอแสดงผล
จอแสดงผล
จอแสดงผล

ฉันใช้จอแสดงผล 4 หลัก 7 เซ็กเมนต์

ทดสอบกับ SMA420564 และ SM420562K (พินเหมือนกัน)

หมุด 1 และ 12 ถูกทำเครื่องหมาย

การจัดเรียงพินจากบนลงล่าง 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

หมุด 12, 9, 8, 6 เปิดหรือปิดหลัก 1 ถึง 4 จากซ้ายไปขวา

ขั้นตอนที่ 3: การเดินสาย Arduino Mega:

การเดินสาย Arduino Mega
การเดินสาย Arduino Mega

แสดงการจัดเรียงพิน Arduino

  • 1 ถึงพิน 6 ผ่านตัวต้านทาน 220ohm (E)
  • 2 ถึงพิน 5 ผ่านตัวต้านทาน 220ohm (D)
  • 3 ถึงพิน 9 ผ่านตัวต้านทาน 220ohm (DP) ไม่ได้ใช้ที่นี่
  • 4 ถึงพิน 4 ผ่านตัวต้านทาน 220ohm (C)
  • 5 ถึงพิน 8 ผ่านตัวต้านทาน 220ohm (G)
  • 6 ถึงพิน 33 (หลัก 4)
  • 7 ถึงพิน 3 ผ่านตัวต้านทาน 220ohm (B)
  • 8 ถึงพิน 32 (หลัก 3)
  • 9 เพื่อตรึง 31 (หลัก 2)
  • 10 ถึงพิน 7 ผ่านตัวต้านทาน 220ohm (F)
  • 11 ถึงพิน 2 ผ่านตัวต้านทาน 220ohm (A)
  • 12 ถึงพิน 30 (หลัก 1)

โพเทนชิออมิเตอร์ 10kohm เพื่อเปลี่ยนตัวเลขบนตัวเลขที่แสดง

  • พินด้านนอกถึง5v
  • พินตรงกลางไปที่ A0
  • หมุดด้านนอกอื่น ๆ สำหรับ GND

ปุ่มยอมรับหมายเลข

  • เพื่อตรึง 36
  • และปักหมุด 36 ผ่านตัวต้านทานแบบดึงลง 10kohm ไปที่GND

เปลี่ยนปุ่มหมายเลขรวมกัน

  • เพื่อตรึง 37
  • และตรึง 37 ผ่านตัวต้านทานแบบดึงลง 10kohm ไปที่GND

RGB LED (แคโทดทั่วไป)

  • แคโทดถึง GND ผ่านตัวต้านทาน 220ohm
  • สีแดงเพื่อหมุด40
  • สีเขียวเพื่อหมุด41
  • สีน้ำเงินกับหมุด42

NRF24L01 พร้อมกระดานฝ่าวงล้อม:

  • MISO เพื่อพิน 50 (บังคับผ่านพินเฉพาะ)
  • MOSI เพื่อพิน 51 (บังคับผ่านพินเฉพาะ)
  • SCK เพื่อพิน 52 (บังคับผ่านพินเฉพาะ)
  • CE ถึงพิน 44 (หมายเลขพินเสริม แต่กำหนดไว้ในร่าง)
  • CSN ไปยังพิน 45 (หมายเลขพินเสริม แต่กำหนดไว้ในแบบร่าง)
  • Vcc เป็น Arduino 5v (หรือ 3.3v หากไม่ได้ใช้บอร์ดฝ่าวงล้อม)
  • GND เป็น Arduino GND

ขั้นตอนที่ 4: การเดินสาย Arduino UNO:

การเดินสาย Arduino UNO
การเดินสาย Arduino UNO

RGB LED (แคโทดทั่วไป)

  • แคโทดถึง GND ผ่านตัวต้านทาน 220ohm
  • แดงต่อขา2 เขียวต่อขา3
  • สีฟ้า (ไม่ได้ใช้ที่นี่)

เซอร์โว:

  • สีแดงเป็น Arduino 5v หรือแหล่งจ่ายไฟแยกต่างหากหากใช้
  • สีน้ำตาลถึง Arduino GND และแยกแหล่งจ่ายหากใช้
  • ส้มต่อหมุด6

NRF24L01 พร้อมกระดานฝ่าวงล้อม:

MISO เพื่อตรึง 12 (บังคับผ่านพินเฉพาะ)

MOSI เพื่อพิน 11 (บังคับผ่านพินเฉพาะ)

SCK เพื่อพิน 13 (บังคับผ่านพินเฉพาะ)

CE ถึงพิน 7 (หมายเลขพินเสริม แต่กำหนดไว้ในร่าง)

CSN ถึงพิน 8 (หมายเลขพินเสริม แต่กำหนดไว้ในแบบร่าง)

Vcc เป็น Arduino 5v (หรือ 3.3v หากไม่ได้ใช้บอร์ดฝ่าวงล้อม)

GND เป็น Arduino GND

ขั้นตอนที่ 5: มันทำงานอย่างไร

Image
Image
มันทำงานอย่างไร
มันทำงานอย่างไร
มันทำงานอย่างไร
มันทำงานอย่างไร
มันทำงานอย่างไร
มันทำงานอย่างไร

เมื่อเขียงหั่นขนมทั้งสองเสร็จสมบูรณ์และอัปโหลดภาพสเก็ตช์ที่เหมาะสมแล้ว เราสามารถทดสอบได้

โดยเปิดเครื่องทั้งสองบอร์ด

ไฟ LED สีแดงควรแสดงบนทั้งสองแผง

หน้าจอจะแสดงตัวเลขในหลักแรก ตัวเลขนี้จะขึ้นอยู่กับตำแหน่งที่โพเทนชิออมิเตอร์ตั้งไว้ในปัจจุบัน

หมุนโพเทนชิออมิเตอร์เพื่อให้ได้ตัวเลขที่ต้องการ

เมื่อพบหมายเลขแล้วให้กดปุ่มยอมรับ ในกรณีของฉันมันอยู่ทางซ้ายของโพเทนชิออมิเตอร์

ทำเช่นเดียวกันกับตัวเลขอีกสามตัวที่เหลือ

หากชุดค่าผสมที่ป้อนถูกต้อง คำว่า OPEn จะปรากฏขึ้น ไฟ LED สีเขียวจะสว่างบนทั้งสองบอร์ด และเซอร์โวจะหมุน 180 องศา

จอแสดงผลจะว่างเปล่าและไฟ LED สีเขียวจะติดสว่างนานขึ้นประมาณ 5 วินาที

เมื่อเวลาปลดล็อกหมดลง ไฟ LED ทั้งสองดวงจะเป็นสีแดง และเซอร์โวจะหันกลับ 180 องศาเพื่อเริ่มต้น

หากชุดค่าผสมที่ป้อนไม่ถูกต้อง คำว่า OOPS จะปรากฏขึ้นและไฟ LED สีแดงจะติดสว่าง

มีชุดค่าผสมเริ่มต้นที่ฮาร์ดโค้ดอยู่ในแบบร่างของ 1 1 1 1

หากต้องการเปลี่ยนชุดค่าผสม คุณต้องป้อนชุดค่าผสมที่ถูกต้องก่อน

เมื่อคำว่า OPEn หายไป คุณมีเวลาประมาณ 5 วินาทีในการกดปุ่มอีกปุ่มหนึ่ง

เมื่อคุณป้อนลำดับชุดค่าผสมการเปลี่ยนแปลง ไฟ LED ของกระดานหลักจะเป็นสีน้ำเงิน ในขณะที่ไฟดวงอื่นยังคงเป็นสีเขียวและเปิดอยู่

ป้อนชุดค่าผสมใหม่ในลักษณะเดียวกับเมื่อก่อน

เมื่อยอมรับชุดค่าผสมใหม่แล้ว (เมื่อกดปุ่มสุดท้าย) ชุดค่าผสมจะถูกเก็บไว้ใน EEPROM

Arduinos ทั้งสองจะเข้าสู่โหมดล็อค

ป้อนชุดค่าผสมใหม่ของคุณและจะปลดล็อกตามที่คาดไว้

เมื่อชุดค่าผสมได้รับการเปลี่ยนแปลงและจัดเก็บไว้ใน EEPROM แล้ว ค่าดีฟอลต์ของฮาร์ดโค้ดคือ 1 1 1 1 จะถูกละเว้น

ขั้นตอนที่ 6: เสร็จสิ้นทั้งหมด

ฉันสร้างสิ่งนี้โดยใช้ NRF24L01 พื้นฐานพร้อมเสาอากาศในตัวและจัดการการสื่อสารที่ดีผ่านผนังด้านหนึ่งประมาณ 15 ฟุต

เนื่องจากเขียงหั่นขนม Arduino Mega ค่อนข้างยุ่งกับสายไฟ ฉันจึงใช้จัมเปอร์โดยตรงในบางที่ เนื่องจากมีหลายบอร์ดในบอร์ดเดียว ทำให้ยากต่อการติดตามรูปภาพ

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

ภาพร่างทั้งสองได้รับการแสดงความคิดเห็นอย่างเต็มที่เพื่อให้อ่านง่าย และพร้อมให้ดาวน์โหลดที่นี่

ภาพสเก็ตช์สำหรับ Arduino Mega นั้นค่อนข้างใหญ่ ประมาณ 400 บรรทัด แต่แบ่งออกเป็นส่วนๆ ที่จัดการได้ ดังนั้นควรติดตามอย่างง่ายดาย

แนะนำ: