สารบัญ:

เทียนไร้ตำหนิจาก Attiny13: 4 ขั้นตอน
เทียนไร้ตำหนิจาก Attiny13: 4 ขั้นตอน

วีดีโอ: เทียนไร้ตำหนิจาก Attiny13: 4 ขั้นตอน

วีดีโอ: เทียนไร้ตำหนิจาก Attiny13: 4 ขั้นตอน
วีดีโอ: Lect_ວິເຄາະອອກແບບວັດຖຸ_Part 8 [14062022] 2024, พฤศจิกายน
Anonim
เทียนไร้ตำหนิจาก Attiny13
เทียนไร้ตำหนิจาก Attiny13

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

ขั้นตอนที่ 1: ชิ้นส่วน

ชิ้นส่วน
ชิ้นส่วน

ฉันใช้ของที่มีอยู่ สิ่งนี้ออกมา 1) ATtiny13 x12) ไฟ LED สีแดง x13) ไฟ LED สีเหลือง x14) ตัวต้านทาน 100 โอห์ม x25) ซ็อกเก็ต 8 พิน x16) สวิตช์ผ่านรู x17) ที่ใส่แบตเตอรี่สำหรับแบตเตอรี่ 2AA x18) บอร์ดตัวต้านทาน perf จะแตกต่างกันไปตามไฟ LED ของคุณ คุณสามารถ อาจพบสวิตช์ที่ดีกว่าฉัน คุณสามารถข้ามบอร์ดที่สมบูรณ์แบบและต่อสายกับบั๊กที่ตายแล้วได้หากต้องการ

ขั้นตอนที่ 2: วงจร

The Circuit
The Circuit

วงจรพื้นฐานของฉัน แค่ต่อแบบนี้

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

นี่คือรหัสที่ฉันใช้ ฉันแค่กระพริบไฟ LED แล้วลองเพิ่มการสุ่มเข้าไป รหัสน่าจะดีกว่านี้เมื่อใช้ pwm และคุณสมบัติการประหยัดพลังงาน แต่ฉันไม่รู้ว่าต้องทำอย่างไร วงจรที่ไม่ใช่ Arduino ตัวแรกของฉันและคำสั่งแรกของฉัน เอฟเฟกต์จากไฟ LED สองดวงนั้นน่าพอใจทั้งๆ ที่ฉันทำแบบนั้น ความสว่าง สี และการกะพริบที่ต่างกัน รวบรวมและอัปโหลดโค้ดไปที่ tiny13 และคุณพร้อมแล้ว โพสต์โค้ดได้ดีขึ้นโดยไม่ลังเลเลย…#include int main(void) { int thePin = 0x0; randVal ยาว; สุ่ม(123); //สุ่มเมล็ด DDRB = 0x3; // B0-1 ตั้งค่าเป็นเอาต์พุตสำหรับ (;;) { randVal = สุ่ม (); // เลือกพิน if((randVal % 2) == 0) { thePin = 0x0; } อื่น ๆ { thePin = 0x1; } randVal = สุ่ม (); // สูงหรือต่ำ if ((randVal % 2) == 0) { PORTB &= ~ (1 << thePin); // x &= ~(1 << n); บังคับให้บิตที่ n ของ x เป็น 0 บิตอื่น ๆ ทั้งหมดเหลืออยู่ตามลำพัง } อื่น ๆ { PORTB |= (1 << thePin); // x |= (1 << n); บังคับให้บิตที่ n ของ x เป็น 1 บิตอื่นๆ ทั้งหมดเหลืออยู่ตามลำพัง } }}

ขั้นตอนที่ 4: นั่นคือมัน

อย่างนั้นแหละ
อย่างนั้นแหละ

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

แนะนำ: