หัวใจเคลื่อนไหว: 5 ขั้นตอน (พร้อมรูปภาพ)
หัวใจเคลื่อนไหว: 5 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Image
Image
วัสดุและเครื่องมือ
วัสดุและเครื่องมือ

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

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

มันวิ่งออกจาก coincell และใช้ไมโครคอนโทรลเลอร์ทั่วไปราคาถูกอย่าง ATTINY13 8 พิน ซึ่งสามารถตั้งโปรแกรมได้อย่างสะดวกด้วย Arduino Uno ด้วยเทคนิคพิเศษของ charlieplexing ไฟ LED 12 ดวงสามารถควบคุมแยกกันได้โดยใช้ขาออกเพียง 4 ขาเท่านั้น

ขั้นตอนที่ 1: วัสดุและเครื่องมือ:

วัสดุ:

  • ไฟ LED สีแดง 12 5 มม.
  • บอร์ดต้นแบบขนาด 3x7 ซม. (10x24 รู สีเขียวหนาสองหน้าดีที่สุด)
  • ไมโครคอนโทรลเลอร์ Attiny13A
  • ซ็อกเก็ต DIP 8 พิน
  • มินิสวิตช์
  • ที่ใส่เซลล์เหรียญ
  • เซลล์เหรียญ CR2032
  • ลวดเชื่อมแบบควั่นหลากสี 20 ซม
  • ลวดแกนแข็งหนา 15 ซม.

เครื่องมือ:

  • Arduino Uno เพื่อตั้งโปรแกรม ATTINY
  • หัวแร้ง
  • ที่หนีบลวด

ขั้นตอนที่ 2: สร้างหัวใจ

สร้างหัวใจ
สร้างหัวใจ
สร้างหัวใจ
สร้างหัวใจ
สร้างหัวใจ
สร้างหัวใจ

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

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

ทดสอบว่าใช้งานได้: หัวใจมีการเชื่อมต่อไฟฟ้าสี่จุดที่แสดงเป็นสีน้ำเงิน เขียว เหลือง และขาวในแผนภาพ เชื่อมต่อกราวด์กับการเชื่อมต่อหนึ่งและ +5V ในซีรีย์ด้วยตัวต้านทาน 1kOhm กับอีกอันหนึ่ง ไฟ LED 1 ดวงควรสว่างขึ้น และไฟ LED ทั้ง 12 ดวงควรสว่างด้วยวิธีนี้

ขั้นตอนที่ 3: เรียกใช้หัวใจจาก Arduino

Image
Image
ย้ายไป ATTINY
ย้ายไป ATTINY

อัปโหลดภาพสเก็ตช์ที่แนบไปยัง Arduino UNO หรือ Nano และติดหมุด D8-D11 เข้ากับจุดเชื่อมต่อไฟฟ้า 4 จุดของหัวใจ: D8 เป็นสีน้ำเงิน D9 เป็นสีเขียว D10 เป็นสีเหลือง และ D11 เป็นสีขาว หัวใจควรแสดงภาพเคลื่อนไหวที่มีความยาวประมาณ 1 นาที

โค้ดสามารถปรับแต่งเพื่อเปลี่ยนความเร็วหรือเปลี่ยนภาพเคลื่อนไหวได้ อาร์เรย์ 'patt' มีรูปแบบแอนิเมชั่น สองไบต์ของแต่ละขั้นตอนระบุว่าไฟ LED ดวงใดติดอยู่ในแต่ละขั้นตอน ไฟ LED มีหมายเลข 0-11 โดยเริ่มจากด้านล่างและหมุนทวนเข็มนาฬิกาไปรอบๆ LED0 สอดคล้องกับบิต 0, LED1 ถึงบิต 1 เป็นต้น

อาร์เรย์รูปแบบถูกเก็บไว้ในหน่วยความจำของโปรแกรม ซึ่งช่วยให้แอนิเมชั่นสมบูรณ์ยิ่งขึ้นกว่าที่เก็บใน RAM ร่างปัจจุบันมี 168 ขั้นตอน สำหรับ Arduino นั้นมีพื้นที่สำหรับอีกหลายพัน และแม้แต่ ATTINY13 ซึ่งมีหน่วยความจำโปรแกรมเพียง 1kByte ก็มีพื้นที่สำหรับประมาณ 400 ขั้น

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

ขั้นตอนที่ 4: ย้ายไปที่ ATTINY

ย้ายไป ATTINY
ย้ายไป ATTINY
ย้ายไป ATTINY
ย้ายไป ATTINY

รหัสมีขนาดเล็กพอที่จะใส่ลงในไมโครคอนโทรลเลอร์ 8 พินขนาดเล็กที่สะดวกมาก ATTINY13A แบบร่างจากขั้นตอนก่อนหน้าจะทำงานโดยไม่มีการดัดแปลงใดๆ บน ATTINY

  • มีคำแนะนำเฉพาะ https://www.instructables.com/id/Programming-an-A… วิธีตั้งโปรแกรม ATTINY13A สรุปสั้น ๆ อยู่ด้านล่าง:
  • เริ่มต้น Arduino IDE เปิด 'การตั้งค่า' จากนั้นเพิ่ม https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json สำหรับผู้จัดการบอร์ดเพิ่มเติม
  • ภายใต้ 'เครื่องมือ/บอร์ด' เลือก 'ตัวจัดการบอร์ด' และที่ด้านล่างของรายการ ให้ติดตั้ง 'ไมโครคอร์โดย MCUdude'
  • เชื่อมต่อ Arduino Uno และอัปโหลด 'ArduinoISP' มีอยู่ใน 'ไฟล์/ตัวอย่าง'
  • เชื่อมต่อ Arduino กับ ATtiny ทำได้ง่ายที่สุดโดยวาง ATtiny ไว้บนตัวป้องกันต้นแบบ: Arduino pin 13 - ATtiny pin 7 Arduino pin 12 - ATtiny pin 6 Arduino pin 11 - ATtiny pin 5 Arduino pin 10 - ATtiny pin 1 Arduino +5v - ATtiny pin 8 Arduino GND - ATtiny pin 4
  • เลือก 'Board ATtiny13', 'B. O. D 2.7V', 'Clock 1.2 MHz internal' และโปรแกรมเมอร์ 'Arduino เป็น ISP' (โปรดทราบว่า: ไม่ใช่ 'ArduinoISP' แต่ 'Arduino เป็น ISP')
  • ทำ 'เบิร์น Bootloader' - ไม่มี bootloader สำหรับ attiny และอาจมีข้อผิดพลาด แต่ขั้นตอนนี้จำเป็นสำหรับ 'ตั้งค่าฟิวส์' เป็นการตั้งค่านาฬิกาที่ถูกต้อง อัปโหลดภาพร่าง

ทดสอบว่าใช้งานได้หรือไม่: เชื่อมต่อการเชื่อมต่อสีน้ำเงิน, สีเขียว, สีเหลืองและสีขาวของหัวใจกับ PB0 (พิน 5), PB1 (พิน 6), PB2 (พิน 7) และ PB3 (พิน 2) ตามลำดับ หัวใจควรเคลื่อนไหวในลักษณะเดียวกับ Arduino เพียงช้าลงเล็กน้อย ตรวจสอบด้วยว่าใช้งานได้เมื่อ ATTINY ใช้พลังงานจาก coincell

ขั้นตอนที่ 5: การสิ้นสุดโครงการ

กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ
กำลังสรุปโครงการ

ตอนนี้คุณมีวงจรหัวใจและ ATTINY ที่ตั้งโปรแกรมไว้แล้ว โปรเจ็กต์ก็จะเสร็จสิ้นได้ ประสานซ็อกเก็ต IC ที่ยึดเซลล์แบบเหรียญ และสวิตช์เปิด/ปิดเข้ากับบอร์ดต้นแบบ และเชื่อมต่อให้เสร็จสมบูรณ์ตามที่แสดงในแผนภาพ ใส่ ATTINY, coincell และเปิดเครื่องเพื่อตรวจสอบว่าใช้งานได้หรือไม่

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

พร้อมที่จะมอบของขวัญวาเลนไทน์สุดวิเศษ!

การประกวดหัวใจ
การประกวดหัวใจ
การประกวดหัวใจ
การประกวดหัวใจ

รองชนะเลิศอันดับการประกวดหัวใจ