สารบัญ:

นาฬิกาปลุกไบนารีที่ใช้ Arduino: 13 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาปลุกไบนารีที่ใช้ Arduino: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาปลุกไบนารีที่ใช้ Arduino: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาปลุกไบนารีที่ใช้ Arduino: 13 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีการทำพร้อมโค๊ดนาฬิกาปลุกอินเตอร์เน็ท esp8266 ntp alarm clock 7-segment one button control 2024, กรกฎาคม
Anonim
Image
Image

โดยวิศวกรรมชั้นใต้ดินติดตามเพิ่มเติมโดยผู้เขียน:

เคาน์เตอร์เลเซอร์คน DIY
เคาน์เตอร์เลเซอร์คน DIY
การสร้างเรือขับเคลื่อนด้วยตนเอง (ArduPilot Rover)
การสร้างเรือขับเคลื่อนด้วยตนเอง (ArduPilot Rover)
การสร้างเรือขับเคลื่อนด้วยตนเอง (ArduPilot Rover)
การสร้างเรือขับเคลื่อนด้วยตนเอง (ArduPilot Rover)
โคมไฟข้างเตียงที่สมบูรณ์แบบและแท่นวางโทรศัพท์
โคมไฟข้างเตียงที่สมบูรณ์แบบและแท่นวางโทรศัพท์
โคมไฟข้างเตียงที่สมบูรณ์แบบและแท่นวางโทรศัพท์
โคมไฟข้างเตียงที่สมบูรณ์แบบและแท่นวางโทรศัพท์

เกี่ยวกับ: สวัสดี ฉันชื่อแจน ฉันเป็นผู้สร้าง ฉันชอบสร้างและสร้างสรรค์สิ่งต่างๆ และฉันก็ซ่อมสิ่งต่างๆ ได้ดีเช่นกัน เนื่องจากฉันคิดว่าฉันรักการสร้างสรรค์สิ่งใหม่ๆ อยู่เสมอ และนั่นคือสิ่งที่ฉันทำมาจนถึง… ข้อมูลเพิ่มเติมเกี่ยวกับวิศวกรรมชั้นใต้ดิน »

เฮ้, วันนี้ฉันต้องการแสดงวิธีสร้างหนึ่งในโครงการล่าสุดของฉัน นาฬิกาปลุกไบนารีของฉัน

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

อย่าปล่อยให้รูปลักษณ์ที่ซับซ้อนของมันทำให้คุณกลัว ด้วยคำอธิบายเล็กๆ น้อยๆ การอ่านเลขฐานสองจึงไม่ใช่เรื่องยากอย่างที่คิด และถ้าคุณยินดีที่จะเรียนรู้สิ่งใหม่ ๆ ฉันอยากจะช่วยคุณทำในภายหลัง

ให้ฉันบอกคุณเล็กน้อยเกี่ยวกับเรื่องราวเบื้องหลังโครงการนี้:

เดิมทีฉันวางแผนที่จะสร้างนาฬิกา "ปกติ" ที่ใช้ LED เป็นเข็มนาฬิกา แต่ฉันมีไฟ LED ไม่เพียงพอในมือ

Sooo คุณจะทำอย่างไรเมื่อต้องการแสดงเวลาโดยใช้ LED น้อยที่สุด?

คุณไปที่เลขฐานสองและนั่นคือสิ่งที่ฉันทำที่นี่

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

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

นอกจากนี้ยังมีวิดีโอที่มีรายละเอียดมากใน Youtube ในกรณีที่คุณไม่ต้องการอ่านทุกอย่าง

ขั้นตอนที่ 1: รับสิ่งของของคุณ

รับสิ่งของของคุณ
รับสิ่งของของคุณ
รับสิ่งของของคุณ
รับสิ่งของของคุณ
รับสิ่งของของคุณ
รับสิ่งของของคุณ

นี่คือรายการเล็กน้อยของส่วนประกอบและเครื่องมือทั้งหมด ที่คุณจะต้องสร้างนาฬิกาไบนารีของคุณเอง

อิเล็กทรอนิกส์:

  • LED Ws2811 ที่ปรับเปลี่ยนได้ 18 ดวง (เช่น Neopixels) บนแถบที่มี LED 60 ดวงต่อเมตร (ebay)
  • Arduino Nano (พร้อมโปรเซสเซอร์ ATMega328) (ebay)
  • โมดูล 1307 RTC (อีเบย์)
  • 4X ปุ่มสัมผัสแบบ Capacitive (อีเบย์)
  • bs18b20 เซ็นเซอร์อุณหภูมิดิจิตอล (ebay)
  • LDR (อีเบย์)
  • ลำโพงโน้ตบุ๊ก/สมาร์ทโฟน หรือ piezo buzzer
  • 2222A ทรานซิสเตอร์ NPN (หรือสิ่งที่คล้ายกัน)
  • ส่วนหัวชาย
  • หัวมุมหญิง (ebay)
  • ตัวต้านทาน 1kOhm
  • ตัวต้านทาน 4,7kOhm
  • ตัวต้านทาน 10kOhm
  • สายไฟ
  • 7x5cm การสร้างต้นแบบ PCB 24x18 หลุม (อีเบย์)
  • ลวดเงิน (ลวดอัญมณี) (อีเบย์)
  • อะแดปเตอร์ USB ขนาดเล็ก 90 ° (อีเบย์)

วัสดุอื่นๆ

  • ไวนิลห่อ
  • สกรูหัวแปลน m4 ขนาด 4X 45 มม. (อีเบย์)
  • เครื่องซักผ้าโลหะ 32X m4
  • น็อตล็อค 4X m4
  • น็อต 28X m4
  • 4X 10mm m3 ทองเหลือง PCB ขัดแย้ง (ebay)
  • สกรู 8X 8mm m3 (อีเบย์)
  • แผ่นอลูมิเนียม
  • แผ่นอะครีลิคมิลค์กี้ 2 มม.
  • แผ่นอะครีลิคใส 2 มม.
  • MDF. แผ่น 3 มม
  • เทปสองหน้า

เครื่องมือ

  • สาย USB ขนาดเล็ก
  • คอมพิวเตอร์ที่ใช้ Arduino IDE
  • ดอกสว่าน 3, 5 มม.
  • ดอกสว่าน 4, 5 มม.
  • สว่านไฟฟ้า
  • มีดตัด
  • เลื่อยฉลุ
  • บัดกรีไอออน
  • กรรไกรตัดเหล็ก
  • ไฟล์
  • กระดาษทราย

เทมเพลต (ขณะนี้มีมิติข้อมูล)

  • ไฟล์ PDF
  • Libre Office Draw

รหัส

  • ภาพสเก็ตช์
  • ห้องสมุดปุ่ม
  • ห้องสมุดจับเวลา
  • ห้องสมุดตู้เพลง
  • แก้ไข RTClib
  • ห้องสมุด Adafruit Neopixel
  • Arduino-Temperature-Control-Library

ขั้นตอนที่ 2: ตัดแผงด้านหน้าและด้านหลัง

ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง
ตัดแผงด้านหน้าและด้านหลัง

ชิ้นแรกที่เราจะทำคือแผงด้านหน้าอะครีลิค เราทำเครื่องหมายตำแหน่งที่เราต้องการให้การตัดของเราไป โดยจำไว้ว่าเราต้องการความอดทนเล็กน้อยสำหรับการขัด จากนั้นเราก็ขูดอะคริลิกด้วยมีดตัดของเรา หลังจากที่เราทำไปแล้ว 10 ถึง 20 ครั้ง เราก็ได้ร่อง จากนั้นเราสามารถวางร่องที่ขอบโต๊ะแล้วงออะครีลิคจนแตก

หลังจากที่แผงด้านหน้าถูกตัดให้ได้ขนาดแล้ว เราก็ตัดแผงด้านหลังออกจากแผ่น MDF เราสามารถใช้เครื่องเลื่อยตัดไม้สำหรับสิ่งนี้ได้ แต่มีดตัดก็ใช้ได้เช่นกัน เราแค่ต้องยึด MDF เข้ากับเศษไม้แล้วขูดด้วยมีดตัดของเราจนใบมีดทะลุและเรามีสองชิ้นแยกกัน

ตอนนี้เราประกบแผงทั้งสองเข้าด้วยกันและขัดแต่ละด้านให้ชิดกันอย่างสมบูรณ์แบบ

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

ก่อนอื่นเราเจาะรู 4, 5 มม. ในแต่ละมุมทั้ง 4 มุม เนื่องจากอะคริลิกเปราะมาก และเราไม่ต้องการให้มันหัก เราจะเริ่มด้วยดอกสว่านขนาดเล็กและค่อยๆ ไต่ขึ้นไปเรื่อยๆ จนกว่าจะได้เส้นผ่านศูนย์กลางรูที่ต้องการ จากนั้นเราใช้แม่แบบเพื่อขัดมุมให้มีรูปร่างที่เหมาะสม

ขั้นตอนที่ 3: เสร็จสิ้นแผงด้านหลัง

เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง
เสร็จสิ้นแผงด้านหลัง

สำหรับตอนนี้ เราสามารถวางแผงด้านหน้าไว้ด้านข้างและติดแม่แบบที่สองบนแผงด้านหลัง โดยที่เราต้องใช้ดอกสว่านขนาด 3, 5 มม. เพื่อเจาะรูสำหรับขาตั้งแยกชิ้น 4 ชิ้นของเรา รวมทั้ง 4 รูที่ทำเครื่องหมายขอบ สำหรับบานหน้าต่างบานเล็ก

จากนั้นเราใช้ใบเลื่อยตัดกระจกเพื่อตัดหน้าต่างและทำให้ขอบเรียบด้วยตะไบ คุณไม่ต้องการที่จะลืมเจาะรูสำหรับสาย mini USB (ฉันได้ยินมาว่ามีผู้ผลิตที่ไม่ค่อยเน้นที่มักจะทำสิ่งดังกล่าว:D)

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

ขั้นตอนที่ 4: สร้างแผงไฟ LED

ทำแผงไฟ LED
ทำแผงไฟ LED
ทำแผงไฟ LED
ทำแผงไฟ LED
ทำแผงไฟ LED
ทำแผงไฟ LED

ตอนนี้เรามาไฮไลท์ของโครงการนี้ในความหมายที่แท้จริงที่สุด แผงไฟ LED

เราใช้กรรไกรตัดโลหะเพื่อตัดแผ่นโลหะขนาด 12, 2 ซม. คูณ 8 ซม. โปรดใช้ความระมัดระวังขณะทำเช่นนี้ เนื่องจากกรรไกรจะสร้างขอบที่คมมาก เรากำลังจะทำให้ไฟล์ของเราเรียบขึ้นและกระดาษทราย จากนั้นเราเพิ่มเทมเพลตถัดไปเพื่อเจาะรูสำหรับสกรูและสายไฟ

ถึงเวลาเตรียมไฟ LED จริง

ขั้นแรก เราตัดมันออกเป็นสามแถบโดยแต่ละหลอด LED 6 ดวง แถบ LED บางอันมีชั้นกาวที่บางมากหรือไม่มีกาวเลย ดังนั้นเราจะติดแถบของเราบนเทปกาวสองหน้าแล้วตัดให้ได้ขนาดด้วยมีด วิธีนี้จะทำให้ติดบนแผ่นโลหะ และถึงแม้จะไม่ใช่วิธีแก้ปัญหาแบบมืออาชีพ แต่จะป้องกันแผ่นทองแดงจากพื้นผิวโลหะด้านล่าง

ก่อนที่เราจะติดแถบบนแผง เราต้องทำความสะอาดด้วยแอลกอฮอล์ ขณะที่เราติด LED นั้น เราต้องตรวจสอบให้แน่ใจว่าเราวางมันลงในตำแหน่งที่ถูกต้องและในทิศทางที่ถูกต้อง ลูกศรเล็กๆ บนแถบ LED ระบุทิศทางที่ข้อมูลเดินทางผ่านแถบนั้น

ดังที่คุณเห็นในภาพที่ห้า สายข้อมูลของเรามาจากมุมบนซ้ายของแผง ผ่านแถบแรกไปทางด้านขวา มากกว่ากลับไปที่จุดเริ่มต้นของแถบต่อไปนี้ทางด้านซ้ายเป็นต้น. ดังนั้นลูกศรทั้งหมดของเราจึงต้องชี้ไปทางด้านขวา

มาทำให้ไอออนบัดกรีของเราร้อนขึ้นแล้วใส่ดีบุกลงบนแผ่นทองแดงและบนลวดของเรา สายข้อมูลเชื่อมต่อตามที่ฉันอธิบายไว้ในขณะที่เราเพียงแค่ขอแผ่นบวกและลบของแถบขนานกัน

หลังจากต่อแถบแล้ว เราใช้มีดค่อยๆ ยกปลายแต่ละแถบในขณะที่จับไฟ LED ลง เพื่อให้ยังคงชี้ขึ้นด้านบน จากนั้นเราใส่กาวร้อนไว้ด้านล่างเพื่อป้องกันข้อต่อบัดกรีของเรา

หลังจากเสร็จสิ้น และเราเพิ่มหมุดส่วนหัวสองสามตัวเข้ากับสายไฟที่ไปยัง PCB สายไฟเหล่านั้นควรยาวประมาณ 16 ซม. เพื่อให้แน่ใจเป็นพิเศษว่าแผงโลหะไม่ได้ลัดวงจรอะไรเลย เราใช้มัลติมิเตอร์เพื่อวัดความต้านทานระหว่างหมุดทั้งหมด หากแสดงสิ่งใดที่สูงกว่า 1kOhm แสดงว่าทุกอย่างเรียบร้อยดี

ตอนนี้เราสามารถเชื่อมต่อกับ Arduino ทดสอบ strandtest และเพลิดเพลินกับสีต่างๆ

ขั้นตอนที่ 5: สร้าง Light Guide

ทำคู่มือแสง
ทำคู่มือแสง
สร้างคู่มือแสง
สร้างคู่มือแสง
ทำคู่มือแสง
ทำคู่มือแสง
ทำคู่มือแสง
ทำคู่มือแสง

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

เพื่อแก้ปัญหานี้ เราจะทำคู่มือแสงเล็กน้อยให้ตัวเอง สำหรับสิ่งนี้ เราเพียงแค่ตัด MDF อีกชิ้นหนึ่งที่มีขนาดเท่ากับแผงด้านหน้าออก จากนั้นเราก็เพิ่มเทมเพลตอีกอันเข้าไปและเจาะรูขนาด 3, 5 มม. สิบแปดรูสำหรับ LED รวมถึงรู 4, 5 มม. สี่รูสำหรับสกรูเข้าไป จากนั้นเราสามารถหนีบลงไปที่แผงด้านหน้าและใช้กระดาษทรายเพื่อจัดตำแหน่งทั้งสอง

ดังที่คุณเห็นในภาพสุดท้าย แสงจะโฟกัสมากขึ้นในขณะนี้

ขั้นตอนที่ 6: สร้างกรอบปุ่ม

ทำกรอบปุ่ม
ทำกรอบปุ่ม
ทำกรอบปุ่ม
ทำกรอบปุ่ม
ทำกรอบปุ่ม
ทำกรอบปุ่ม

ส่วนประกอบตู้สุดท้ายที่เราจะทำคือกรอบปุ่ม

เราเป็นอีกคนที่ตัดแผ่น MDF ให้ได้ขนาดที่เหมาะสมและเพิ่มเทมเพลต จากนั้นเราเจาะรูที่จำเป็นทั้งหมดและใช้เลื่อยเผชิญปัญหาเพื่อตัดส่วนตรงกลางออก

เฟรมของเราควรจะมีปุ่มสัมผัส 4 ปุ่ม เซ็นเซอร์วัดแสง และลำโพงเล็กๆ ของเราเข้าที่ ก่อนที่เราจะติดมันเข้ากับเฟรมได้ เราตัดแผ่นปิดเล็กๆ สองสามชิ้นออกจาก MDF จากนั้นเราก็ติดกาวส่วนประกอบของเราลงบนฝาครอบเหล่านั้นแล้วต่อสายไฟเข้าไป

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

หลังจากเตรียมแผงแล้ว เราก็ตัดด้านข้างของโครงเพื่อให้มีที่ว่างสำหรับแผงและสายไฟ

จากนั้นเราก็เอาฝุ่นไม้ออกจากชิ้นส่วนทั้งหมดด้วยเครื่องดูดฝุ่นแล้วคลุมด้วยแผ่นไวนิล

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

บนเฟรมเราใช้มีดของเราเพื่อขจัด MDF เล็กน้อยอีกครั้ง ซึ่งทำให้เรามีพื้นผิวที่ยึดเกาะได้ดีสำหรับกาวร้อน จากนั้นเราก็สามารถติดส่วนประกอบที่ด้านข้างของกรอบของเราได้

ขั้นตอนที่ 7: ประสาน PCB หลัก

ประสาน PCB หลัก
ประสาน PCB หลัก
ประสาน PCB หลัก
ประสาน PCB หลัก
ประสาน PCB หลัก
ประสาน PCB หลัก

ปล่อยให้เฟรมอยู่อย่างที่เป็นอยู่ตอนนี้และไปยัง PCB คุณสามารถเห็นเค้าโครง PCB ในภาพแรก

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

ต่อไปเรามีหมุดส่วนหัวของผู้หญิง เพื่อประหยัดพื้นที่และสามารถเสียบอุปกรณ์อิเล็กทรอนิกส์ของเราจากด้านข้าง เราติดตั้งอุปกรณ์เหล่านั้นในมุม 90 องศา

ทรานซิสเตอร์ไม่พอดีกับระยะห่างรู 2, 54 มม. ของ PCB ของเรา ดังนั้นเราจึงใช้คีมเพื่องอขาอย่างระมัดระวังเพื่อให้ได้รูปร่างดังแสดงในภาพที่สอง ก่อนอื่นเราประสานขาข้างหนึ่งเข้าที่แล้วหมุน PCB จากนั้นเราอุ่นข้อต่อบัดกรีและใช้นิ้วหรือคีมเพื่อจัดตำแหน่งส่วนประกอบอย่างเหมาะสม ตอนนี้เราสามารถประสานขาอีกสองขาที่เหลือเข้าที่

หลังจากส่วนประกอบขนาดเล็กทั้งหมด เราประสาน Arduino และโมดูลนาฬิกาแบบเรียลไทม์ของเราเข้าที่ โมดูล RTC นั้นไม่พอดีกับระยะห่างของรู ดังนั้นเราจะติดตั้งเฉพาะด้านข้างซึ่งมีแผ่นบัดกรี 7 แผ่นพร้อมหมุดส่วนหัว นอกจากนี้เรายังติดเทปไว้ข้างใต้เพื่อป้องกันไฟฟ้าลัดวงจร

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

ในการเชื่อมต่อเราให้ความร้อนกับข้อต่อบัดกรีและใส่ลวด จากนั้นเราเก็บอิออนบัดกรีไว้ จนกว่าจะถึงอุณหภูมิที่เหมาะสม และบัดกรีปิด และเราได้ข้อต่อที่ดูเหมือนในภาพ หากเราไม่ทำให้ลวดร้อนขึ้น เราอาจลงเอยด้วยข้อต่อเย็น ซึ่งจะมีลักษณะคล้ายกับตัวอย่างอื่นและดำเนินการได้ไม่ดีนัก เราสามารถใช้เครื่องตัดลวดเพื่อดันลวดลงขณะบัดกรี และตรวจสอบให้แน่ใจว่าลวดวางราบบน PCB บนเส้นทางเชื่อมต่อที่ยาวขึ้น เราประสานมันกับแผ่นเดียวทุกๆ 5 ถึง 6 รู จนกระทั่งถึงมุมหรือส่วนประกอบถัดไป

ในมุมหนึ่งเราตัดลวดเหนือครึ่งแรกของแผ่นบัดกรีแล้วประสานปลายเข้ากับมัน จากนั้นเราก็นำลวดเส้นใหม่แล้วไปต่อจากตรงนั้นเป็นมุมฉาก

การทำการเชื่อมต่อสายเปล่านั้นค่อนข้างยุ่งยากและต้องใช้ทักษะ ดังนั้นหากคุณทำสิ่งนี้เป็นครั้งแรก ไม่ควรฝึกฝนบน PCB เศษเหล็กก่อนที่จะลองทำกับของจริง

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

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

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

ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา
ประกอบนาฬิกา

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

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

มันอาจจะทำได้ด้วยสติกเกอร์ที่ดีกว่า หรือ ถ้าคุณวาดรูปเก่ง คุณสามารถเพิ่มตัวเลขด้วยความแหลมคมได้

ตอนนี้เรามีส่วนประกอบทั้งหมดและสามารถประกอบนาฬิกาของเราได้

เราเริ่มต้นด้วยการวางไกด์นำแสงและแผงด้านหน้าเข้าด้วยกัน หลังจากใส่น็อตทั้ง 4 ตัวแล้ว เราก็จัดตำแหน่งแผงทั้งสองให้ตรงกันแล้วขันให้แน่น ต่อมามีน็อตสองสามตัวมาที่แผงไฟ ซึ่งเราต้องดูทิศทาง สายเคเบิลควรอยู่ด้านบน

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

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

เราใช้สกรู M3 และตัวเว้นวรรค PCB ของเราเพื่อแก้ไขหน้าต่างเล็ก ๆ การขันสกรูให้แน่นเป็นสิ่งสำคัญ เนื่องจากเราไม่ต้องการทำให้อะคริลิกเสียหาย จากนั้นเราก็นำ PCB ของเราเสียบอะแดปเตอร์แล้วขันเข้ากับสเปเซอร์ ด้านส่วนประกอบควรหันไปทางหน้าต่าง ในขณะที่พอร์ต USB ของ Arduino หันไปทางด้านล่างของนาฬิกา

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

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

เนื่องจากฉันใช้สลักเกลียวสั้นที่มีความยาว 40 มม. ฉันจึงมีน็อต 3 ตัวที่แยกแผงด้านหลังและเฟรมออกจากกัน ด้วยสลักเกลียวขนาด 45 มม. ที่เหมาะสม คุณจะต้องใส่น็อตอีกตัวที่นี่ รวมทั้งแหวนรองเสริมหนึ่งหรือสองตัว ที่ส่วนท้ายของการประกอบ เรามีน็อตล็อกเพื่อให้ทุกอย่างเข้าที่

ขั้นตอนที่ 9: อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง

อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง
อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง
อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง
อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง
อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง
อัปโหลดโค้ดและปรับเทียบเซ็นเซอร์วัดแสง

ได้เวลาอัปโหลดรหัสของเราแล้ว

ก่อนอื่นเราดาวน์โหลดไฟล์ที่จำเป็นทั้งหมดและเปิดเครื่องรูด จากนั้นเราเปิดโฟลเดอร์ไลบรารี Arduino และวางไลบรารีใหม่ทั้งหมดลงในนั้น

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

หลังจากนั้นเราจะเปิดรหัสจริงของนาฬิกาไบนารีและแทนที่ค่าทั้งสองด้วยค่าที่เราเพิ่งวัด

เราปิดหน้าต่างอื่นทั้งหมด อัปโหลดรหัสไปที่นาฬิกาของเรา เท่านี้ก็เสร็จเรียบร้อย

ได้เวลาลองเล่น Gadget ใหม่ของเราแล้ว

ขั้นตอนที่ 10: บทนำอย่างรวดเร็วเกี่ยวกับระบบไบนารี

ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี
ข้อมูลเบื้องต้นเกี่ยวกับระบบไบนารี

ก่อนที่เราจะไปต่อ ผมขอตอบคำถามหนึ่งข้อที่คงค้างอยู่ในใจคุณก่อนว่า

"คุณอ่านนาฬิกาเรือนนี้ได้อย่างไร"

สำหรับสิ่งนี้ ฉันอยากจะแนะนำสั้น ๆ เกี่ยวกับระบบเลขฐานสอง

เราทุกคนต่างคุ้นเคยกับระบบทศนิยม โดยที่แต่ละหลักสามารถมีสถานะที่แตกต่างกันได้ 10 สถานะ ตั้งแต่ 0 ถึง 9 ในเลขฐานสอง แต่ละหลักสามารถมีได้เพียงสองสถานะเท่านั้น 1 หรือ 0 นั่นคือเหตุผลที่คุณสามารถใช้สิ่งง่ายๆ อย่างนำไปสู่ แสดงเลขฐานสอง

ในการแสดงตัวเลขที่มีทศนิยมมากกว่า 9 ให้เพิ่มตัวเลข แต่ละหลักมาพร้อมกับตัวคูณที่แน่นอน หลักแรกจากทางขวามาพร้อมกับตัวคูณของ 1 ตัวถัดไปคือ 10 และตัวถัดไปคือ 100 ตัวคูณใหม่แต่ละตัวจะมีขนาดใหญ่เป็นสิบเท่าของตัวเลขก่อนหน้า เราจึงรู้ว่าเลขสองวางหลักทางซ้ายหนึ่งหลัก แทนเลข 20 ในขณะที่เลขสองหลักอยู่ทางซ้าย มันแทน 200

ในระบบเลขฐานสองแต่ละหลักมาพร้อมกับตัวคูณ อย่างไรก็ตาม เนื่องจากแต่ละหลักสามารถมีสถานะต่างกันได้เพียงสองสถานะ ตัวคูณใหม่แต่ละตัวจึงมีขนาดใหญ่เป็นสองเท่าของค่าก่อนหน้า อ้อ อีกอย่าง เลขฐานสองเรียกว่า Bits ลองมาดูตัวอย่างแรกของเรากัน ถ้าเราวาง 1 ไว้ที่ตำแหน่งต่ำสุด มันจะเป็น 1 ธรรมดา แต่ถ้าเราวางไว้ในตำแหน่งที่สูงกว่าถัดไป โดยที่ตัวคูณของเราคือ 2 มันจะแทนเลข 2 ในรูปเลขฐานสอง

แล้วตัวอย่างที่ยุ่งยากกว่าเล็กน้อยที่ด้านล่างของภาพล่ะ บิตที่สามและบิตแรกเปิดอยู่ เพื่อให้ได้ตัวเลขทศนิยมที่แสดงที่นี่ เราเพียงเพิ่มค่าของสองบิต ดังนั้น 4*1+1*1 หรือ 4+1 ให้เลข 5 กับเรา

8 บิตถูกเรียกว่าไบต์ ดังนั้นเรามาดูกันว่าเราจะได้ตัวเลขอะไรหากเราเติมจำนวนไบต์ด้วยจำนวนเต็ม1+2+4+8+16+32+64+128 คือ 255 ซึ่งเป็นค่าสูงสุดที่ไบต์เดียวสามารถมีได้

อีกอย่าง ในขณะที่ในระบบทศนิยม ตัวเลขที่มีตัวคูณสูงสุดจะมาก่อนเสมอ คุณมีสองวิธีในการเขียนตัวเลขเป็นเลขฐานสอง วิธีการทั้งสองนี้เรียกว่า ไบต์ที่มีนัยสำคัญน้อยที่สุดก่อน (LSB) และไบต์ที่สำคัญที่สุดก่อน (MSB) หากคุณต้องการอ่านเลขฐานสอง คุณต้องรู้ว่ารูปแบบใดในสองรูปแบบที่ใช้ เนื่องจากอยู่ใกล้ระบบทศนิยม นาฬิกาไบนารีของเราจึงใช้ตัวแปร MSB

ให้กลับไปที่ตัวอย่างโลกแห่งความจริงของเรา ดังที่ไฮไลท์ไว้ในภาพที่หก นาฬิกาของเรามี 4 บิตเพื่อแสดงชั่วโมง กว่าที่เรามี 6 บิตสำหรับนาทีและ 6 บิตสำหรับวินาที ยิ่งไปกว่านั้น เรามีบิต am/pm เดียว

เอาล่ะ บอกเวลาในรูปที่ 6 สิ กว่าข้ามไปรูปสุดท้าย. ….

ในส่วนชั่วโมงเรามี 2+1 ซึ่งก็คือ 3 และบิต pm เปิดอยู่ดังนั้นจึงเป็นตอนเย็น ต่อไปเป็นนาทีที่ 32+8 นั่นคือ 40 สำหรับวินาทีที่เรามี 8+4+2 ซึ่งก็คือ 14 นั่นคือ 15:40:14 น. หรือ 15:40:14 น.

ขอแสดงความยินดี คุณเพิ่งเรียนรู้การอ่านนาฬิกาเลขฐานสอง แน่นอนว่ามันต้องใช้ความคุ้นเคยบ้าง และในตอนแรกคุณจะต้องบวกตัวเลขเข้าด้วยกัน ทุกครั้งที่คุณอยากรู้ว่าเวลาเท่าไร แต่คล้ายกับนาฬิกาอะนาล็อกที่ไม่มีหน้าปัด คุณจะชินกับรูปแบบ LED มากกว่า เวลา.

และนั่นเป็นส่วนหนึ่งของโครงการนี้ นำสิ่งที่เป็นนามธรรมเกี่ยวกับระบบเลขฐานสองมาสู่โลกแห่งความเป็นจริง และทำความรู้จักกับมันมากขึ้น

ขั้นตอนที่ 11: การใช้นาฬิกาปลุกไบนารี

การใช้นาฬิกาปลุกไบนารี
การใช้นาฬิกาปลุกไบนารี
การใช้นาฬิกาปลุกไบนารี
การใช้นาฬิกาปลุกไบนารี
การใช้นาฬิกาปลุกไบนารี
การใช้นาฬิกาปลุกไบนารี

ในที่สุด เราก็อยากจะลองเล่นกับนาฬิกาดูบ้าง มาดูส่วนควบคุมกันก่อนดีกว่า

ซอฟต์แวร์สามารถแยกความแตกต่างระหว่างการแตะปุ่มเดียว การแตะสองครั้ง และการแตะแบบยาว ดังนั้นแต่ละปุ่มจึงสามารถใช้เพื่อดำเนินการได้หลายอย่าง

แตะสองครั้งที่ปุ่มขึ้นหรือลงจะเปลี่ยนโหมดสีของ LED คุณสามารถเลือกได้ระหว่างโหมดสีคงที่และโหมดสีซีดจาง รวมถึงโหมดอุณหภูมิ หากคุณอยู่ในโหมดสีคงที่ ให้กดปุ่มขึ้นหรือลงค้างไว้เพื่อเปลี่ยนสี ในโหมดซีดจาง การแตะเพียงครั้งเดียวจะเปลี่ยนความเร็วของแอนิเมชัน

หากต้องการตั้งค่าโหมดหรี่ไฟ ให้แตะสองครั้งที่ปุ่มตกลง แผงไฟ LED ระบุโหมดการตั้งค่าโดยกะพริบหลายครั้ง

  • ครั้งเดียวหมายถึงไม่มีหรี่
  • สองครั้งหมายถึงความสว่างถูกควบคุมโดยเซ็นเซอร์วัดแสง
  • สามครั้งและ LED จะปิดโดยอัตโนมัติหลังจากไม่มีการใช้งาน 10 วินาที
  • สี่ครั้งและโหมดหรี่ไฟทั้งสองแบบรวมกัน

การกดปุ่มตกลงค้างไว้จะนำคุณเข้าสู่โหมดการตั้งค่าเวลา ซึ่งคุณสามารถใช้ลูกศรขึ้นและลงเพื่อเปลี่ยนตัวเลขได้ แตะครั้งเดียวที่ปุ่มตกลงจะนำคุณจากชั่วโมงเป็นนาที แตะอีกครั้งและคุณสามารถตั้งค่าวินาทีได้ หลังจากนั้น การแตะครั้งสุดท้ายจะช่วยประหยัดเวลาใหม่ หากคุณเข้าสู่โหมดการตั้งค่าเวลาโดยบังเอิญ คุณสามารถรอ 10 วินาทีและนาฬิกาจะออกจากโหมดนี้โดยอัตโนมัติ

เช่นเดียวกับปุ่ม ok การกดปุ่มนาฬิกาปลุกค้างไว้จะช่วยให้คุณตั้งเวลาปลุกได้ แตะสองครั้งที่ปุ่มปลุกเพื่อเปิดใช้งานหรือปิดใช้งานการเตือน

หากนาฬิกาดังขึ้น คุณแตะปุ่มนาฬิกาปลุกเพียงครั้งเดียว เพื่อส่งให้เข้าสู่โหมดสลีปเป็นเวลา 5 นาทีหรือกดค้างไว้ เพื่อปิดการปลุก

นี่คือฟังก์ชันทั้งหมดที่นาฬิกามีจนถึงตอนนี้ ฉันอาจเพิ่มมากขึ้นในอนาคตซึ่งคุณจะได้รับหากคุณดาวน์โหลดเฟิร์มแวร์เวอร์ชันล่าสุด

ขั้นตอนที่ 12: ทำความเข้าใจรหัส (ไม่บังคับ)

การทำความเข้าใจรหัส (ไม่บังคับ)
การทำความเข้าใจรหัส (ไม่บังคับ)

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

อย่างไรก็ตาม หากคุณสนใจในส่วนการเขียนโค้ด ผมอยากจะให้ภาพรวมทั่วไปของโปรแกรมแก่คุณ

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

ในกรณีที่คุณไม่รู้ว่ามันหมายถึงอะไร การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นแนวคิดของภาษาโปรแกรมสมัยใหม่ส่วนใหญ่ เช่น C++ ช่วยให้คุณสามารถจัดระเบียบฟังก์ชันและตัวแปรต่าง ๆ ลงในคลาสที่เรียกว่า คลาสคือเทมเพลตที่คุณสามารถสร้างหนึ่งหรือหลายออบเจ็กต์ได้ แต่ละอ็อบเจ็กต์นี้ได้รับชื่อและเป็นชุดของตัวแปรของตัวเอง

ตัวอย่างเช่น รหัสของนาฬิกาใช้อ็อบเจ็กต์ MultiTouchButton สองสามตัว เช่น alarmButton นั่นคือวัตถุจากคลาส MultiTouchButton ซึ่งเป็นส่วนหนึ่งของไลบรารีปุ่มของฉัน สิ่งที่ยอดเยี่ยมเกี่ยวกับออบเจกต์เหล่านั้นคือ คุณสามารถเชื่อมต่อกับพวกมันได้เหมือนกับวัตถุในโลกแห่งความเป็นจริง ตัวอย่างเช่น เราสามารถตรวจสอบว่ามีการแตะปุ่มนาฬิกาปลุกสองครั้งโดยการเรียก alarmButton.wasDoubleTapped() หรือไม่ นอกจากนี้ การใช้งานฟังก์ชันนี้จะถูกซ่อนไว้อย่างดีในไฟล์อื่น และเราไม่ต้องกังวลว่าจะพังโดยการเปลี่ยนแปลงอย่างอื่นในโค้ดของเรา การเข้าสู่โลกแห่งการเขียนโปรแกรมเชิงวัตถุอย่างรวดเร็ว สามารถพบได้บนเว็บไซต์ของ Adafruit

ดังที่คุณเห็นในภาพด้านบน โปรแกรมนาฬิกามีออบเจ็กต์ต่างๆ มากมาย

เราเพิ่งพูดถึงวัตถุปุ่ม ซึ่งสามารถแปลสัญญาณอินพุตเป็นการแตะ แตะสองครั้ง หรือกดค้าง

ตู้เพลงตามชื่อก็ส่งเสียงดังได้ มีท่วงทำนองมากมายที่สามารถเล่นผ่านลำโพงขนาดเล็กได้

ออบเจ็กต์ binaryClock จัดการการตั้งค่าเวลาและนาฬิกาปลุก รวมถึงการดูนาฬิกาปลุก นอกจากนี้ยังได้รับเวลาจากโมดูล rtc และแปลงเป็นบัฟเฟอร์ข้อมูลไบนารีสำหรับ ledPanel

colorController สรุปฟังก์ชันเอฟเฟกต์สีทั้งหมดและจัดเตรียม colorBuffer สำหรับ ledPanel นอกจากนี้ยังบันทึกสถานะไว้ใน Arduinos EEProm

ตัวหรี่จะดูแลความสว่างของนาฬิกา มีโหมดต่างๆ ที่ผู้ใช้สามารถวนรอบได้ โหมดปัจจุบันจะถูกบันทึกไว้ใน EEProm ด้วย

ledPanel จัดการบัฟเฟอร์ที่แตกต่างกันสำหรับค่าสี ค่าความสว่าง และสถานะไบนารีของ LED แต่ละดวง เมื่อใดก็ตามที่มีการเรียกใช้ฟังก์ชัน pushToStrip() มันจะซ้อนทับฟังก์ชันเหล่านั้นและส่งไปยังแถบนำ

ออบเจ็กต์ทั้งหมด "เชื่อมต่อ" ผ่านหลัก (ไฟล์ที่มีฟังก์ชันการตั้งค่าและวนซ้ำ) ที่มีเพียงสองฟังก์ชันเท่านั้นเพื่อทำงานที่จำเป็น 3 อย่าง

  1. การตีความอินพุตของผู้ใช้ - รับอินพุตจากออบเจ็กต์ปุ่ม 4 ปุ่มและใส่ผ่านตรรกะ ตรรกะนี้จะตรวจสอบสถานะปัจจุบันของนาฬิกาเพื่อระบุว่านาฬิกาอยู่ในโหมดปกติ การตั้งค่าเวลาหรือโหมดเสียงเรียกเข้า และเรียกใช้ฟังก์ชันที่แตกต่างจากวัตถุอื่นๆ ตามลำดับ
  2. การจัดการการสื่อสารระหว่างอ็อบเจ็กต์ - มันถามอ็อบเจกต์ binaryClock ตลอดเวลา ว่ามีข้อมูลใหม่หรือไม่ หรือมีสัญญาณเตือน isRinging() หากมีข้อมูลใหม่ จะได้รับ informationBuffer จาก binaryClock และส่งไปยังอ็อบเจ็กต์ ledPanel ถ้านาฬิกาดัง แสดงว่าตู้เพลงเริ่ม
  3. กำลังอัปเดตอ็อบเจ็กต์ - ออบเจ็กต์แต่ละรายการของโปรแกรมมีขั้นตอนการอัปเดต ซึ่งใช้สำหรับการตรวจสอบอินพุตหรือการเปลี่ยนสีของ LED จำเป็นต้องเรียกใช้ซ้ำในฟังก์ชันลูปเพื่อให้นาฬิกาทำงานได้อย่างถูกต้อง

นั่นจะทำให้คุณเข้าใจโดยทั่วไปว่าโค้ดแต่ละส่วนทำงานร่วมกันอย่างไร หากคุณมีคำถามที่เฉพาะเจาะจงมากขึ้น คุณสามารถถามฉันได้

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

ขั้นตอนที่ 13: คำสุดท้าย

คำพูดสุดท้าย
คำพูดสุดท้าย

ฉันดีใจที่คุณอ่านมาถึงจุดนี้ นั่นหมายความว่าโครงการของฉันไม่น่าเบื่อเกินไป:)

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

ฉันชอบที่จะได้ยินสิ่งที่คุณคิดเกี่ยวกับนาฬิกาในความคิดเห็นด้านล่าง:)

แม้ว่าฉันจะพยายามปกปิดทุกรายละเอียด แต่ฉันอาจพลาดสิ่งหนึ่งหรือสองอย่าง ดังนั้นอย่าลังเลที่จะถามหากมีคำถามใด ๆ เหลืออยู่

เช่นเคยขอบคุณมากสำหรับการอ่านและการทำมีความสุข

การประกวด LED 2017
การประกวด LED 2017
การประกวด LED 2017
การประกวด LED 2017

รองชนะเลิศการแข่งขัน LED Contest 2017

แนะนำ: