สารบัญ:

ไฟท้ายจักรยานแบบบิด: 9 ขั้นตอน (พร้อมรูปภาพ)
ไฟท้ายจักรยานแบบบิด: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟท้ายจักรยานแบบบิด: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟท้ายจักรยานแบบบิด: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: รีวิวไฟท้ายจักรยานติดตะแกรงหลัง ฟังก์ชั่นเพียบบบ! 2024, กรกฎาคม
Anonim
ไฟท้ายจักรยานทรงบิด
ไฟท้ายจักรยานทรงบิด
ไฟท้ายจักรยานทรงบิด
ไฟท้ายจักรยานทรงบิด
ไฟท้ายจักรยานทรงบิด
ไฟท้ายจักรยานทรงบิด

มาเผชิญหน้ากัน ไฟท้ายก็น่าเบื่อ

อย่างดีที่สุดพวกเขาไป 'กะพริบตา - มองมาที่ฉัน! ฉันกระพริบตา - วู้ฮู' ตลอดเวลา และเป็นสีแดงเสมอ สร้างสรรค์มาก เราสามารถทำได้ดีกว่านั้น อาจจะไม่มาก แต่ก็ยังดีกว่าแค่ 'กะพริบตา' ฉันกำลังขี่จักรยานของฉันในช่วงการเฉลิมฉลองปีใหม่และผู้คนชอบมันและไม่ใช่ทุกคนเมา;-) ที่เหลือค่อนข้างตรงไปตรงมา: เซลล์ AA 2x, ตัวแปลงบูสต์สำหรับ 5V, ไฟ LED RGB บางตัว, ไมโครคอนโทรลเลอร์บังคับ, กำหนดเอง แผงวงจรพิมพ์จาก BatchPCB, perfboard และอุปกรณ์บัดกรีทั่วไป

ขั้นตอนที่ 1: แผนผังหลัก

แผนผังหลัก
แผนผังหลัก
แผนผังหลัก
แผนผังหลัก
แผนผังหลัก
แผนผังหลัก
แผนผังหลัก
แผนผังหลัก

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

ในแผนผังคุณจะพบแค่ซีพียู, ไฟ LED, ตัวต้านทานและตัวเก็บประจุสองสามตัว นั่นคือทั้งหมดที่ มีส่วนหัวไม่กี่เช่นกัน บอร์ดมีส่วนหัว ICSP สำหรับการแฟลชบูตโหลดเดอร์และส่วนหัว 6 พินเพื่อการอัพโหลดแบบอนุกรมที่สะดวก ส่วนหัว 2 อันสุดท้ายเป็นแบบมิเรอร์และมีกำลังไฟ I2C และพิน GPIO/ADC อีกสองตัว พิน GPIO 3 ตัวพร้อมตัวต้านทานจำกัดกระแส 3 ตัว ใช้เพื่อจ่ายกระแสให้กับแอโนดทั้ง 8 ตัวที่มีสีเดียว ไฟ LED แต่ละดวงจะเปิดหรือปิดโดยใช้หมุด GPIO 8 ตัวเพื่อขับเคลื่อนแคโทด ขึ้นอยู่กับประเภทของการทำงาน ไฟ LED เป็นแบบมัลติเพล็กซ์ (PWM สำหรับสีที่มากขึ้น) หรือเปิดเต็มที่ (ความสว่างที่สูงขึ้น) ข้อมูลบางอย่างเกี่ยวกับแพ็คเกจที่ฉันใช้สำหรับบอร์ดนี้: - ATmega168-20AU: TQFP32 SMD - LED: PLCC6 5050 SMD - ตัวต้านทาน: 0805 SMD - ตัวเก็บประจุ: 0805 SMD, 1206 SMD

ขั้นตอนที่ 2: การจัดการกับไฟ LED

การจัดการกับไฟ LED
การจัดการกับไฟ LED

ฉันจะไม่ลงรายละเอียดมากที่นี่ เนื่องจากสิ่งนี้ถูกกล่าวถึงในที่อื่นหลายครั้ง คุณเพียงแค่ต้องแน่ใจว่าคุณไม่เกินกระแสเอาต์พุตสูงสุดของไมโครคอนโทรลเลอร์ต่อพิน (ประมาณ 35mA หรือมากกว่านั้นสำหรับ AVR) เช่นเดียวกับไฟ LED ปัจจุบัน อย่างที่คุณเดาได้จากภาพ ฉันใช้ LED SMD ตัวใดตัวหนึ่งเพื่อค้นหาอัตราส่วนตัวต้านทานเพื่อให้ได้แสงสีขาวที่สมดุล มีโพเทนชิโอมิเตอร์ 2k สามตัวอยู่อีกด้านหนึ่ง นั่นคือทั้งหมดที่ ในกรณีนี้ ฉันลงเอยด้วยตัวต้านทานตั้งแต่ 90 ถึง 110Ω แต่นั่นก็ขึ้นอยู่กับชนิดของ LED ที่คุณได้รับ เพียงใช้มัลติมิเตอร์มาตรฐานเพื่อกำหนดแรงดันไปข้างหน้าของ LED V_led และคุณอยู่ในธุรกิจ

เมื่อใช้กฎของโอห์ม คุณสามารถคำนวณค่าของตัวต้านทานจำกัดกระแสสำหรับ LED ขนาดเล็กได้ดังนี้: R = (V_bat - V_led) / I_led I_led ไม่ควรเกินขีดจำกัดปัจจุบันของชิ้นส่วนที่คุณใช้ นอกจากนี้ วิธีนี้ยังดีสำหรับแอปพลิเคชันที่มีกระแสไฟต่ำเท่านั้น (อาจสูงถึง 100mA) และไม่ควรใช้สำหรับไฟ LED ของ Luxeon หรือ CREE! กระแสผ่าน LED ขึ้นอยู่กับอุณหภูมิและควรใช้ไดรเวอร์กระแสคงที่ หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนั้น วิกิพีเดียจะมีข้อมูลบางอย่าง การค้นหาค่าการนำไฟฟ้าของเซมิคอนดักเตอร์ (ยาสลบต่ำ/สูง ฯลฯ) หรือค่าสัมประสิทธิ์อุณหภูมิติดลบอาจช่วยได้ ฉันเคยใช้ 6pin SMD RGB LEDs โดยไม่มีอะไรทั่วไป หากคุณ google สำหรับพวกเขา คุณจะได้ผลลัพธ์มากมาย คำวิเศษคือ "SMD, RGB, LED, PLCC6 5050" 5050 เป็นมิติเมตริกสำหรับ x และ y ในหน่วย 0.1 มม. บนอีเบย์ คุณจะพบพวกเขาเช่นกันในราคาต่ำเพียง 50 ¢ ต่อชิ้นสำหรับคำสั่งซื้อที่มีปริมาณมาก ปัจจุบันมี 10 ห่อ ขายได้ประมาณ 10 เหรียญ ฉันจะได้รับอย่างน้อย 50;-)

ขั้นตอนที่ 3: แบ็คเพลน & แหล่งพลังงาน

แบ็คเพลนและแหล่งพลังงาน
แบ็คเพลนและแหล่งพลังงาน

แบ็คเพลนจ่ายไฟและบัส I2C ทั่วไปให้กับบอร์ดทั้งสอง แต่ละบอร์ดมีไฟ LED RGB 8 ดวงและ ATmega168 mcu ที่ทำงานด้วยออสซิลเลเตอร์ภายในที่ 8MHz หลังต้องมีการซิงโครไนซ์ระหว่างบอร์ดและ/หรือการปรับเทียบออสซิลเลเตอร์ ปัญหานี้จะแสดงขึ้นในส่วนรหัสอีกครั้ง

แผนผังสำหรับตัวแปลงบูสต์ 5V ถูกนำมาจากแผ่นข้อมูลของ Maxim MAX756 โดยไม่มีการปรับเปลี่ยนใดๆ คุณสามารถใช้ชิปอื่นๆ ที่คุณเห็นว่าเหมาะสมที่สามารถจ่ายไฟได้ประมาณ 200mA ที่ 5V เพียงตรวจสอบให้แน่ใจว่าจำนวนชิ้นส่วนภายนอกต่ำ โดยทั่วไป คุณจะต้องมีตัวเก็บประจุด้วยไฟฟ้าอย่างน้อย 2 ตัว ไดโอด Schottky และตัวเหนี่ยวนำ การออกแบบอ้างอิงในแผ่นข้อมูลมีตัวเลขทั้งหมด ฉันใช้บอร์ด FR4 (ไฟเบอร์กลาส) คุณภาพสูงสำหรับงานนี้ กระดานที่ใช้ขัดสนราคาถูกอาจใช้ได้เช่นกัน แต่จะแตกง่ายเกินไป ฉันไม่ต้องการให้กระดานแตกเมื่อนั่งเป็นหลุมเป็นบ่อ หากคุณเป็นเจ้าของ 'MintyBoost' อยู่แล้ว คุณสามารถใช้สิ่งนั้นได้เช่นกันหากคุณสามารถทำให้มันพอดีกับจักรยานของคุณได้

ขั้นตอนที่ 4: คุณต้องมีรหัส

คุณต้องมีรหัส!
คุณต้องมีรหัส!
คุณต้องมีรหัส!
คุณต้องมีรหัส!

ในโหมดความสว่างสูง บอร์ดรองรับ 6 สี + สีขาว เลือกสีโดยการตั้งค่าพิน GPIO 3 พินให้สูงหรือต่ำ ด้วยวิธีนี้ไฟ LED ทั้งแปดดวงสามารถเปิดได้เต็มที่ แต่จะแสดงเฉพาะสีเดียวกันเท่านั้น

ในโหมด PWM สีจะถูกตั้งค่าโดยใช้สัญญาณมอดูเลตความกว้างพัลส์ที่ 3 GPIO พินและมัลติเพล็กซ์ของไฟ LED 8 ดวง ซึ่งจะช่วยลดความสว่างโดยรวม แต่ตอนนี้สามารถควบคุมสีแต่ละสีได้แล้ว สิ่งนี้ทำในพื้นหลังโดยรูทีนขัดจังหวะ มีฟังก์ชันพื้นฐานสำหรับการตั้งค่า LED ให้เป็นค่าสีที่กำหนด โดยใช้ RGB triplet หรือค่า HUE อุปกรณ์ได้รับการตั้งโปรแกรมใน C โดยใช้ Arduino IDE เพื่อความสะดวก ฉันได้แนบรหัสปัจจุบันที่ฉันใช้ เวอร์ชันล่าสุดมีอยู่ในบล็อกของฉัน คุณสามารถเรียกดูที่เก็บ GIT โดยใช้อินเทอร์เฟซ gitweb ข้อผิดพลาดในการเขียนโปรแกรมโง่ ๆ มากมายจะปรากฏขึ้น ฉันแน่ใจ;-) รูปที่สองแสดงการสร้าง PWM ตัวนับฮาร์ดแวร์นับจาก BOTTOM ถึง TOP เมื่อตัวนับมากกว่าจำนวนที่กำหนดซึ่งแสดงถึงสีที่ต้องการ เอาต์พุตจะถูกสลับ เมื่อตัวนับถึงค่าสูงสุดแล้ว ทุกอย่างจะถูกรีเซ็ต ความสว่างที่รับรู้ของ LED ค่อนข้างเป็นสัดส่วนกับเวลาของสัญญาณ พูดตรงๆคือโกหกแต่เข้าใจง่ายกว่า

ขั้นตอนที่ 5: ดูมันในการดำเนินการ

ดูในการดำเนินการ
ดูในการดำเนินการ

เป็นเพียงการทดสอบเบื้องต้น ใช่มันสามารถทำสี RGB เต็มรูปแบบได้เช่นกัน;-)

การทดสอบในโลกแห่งความเป็นจริง ใช่ เรามีหิมะอยู่บ้าง แต่นั่นก็ก่อนคริสต์มาส ตอนนี้หิมะตกอีกแล้ว แต่ตามปกติในช่วงวันหยุดคริสต์มาสและงานเฉลิมฉลองปีใหม่ ทั้งหมดที่เรามีคือฝนตก ได้โปรดอย่าสนใจฉันที่บ่นตอนกลางวิดีโอ ฉันแก่แล้ว การนั่งยองๆ มันก็จะหนักๆ หน่อย ในที่สุดเอฟเฟกต์ก็ดีขึ้นเล็กน้อย ภารกิจเสร็จสมบูรณ์. ไฟท้ายเก๋ไก๋และผิดกฎหมายที่ฉันอาศัยอยู่ด้วย;-) ฉันค่อนข้างแน่ใจว่าฉันจะไม่ถูกมองข้ามโดยผู้ขับขี่ที่ง่วงนอนหรือโง่เขลาอีกต่อไป ด้วยการปรับเวลาเล็กน้อย คุณสามารถสร้างเอฟเฟกต์ที่น่ารำคาญและดึงดูดสายตาได้ดี โดยเฉพาะตอนกลางคืน เนื่องจากมีพิน GPIO/ADC 4 พินบนบอร์ด (2 อาจใช้สำหรับสร้างเครือข่าย I2C ขนาดเล็ก) จึงควรเชื่อมต่อปุ่มกดเพื่อเรียกใช้เอฟเฟกต์ทุกประเภทได้ง่าย การต่อตัวต้านทานภาพถ่าย CdSe ก็ใช้ได้เช่นกัน ค่าวัสดุทั้งหมดประมาณ 50 เหรียญ ชิ้นที่ใหญ่ที่สุดเข้าไปในแผงวงจรพิมพ์ บทลงโทษคำสั่งปริมาณต่ำตามปกติ ในการเปรียบเทียบกับโฆษณาทางทีวีที่ครั้งหนึ่งเคยแพร่หลายอย่างแพร่หลายสำหรับบริษัทโทรศัพท์มือถือในสหรัฐอเมริกา ให้ฉันถามคุณว่า: "คุณเห็นฉันตอนนี้ไหม - ดี"

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

อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ
อัปเดตการออกแบบ

ฉันได้เปลี่ยนแปลงบางสิ่งที่นี่และที่นั่น

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

ขั้นตอนที่ 7: ใหญ่พิเศษ

สิ่งต่อไปในรายการ: Tic Tac Toe

ขั้นตอนที่ 8: Light Hack เพิ่มเติม

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

ขั้นตอนที่ 9: อัปเดตเพิ่มเติม

อัพเดทเพิ่มเติม
อัพเดทเพิ่มเติม

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

แนะนำ: