![Arduino Mario Clock: 3 ขั้นตอน Arduino Mario Clock: 3 ขั้นตอน](https://img.gwsigeps.com/img/circuits/arduino-mario-clock-4.jpg)
สารบัญ:
มันเป็นนาฬิกาปลุกตั้งโต๊ะดนตรีที่มีธีมของเกมมาริโอที่รู้จักกันดี จริงๆแล้วฉันชอบที่จะตื่นขึ้นมาด้วยธีมมาริโอแทนที่จะเป็นมือถือของฉัน นอกจากนี้ไฟ LED (หลอดสี) ยังทำให้กะพริบสวยงามยิ่งขึ้น
คุณสมบัติ:
- การแสดงเวลา, วันที่, อุณหภูมิ
- ภาพและเพลงของมาริโอในธีมเริ่มต้นและเวลาปลุก
- ปรับเวลาวันที่ปลุก
ชิ้นส่วนที่ใช้:
- 1x Arduino ProMini 5v
- 1x Nokia 5110 LCD
- 1x โมดูล DS1307 (นาฬิกาเรียลไทม์)
- ลำโพง 1x / Buzzer
- เซ็นเซอร์อุณหภูมิ DS18b20 1x
- 1x กระดานอิเล็กทรอนิกส์
- 4x LED (สีที่ต่างกัน)
- ปุ่มกด 4x
- ตัวต้านทาน 4x 220 (สำหรับ LED)
- ตัวต้านทาน 5x 1K (4x สำหรับปุ่ม, 1x สำหรับเซ็นเซอร์อุณหภูมิ)
- 1x แท่งกาวร้อน (หลอด) ซึ่งตัดเป็น 4 ชิ้น 2x6 ซม. และ 2x8 ซม
- แหวนโลหะและกระบอกสูบ 8x (ฉันใช้ลูกปัดเฟอร์ไรต์ที่กู้จากเครื่องพิมพ์เก่าของฉัน)
- 1x กล่องพลาสติก
- แบตเตอรี่ขนาดเล็ก 5x หรือ 4x AA แบตเตอรี่
- เครื่องมือ: ปืนกาวร้อนหัวแร้งคีมสายไฟบาง …
วัสดุ:
ขั้นตอนที่ 1: สร้างกล่องนาฬิกาตั้งโต๊ะ
หากคุณต้องการที่จะใช้มันเป็นนาฬิกาตั้งโต๊ะจริงเพื่อหากล่องสวย ฉันใช้หัวแร้งละลายกล่องและทำให้เป็นรูสำหรับปุ่มกดและจอแอลซีดี
ขั้นตอนที่ 2: สร้างวงจร
ติดตั้งปุ่มกดและตัวต้านทานบนบอร์ด ใส่บอร์ดในกล่องด้วยกาวร้อน เชื่อมต่อไฟ LED ใต้หลอดกาว ใช้เหล็กประสานเพื่อสร้างรูโพรบภายในท่อ ติดตั้งชิ้นส่วนเช่นเซ็นเซอร์อุณหภูมิ rtc แบตเตอรี่และอื่น ๆ ภายในกล่องด้วยกาวร้อน
ขั้นตอนที่ 3: รหัส Arduino
ฉันสร้างรูปสองสามภาพ (หน้าจอสแปลชมาริโอ, กระโดดมาริโอ, ไอคอนอุณหภูมิ, ไอคอนเตือนภัย) ด้วย MSPaint ซึ่งสามารถแปลงเป็นข้อมูลไบนารีผ่าน LCDAssistant ติดนิสิตทุกตัว
ฉันคิดว่ารหัสนั้นเรียบง่ายและเรียบง่าย แต่คำแนะนำของรหัสต่อไปนี้มีประโยชน์
ชั้นเรียน:
- NokiaFa5110: คลาสไดรเวอร์ Nokia LCD
- ประโยชน์: รูปภาพบิตแมป
- DS1307RTC, เวลา: ใช้สำหรับโมดูลเวลาวันที่
- Wire, OneWire, DallasTemperature: ใช้สำหรับเซ็นเซอร์อุณหภูมิ
- EEPROM, avr / pgmspace: เพื่อใช้หน่วยความจำ EEPROM
- Narcoleptic: คลาสที่ใช้งานง่ายเพื่อลดการใช้แบตเตอรี่ผ่านความล่าช้า
คำแนะนำ:
- ตัวแปรตัวพิมพ์ใหญ่และตัวพิมพ์ใหญ่ที่ใช้เพื่อจัดการเมนูและสถานะโปรแกรมที่แตกต่างกัน
- หน่วยความจำ EEPROM ใช้เพื่อบันทึกตัวแปรวันที่และเวลาที่ปรับแล้ว
- ฉันพยายามรีเฟรช LCD บางส่วนเมื่อเวลาวันที่หรืออุณหภูมิเปลี่ยนแปลง จอแอลซีดีเป็นส่วนที่ใช้แบตเตอรี่มากที่สุด
- คลาส Narcoleptic ทำให้ง่ายต่อการลดการใช้งานแบตเตอรี่บอร์ด Arduino เมื่อไม่มีงานทำ (ล่าช้า)