สารบัญ:

LED ที่ตั้งโปรแกรมได้: 6 ขั้นตอน (พร้อมรูปภาพ)
LED ที่ตั้งโปรแกรมได้: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: LED ที่ตั้งโปรแกรมได้: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: LED ที่ตั้งโปรแกรมได้: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Led Studio - How to play content on led screen - การเล่นไฟล์บนโปรแกรมแอลอีดี สตูดิโอ 2024, พฤศจิกายน
Anonim
LED ที่ตั้งโปรแกรมได้
LED ที่ตั้งโปรแกรมได้

แรงบันดาลใจจาก LED Throwies ต่างๆ ไฟ LED กะพริบและคำแนะนำที่คล้ายกัน ฉันต้องการสร้าง LED ในเวอร์ชันที่ควบคุมโดยไมโครคอนโทรลเลอร์ แนวคิดคือการทำให้ลำดับการกะพริบของ LED สามารถตั้งโปรแกรมใหม่ได้ การตั้งโปรแกรมใหม่นี้สามารถทำได้ด้วยแสงและเงา เช่น การตั้งโปรแกรมใหม่ คุณสามารถใช้ไฟฉายของคุณ นี่เป็นคำสั่งแรกของฉัน ยินดีต้อนรับความคิดเห็นหรือการแก้ไขใด ๆ อัปเดต 2008-08-12: ขณะนี้มีชุดอุปกรณ์พร้อมใช้งานที่ Tinker Store นี่คือวิดีโอของการตั้งโปรแกรมใหม่ ขออภัยในคุณภาพ

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

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

ตัวควบคุมมีโหมดการทำงานสองโหมด โหมดหนึ่งสำหรับบันทึกซีเควนซ์ และอีกโหมดสำหรับเล่นซีเควนซ์ที่บันทึกไว้ เมื่อตัวควบคุมสังเกตเห็นการเปลี่ยนแปลงของความสว่างสองครั้งภายในครึ่งวินาที (มืด สว่าง มืดหรือในทางกลับกัน) ตัวควบคุมจะเปลี่ยนเป็นโหมดบันทึก ในโหมดการบันทึกข้อมูล อินพุตของ LDR จะถูกวัดหลายครั้งต่อวินาทีและจัดเก็บไว้ในชิป หากหน่วยความจำหมด ตัวควบคุมจะสลับกลับไปที่โหมดการเล่นและเริ่มเล่นลำดับที่บันทึกไว้ เนื่องจากหน่วยความจำของคอนโทรลเลอร์ขนาดเล็กนี้มีจำกัดมาก 64 ไบต์ (ใช่ ไบต์!) คอนโทรลเลอร์จึงสามารถบันทึกได้ 400 บิต นั่นคือพื้นที่เพียงพอสำหรับ 10 วินาทีกับ 40 ตัวอย่างต่อวินาที

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

วัสดุและเครื่องมือ
วัสดุและเครื่องมือ
วัสดุและเครื่องมือ
วัสดุและเครื่องมือ

วัสดุ- ตัวต้านทาน 2 x 1K- 1 x LDR (ตัวต้านทานแบบพึ่งพาแสง) เช่น M9960- 1 x LED กระแสไฟต่ำ, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB flash RAM, 64 Bytes RAM, 64 Bytes EEPROM, [email protected] x CR2032, 3V, 220mAhเครื่องมือ- หัวแร้ง - ลวดบัดกรี- เขียงหั่นขนม- โปรแกรมเมอร์ AVR- แหล่งจ่ายไฟ 5V- มัลติมิเตอร์ซอฟต์แวร์- Eclipse- ปลั๊กอิน CDT- WinAVRCosts โดยรวมควรต่ำกว่า 5$ โดยไม่ต้องใช้เครื่องมือ ฉันใช้ ATtiny13v เพราะคอนโทรลเลอร์ตระกูลรุ่นนี้สามารถทำงานได้ที่ 1.8V ทำให้สามารถรันวงจรด้วยแบตเตอรี่ที่มีขนาดเล็กมาก เพื่อให้มันทำงานเป็นเวลานานมาก ฉันตัดสินใจใช้ LED กระแสไฟต่ำซึ่งถึงความสว่างเต็มที่ที่ 2ma แล้ว

ขั้นตอนที่ 3: แผนผัง

แผนผัง
แผนผัง

ความคิดเห็นบางอย่างเกี่ยวกับแผนผัง อินพุตการรีเซ็ตไม่ได้เชื่อมต่อ นี่ไม่ใช่แนวปฏิบัติที่ดีที่สุด ควรใช้ตัวต้านทาน 10K เมื่อดึงขึ้น แต่มันใช้ได้ดีสำหรับฉันโดยไม่ใช้และช่วยประหยัดตัวต้านทาน เพื่อให้วงจรเรียบง่ายที่สุด ฉันใช้ออสซิลเลเตอร์ภายใน นั่นหมายความว่าเราประหยัดคริสตัลและตัวเก็บประจุขนาดเล็กสองตัว ออสซิลเลเตอร์ภายในช่วยให้คอนโทรลเลอร์ทำงานที่ 1.2MHz ซึ่งเกินความเร็วเพียงพอสำหรับจุดประสงค์ของเรา หากคุณตัดสินใจที่จะใช้แหล่งจ่ายไฟอื่นที่มากกว่า 5V หรือใช้ LED อื่น คุณต้องคำนวณตัวต้านทาน R1 สูตรคือ R = (แหล่งจ่ายไฟ V - LED V) / 0.002A = 1650 โอห์ม (แหล่งจ่ายไฟ = 5V, LED V = 1.7V) ใช้ไฟ LED กระแสต่ำสองดวงแทนหนึ่งดวง สูตรจะมีลักษณะดังนี้: R = (แหล่งจ่ายไฟ V - 2 * LED V) / 0.002A = 800 โอห์ม โปรดทราบว่าคุณต้องปรับการคำนวณหากคุณเลือก LED ชนิดอื่น ค่าของตัวต้านทาน R2 ขึ้นอยู่กับ LDR ที่ใช้ 1KOhm ใช้งานได้สำหรับฉัน คุณอาจต้องการใช้โพเทนชิออมิเตอร์เพื่อค้นหาค่าที่ดีที่สุด cicuit ควรจะสามารถตรวจจับการเปลี่ยนแปลงของแสงในเวลากลางวันปกติ เพื่อประหยัดพลังงาน PB3 จะถูกตั้งค่าเป็นสูงเท่านั้น หากทำการวัดเสร็จแล้ว อัปเดต: แผนผังทำให้เข้าใจผิด ด้านล่างเป็นรุ่นที่ถูกต้อง ขอบคุณ dave_chatting

ขั้นตอนที่ 4: ประกอบบนกระดานต้นแบบ

ประกอบบนกระดานต้นแบบ
ประกอบบนกระดานต้นแบบ
ประกอบบนกระดานต้นแบบ
ประกอบบนกระดานต้นแบบ

หากคุณต้องการทดสอบวงจรของคุณ เขียงหั่นขนมมีประโยชน์มาก คุณสามารถประกอบชิ้นส่วนทั้งหมดโดยไม่ต้องบัดกรีอะไรเลย

ขั้นตอนที่ 5: ตั้งโปรแกรมวงจร

โปรแกรมวงจร
โปรแกรมวงจร
โปรแกรมวงจร
โปรแกรมวงจร

คอนโทรลเลอร์สามารถตั้งโปรแกรมในภาษาต่างๆ ได้ ส่วนใหญ่ที่ใช้คือ Assembler, Basic และ C ฉันใช้ C เนื่องจากตรงกับความต้องการของฉันมากที่สุด ฉันเคยชินกับ C เมื่อสิบปีที่แล้วและสามารถฟื้นความรู้บางอย่างได้ (ก็มีเพียงบางส่วนเท่านั้น…) ในการเขียนโปรแกรมของคุณ ฉันแนะนำ Eclipse ด้วยปลั๊กอิน CDT รับ eclipse ที่นี่ https://www.eclipse.org/ และปลั๊กอินที่นี่ https://www.eclipse.org/cdt/ สำหรับการรวบรวมภาษา C เป็นไมโครคอนโทรลเลอร์ AVR คุณจะต้องใช้คอมไพเลอร์ข้าม โชคดีที่เรามีท่าเรือของ GCC ที่มีชื่อเสียง มันถูกเรียกว่า WinAVR และสามารถพบได้ที่นี่ https://winavr.sourceforge.net/. บทช่วยสอนที่ดีมากเกี่ยวกับวิธีการตั้งโปรแกรมตัวควบคุม AVR ด้วย WinAVR อยู่ที่นี่ https://www.mikrocontroller.net/articles/AVR-GCC- กวดวิชา ขออภัย เป็นภาษาเยอรมัน แต่คุณอาจพบหน้าบทช่วยสอนหลายพันหน้าในภาษาของคุณ หากคุณค้นหาหน้าเหล่านี้ หลังจากรวบรวมซอร์สของคุณแล้ว คุณต้องโอนไฟล์ hex ไปยังคอนโทรลเลอร์ สามารถทำได้โดยเชื่อมต่อพีซีของคุณเข้ากับวงจรโดยใช้ ISP (ในโปรแกรมเมอร์ระบบ) หรือใช้โปรแกรมเมอร์เฉพาะ ฉันใช้โปรแกรมเมอร์เฉพาะเนื่องจากทำให้วงจรง่ายขึ้นเล็กน้อยโดยประหยัดสายไฟและปลั๊ก ข้อเสียคือ คุณต้องสลับคอนโทรลเลอร์ระหว่างวงจรและโปรแกรมเมอร์ทุกครั้งที่คุณต้องการอัปเดตซอฟต์แวร์ โปรแกรมเมอร์ของฉันมาจาก https://www.myavr.de/ และใช้ USB เพื่อเชื่อมต่อกับโน้ตบุ๊กของฉัน มีโปรแกรมอื่นๆ อีกมากมายอยู่รอบๆ และคุณสามารถสร้างมันเองได้ สำหรับการถ่ายโอนนั้น ฉันใช้โปรแกรมชื่อ avrdude ซึ่งเป็นส่วนหนึ่งของการแจกจ่าย WinAVR ตัวอย่างบรรทัดคำสั่งอาจมีลักษณะดังนี้:

avrdude -F -p t13 -c avr910 -P com4 -U แฟลช:w:flickled.hex:iแนบ คุณอาจได้รับแหล่งที่มาและไฟล์ฐานสิบหกที่คอมไพล์แล้ว

ขั้นตอนที่ 6: การบัดกรี

บัดกรี
บัดกรี

หากวงจรของคุณทำงานบนเขียงหั่นขนม คุณสามารถบัดกรีได้

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

แนะนำ: