สารบัญ:
- ขั้นตอนที่ 1: ความกล้า
- ขั้นตอนที่ 2: การประกอบ PCB
- ขั้นตอนที่ 3: ถึงเวลาเริ่มเขียนโปรแกรมแล้ว
- ขั้นตอนที่ 4: เกี่ยวกับตัวโปรแกรมเอง
- ขั้นตอนที่ 5: ปรับแต่งการสร้างสรรค์ของคุณ
วีดีโอ: นามบัตร/เกมคอนโซล: ATtiny85 และหน้าจอ OLED: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
สวัสดีทุกคน
วันนี้ผมจะแสดงให้คุณเห็นว่าคุณสามารถสร้างนามบัตร/เกมคอนโซล/อะไรก็ตามที่คุณสามารถจินตนาการได้ว่ามีจอแสดงผล OLED แบบเรืองแสง I2C และไมโครโปรเซสเซอร์ ATtiny85 ในคำแนะนำนี้ ฉันจะบอกคุณว่า PCB ที่ฉันออกแบบใช้งานได้จริงอย่างไร คุณสามารถสร้างมันขึ้นมาได้อย่างไร และคุณสามารถทำอะไรกับฟังก์ชันนี้ได้บ้าง หากคุณมีหน้าจอ I2C ที่เชื่อมต่อกับ ATtiny85 แล้ว Instructable นี้ยังคงมีประโยชน์หากคุณกำลังพยายามให้รูปภาพแสดงหรือต้องการสร้างเมนู เกม และอื่นๆ
คุณอาจสงสัยว่าสิ่งนี้คืออะไร เป็นเพียงแผงวงจรพิมพ์ธรรมดาที่มีแบตเตอรี่ หน้าจอ ปุ่ม สวิตช์เปิด/ปิด และหน่วยประมวลผล คิดว่าเป็นเกมบอยตัวเล็ก ๆ ที่คุณสามารถตั้งโปรแกรมให้ทำสิ่งต่าง ๆ ได้อย่างง่ายดาย ต่อไปข้างหน้า!
ขั้นตอนที่ 1: ความกล้า
หากคุณยังไม่ได้ทำ เราขอแนะนำให้คุณสร้างบัญชีบน circuits.io สิ่งนี้จะช่วยให้คุณปรับแต่งการออกแบบของฉันให้เหมาะกับความต้องการของคุณ
ในขั้นตอนนี้ ฉันจะอธิบายวิธีที่คุณสามารถรับมือกับแผงวงจรพิมพ์ (PCB) เหล่านี้ได้ ฉันสร้าง PCB ของฉันใน circuits.io ซึ่งเป็นเครื่องมือออนไลน์ที่ยอดเยี่ยมที่คุณสามารถใช้สร้างแผนผังวงจรและ PCB คุณสามารถดูการออกแบบได้ที่นี่:
สนใจรับ PCB สามารถสั่งซื้อได้มากเท่าที่ต้องการจาก OSH Park โดยใช้ลิงค์นี้:
กว่าจะได้บอร์ดต้องใช้เวลา (1-3 สัปดาห์) แต่เชื่อเถอะ มันคุ้มค่า! คุณจะต้องใช้ส่วนต่างๆ ต่อไปนี้เพื่อสร้างการ์ดอเนกประสงค์ของคุณเอง:
- ATtiny85 ในแพ็คเกจ SOIC-8 นี่คือสมองของโครงการของเราที่ควบคุมทุกอย่าง
- หน้าจอ OLED I2C 128x64 พิกเซล:
- ตัวต้านทาน 22k โอห์ม 2 ตัว เหล่านี้เป็นตัวต้านทานแบบดึงขึ้นสำหรับปุ่มต่างๆ
- ตัวยึด CR2032 แบบยึดพื้นผิว:
- CR2032 แบตเตอรี่เซลล์แบบเหรียญ แบตเตอรี่ขนาดเล็กนี้สามารถจ่ายไฟให้กับวงจรได้เป็นระยะเวลาหนึ่ง
- สวิตช์เลื่อนแบบ 3 ขา นี่คือสวิตช์ไฟ!
- หัวหญิง. คุณสามารถใช้สิ่งเหล่านี้เพื่อตั้งโปรแกรม ATtiny85 ขณะที่อยู่ในวงจร!
- ปุ่ม 6 มม.:
- แผงวงจรพิมพ์ (คุณสามารถสั่งซื้อได้โดยใช้ลิงค์ด้านบน
เครื่องมือ:
- หัวแร้ง (มีปลายแหลม)
- ประสาน
- ปัตตาเลี่ยนตะกั่ว
สำหรับการเขียนโปรแกรม ATtiny85:
- 6 สายจัมเปอร์ชายกับชาย
- ตัวเก็บประจุขนาดเล็ก 10 ไมโครฟารัด
- Arduino Uno หรือไมโครคอนโทรลเลอร์ที่ใช้ ATmega อื่น ๆ
ขั้นตอนที่ 2: การประกอบ PCB
นี้เป็นเรื่องง่ายสวยจริงๆ สิ่งที่คุณต้องทำคือประสานส่วนประกอบทั้งหมดเข้าที่ตามที่ระบุไว้บนกระดาน หน้าจอ OLED บางรุ่นมีหลายขนาด ดังนั้นหากหน้าจอของคุณใหญ่เกินไปสำหรับบอร์ด คุณสามารถแขวนไว้ด้านบนเหมือนในภาพด้านบน แล้วงอส่วนหัวอีกด้านแล้วประสานเข้ากับรูที่ พวกเขาควรจะไป ดูภาพที่สองหากคุณสับสน
เคล็ดลับที่เป็นประโยชน์บางประการ:
- จุดเล็ก ๆ บน ATtiny จะต้องถูกจัดวางให้อยู่ใกล้กับสวิตช์สไลด์ มิฉะนั้น คุณจะมีพินในลำดับที่ไม่ถูกต้อง
- การวางแนวของที่วางแบตเตอรี่มีความสำคัญ ส่วนปลายของตัวยึดที่มีการสลักเครื่องหมายบวกจะต้องอยู่ที่แผ่นรองด้านล่าง (ชี้ไปที่ตัวต้านทาน)
- การวางแนวของสวิตช์ ปุ่ม ส่วนหัว และตัวต้านทานไม่สำคัญ
หากคุณมีคำถามใด ๆ โปรดส่งอีเมลถึงฉันที่ info[at]coniferapps.com
ขั้นตอนที่ 3: ถึงเวลาเริ่มเขียนโปรแกรมแล้ว
ฉันได้คำสั่งผสม ATtiny/หน้าจอของฉันโดยใช้คำสั่งต่อไปนี้: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/ อันที่จริง ฉันยังใช้ห้องสมุดที่ AndyB2 ดัดแปลงเป็นภาพสเก็ตช์ของฉันเอง
วิธีที่เราจะเขียนโปรแกรม ATtiny คือผ่าน Arduino Uno คำแนะนำต่อไปนี้แสดงวิธีการทำสิ่งนี้: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/ หากคุณยังไม่ได้สังเกต หมุดที่จำเป็นทั้งหมดจะแยกส่วนที่เป็นประโยชน์บน PCB พร้อมหมายเลขพินที่ด้านหลัง
หากคุณต้องการเริ่มต้นด้วยตัวอย่างพื้นฐาน ให้อัปโหลดภาพร่างที่ลิงก์ด้านบนไปยังการ์ดของคุณ ตรวจสอบให้แน่ใจว่าได้เลื่อนสวิตช์เปิดปิดไปทางขวาก่อนดำเนินการ คุณไม่ต้องการให้แบตเตอรี่และ Uno จ่ายแรงดันไฟฟ้าพร้อมกัน! ในโฟลเดอร์นั้นมีไฟล์จำนวนมาก ฉันจะพูดถึงเรื่องนี้ให้มากขึ้นในขั้นตอนต่อไป แต่ไฟล์ส่วนหัวส่วนใหญ่ในนั้นมีการแทนค่าเลขฐานสิบหกของภาพบิตแมปโมโนโครม ไฟล์.bmp เป็นภาพเหล่านี้ที่ผมเพิ่งพูดถึงไป อย่างที่คุณเห็น มันเป็นภาพขาวดำและมีขนาด 128x64 พิกเซลพอดี สิ่งเหล่านี้ไม่ได้อัปโหลดไปยังไมโครคอนโทรลเลอร์ แต่ฉันคิดว่าฉันจะรวมไว้เพื่อใช้อ้างอิง
ขั้นตอนที่ 4: เกี่ยวกับตัวโปรแกรมเอง
ภาพสเก็ตช์ที่ฉันให้คุณอัปโหลดในขั้นตอนที่แล้วคือตัวอย่างพื้นฐานเกี่ยวกับวิธีใช้งานเมนู เมื่อคุณคลิกปุ่มซ้ายและขวาแต่ละปุ่ม ระบบจะสลับตัวนับในโปรแกรม จากนั้นจะมีการเรียกฟังก์ชันที่มี ATtiny ตรวจสอบสถานะของตัวนับนี้ และตามหมายเลขของตัวนับ ATtiny จะวาดภาพของตัวเลือกเมนูที่เลือกอยู่บนหน้าจอ แต่ละเซลล์เมนูที่เลือกต่างกันจะเป็นภาพของตัวเอง หากกดปุ่มด้านบน ATtiny จะตรวจสอบสถานะของตัวนับอีกครั้งเพื่อกำหนดหน้าจอรายละเอียดที่จะแสดง ในขณะที่หน้าจอรายละเอียดเหล่านี้กำลังแสดงอยู่ ATtiny จะทำการตรวจสอบอย่างต่อเนื่องเพื่อดูว่ามีการกดปุ่มใดๆ หรือไม่ เมื่อตรวจพบการกดปุ่ม ฟังก์ชันที่ดึงเมนูจะถูกเรียกอีกครั้ง และสถานะปัจจุบันของเมนูจะถูกวาดบนหน้าจอ นำเรากลับสู่เมนู ฟังดูค่อนข้างน่ากลัวหากคุณเพิ่งเริ่มเขียนโปรแกรม แต่ฉันสัญญาว่าเมื่อคุณดูโค้ดแล้ว มันจะสมเหตุสมผลกว่า
หน้าจอรายละเอียดแต่ละหน้าจอก็เป็นภาพของตัวเองเช่นกัน
หากคุณไม่สังเกต ตัวเลือกเซอร์ไพรส์จะไม่ช่วยอะไร เราจะไปที่นี้ในขั้นตอนต่อไป:)
ขั้นตอนที่ 5: ปรับแต่งการสร้างสรรค์ของคุณ
เมื่อคุณได้เห็นสิ่งที่ฉันทำไปแล้ว ก็ถึงเวลาที่คุณจะปรับแต่งการ์ดด้วยข้อมูลของคุณเอง ไลบรารี่ที่ฉันรวมไว้มีฟังก์ชันในการวาดข้อความบนหน้าจอ แต่ฉันขอแนะนำอย่างยิ่งให้คุณใช้โซลูชันที่ใช้รูปภาพเป็นหลัก เนื่องจากมีแนวโน้มว่าจะดูดีขึ้นมาก เดิมทีฉันกำลังจะเพิ่มรูปถ่ายในส่วนของโปรแกรมของคำสั่งนี้ แต่ก็นานพอที่จะรับประกันว่าสามารถสั่งได้ คุณสามารถดูได้ที่นี่:
ตอนนี้คุณรู้วิธีเพิ่มรูปภาพแล้ว มีหลายสิ่งที่คุณสามารถทำการ์ดได้ คุณสามารถใช้เมนูของฉันและหน้าจอช่วยเหลือ และเพียงแค่เพิ่มข้อมูลติดต่อของคุณเอง คุณสามารถสร้างเกมเล็ก ๆ สำหรับตัวเลือก "เซอร์ไพรส์" ได้ มันค่อนข้างง่ายที่จะย้ายสไปรท์ขนาด 10x10 ตัวเล็ก ๆ รอบหน้าจอโดยใช้ปุ่มต่างๆ และตรวจสอบว่ามันชนกับสไปรต์ตัวอื่นหรือไม่ คุณสามารถสร้างโคลนนกเครื่องปัดโดยใช้แนวคิดเดียวกันนี้ได้! หากคุณทำอะไรโปรดโพสต์รูปถ่าย / วิดีโอ / ไฟล์ของมันในความคิดเห็น!
อีกหนึ่งจุดเล็ก ๆ ที่ฉันลืมพูดถึง เท่าที่เก็บข้อมูล ATtiny85 ไม่มีอะไรมาก สำหรับโปรแกรมประมาณ 8kb ภาพร่างปัจจุบันของฉันที่มี 5 ภาพและไลบรารีแสดงผล OLED มีพื้นที่ประมาณ 7 ใน 8kb เหล่านั้น เกมใด ๆ ที่คุณสร้างจะต้องพอดีกับระยะขอบที่ค่อนข้างเล็กนี้ ดังนั้นมันจะเป็นความท้าทายที่สนุก:)
ขอขอบคุณที่ฟังฉันพูดเรื่อยเปื่อย และหากคุณมีคำถามใดๆ โปรดส่งอีเมลหาฉันที่ info[at]coniferapps.com (แทนที่ [at] ด้วย @) โปรดลงคะแนนให้ฉันในการแข่งขัน Autodesk Circuits! หวังว่าคุณจะมีนามบัตร/เกมเป็นของตัวเองเร็วๆ นี้!
แนะนำ:
ปี 1963 Pi Tourer เกมคอนโซล: 9 ขั้นตอน (พร้อมรูปภาพ)
คอนโซลเกม Pi Tourer ปี 1963: นี่คือวิทยุติดรถยนต์ของ Sky Tourer รุ่นปี 1963 ที่ฉันได้แปลงเป็นคอนโซลเกมย้อนยุคแบบพกพาที่มีประโยชน์ มี Raspberry Pi 3 ในตัวพร้อมปุ่มอาร์เคด 6 ปุ่มและจอยสติ๊กที่ควบคุมสไปรท์ RetroPie โบราณเหล่านั้นผ่านบอร์ดควบคุม Picade NS
UCL-IIoT-Strongbox พร้อม RFID และหน้าจอ LCD (Nodered, MySQL): 5 ขั้นตอน
UCL-IIoT-Strongbox พร้อม RFID และหน้าจอ LCD (Nodered,MySQL): โครงการ Arduino พร้อมเครื่องสแกน RFID และ LCD บทนำ เพื่อสรุปหลักสูตรของเราด้วยไมโครคอนโทรลเลอร์ โดยเฉพาะ Arduino Mega ที่เราใช้อยู่ เราได้รับมอบหมายให้ทำโครงการที่รวม Arduino Mega ของเราไว้ด้วย นอกเหนือจาก
นามบัตร PCB พร้อม NFC: 18 ขั้นตอน (พร้อมรูปภาพ)
นามบัตร PCB พร้อม NFC: เมื่อจบการศึกษา ฉันเพิ่งต้องมองหาการฝึกงานหกเดือนในสาขาวิศวกรรมอิเล็กทรอนิกส์ เพื่อสร้างความประทับใจและเพิ่มโอกาสในการได้รับคัดเลือกให้อยู่ในบริษัทในฝัน ฉันมีความคิดที่จะสร้าง
สร้างจอแสดงผลแบบกำหนดเองใน LCD Studio (สำหรับแป้นพิมพ์ G15 และหน้าจอ LCD): 7 ขั้นตอน
สร้างจอแสดงผลแบบกำหนดเองใน LCD Studio (สำหรับแป้นพิมพ์ G15 และหน้าจอ LCD): โอเค หากคุณเพิ่งมีแป้นพิมพ์ G15 และรู้สึกไม่ประทับใจกับจอแสดงผลพื้นฐานที่มาพร้อมกับมันมาก ฉันจะแนะนำคุณตลอดถึงพื้นฐานการใช้ LCD Studio เพื่อสร้างของคุณเอง ตัวอย่างนี้จะทำการแสดงที่แสดงเฉพาะเบส
นามบัตร Dot Matrix: 8 ขั้นตอน (พร้อมรูปภาพ)
นามบัตรดอทเมทริกซ์: หากนามบัตรไฟฉายของฉันไม่สูงพอสำหรับคุณ แล้วการ์ดที่มีหน้าจอกราฟิกเต็มรูปแบบที่สามารถปรับแต่งสำหรับข้อความเลื่อนจำนวนหนึ่งล่ะ อันนี้สามารถผลิตได้ในปริมาณประมาณ $5 ส่วนราคา และมัน