สารบัญ:
วีดีโอ: งูบนเขียงหั่นขนม: 3 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
"มีเกมในโทรศัพท์ของคุณไหม"
"ก็ไม่เชิง"
บทนำ:
ควบคุมง่าย ตั้งโปรแกรมง่าย และทำให้เป็นอมตะโดย Nokia 6110 Snake กลายเป็นโครงการโปรดในหมู่วิศวกร มันถูกนำไปใช้ในทุกสิ่งตั้งแต่เมทริกซ์ LED, LCD, ไฟสำหรับชั้นวางหนังสือและแม้แต่หน้าต่างของอาคารทั้งหมด เราจะนำ Snake มาใช้กับเขียงหั่นขนมขนาดเล็กและหน้าจอ OLED ผู้คนสร้างผู้เล่นงูตัวจิ๋ว แต่สิ่งนี้ใช้เขียงหั่นขนมโดยเฉพาะ ทำให้ไม่จำเป็นต้องออกแบบ PCB หรือบัดกรี
(คุณสามารถสร้างแอปในโทรศัพท์ได้ แต่เราไม่ทำสิ่งต่างๆ เพราะมันง่าย)
ข้อกำหนดเบื้องต้น:
ความเข้าใจพื้นฐานเกี่ยวกับวงจร วิธีการทำเขียงหั่นขนม และความรู้ความเข้าใจเกี่ยวกับการเขียนโปรแกรมใน Arduino
เสบียง
- Arduino นาโน
- ตัวต้านทานสูงพอสมควร 2 ตัว (1kOhm)
- เขียงหั่นขนมเล็กๆ
- 2 ปุ่มกด
- ลวดแกนแข็ง 22 AWG
- 128 x 64 OLED
นี่คือลิงค์พันธมิตรของ Amazon ดังนั้นฉันจึงได้รับค่าคอมมิชชั่นเล็กน้อยจากการขายแต่ละครั้ง หากคุณยังไม่มีอุปกรณ์เหล่านี้และต้องการสนับสนุนโครงการในอนาคตของฉัน โปรดไปที่ลิงก์เหล่านี้!:)
ขั้นตอนที่ 1: เขียงหั่นขนม
ในการสร้างผลิตภัณฑ์ขั้นสุดท้าย เราต้องประกอบฮาร์ดแวร์เพื่อตั้งโปรแกรมและทดสอบโครงการของเราอย่างชัดเจน ไดอะแกรมระบบสำหรับโปรเจ็กต์นี้ค่อนข้างง่าย เนื่องจากมีส่วนประกอบทั้งหมด 4 อย่างเท่านั้น
1. จัดวาง:
นำส่วนประกอบของคุณมาวางบนกระดาน ตรวจสอบให้แน่ใจว่าทุกอย่างลงตัว นึกภาพว่าคุณจะใช้สายไฟและหมุดอะไรและเพื่อจุดประสงค์ใด ตรวจสอบให้แน่ใจว่าสายไฟที่คุณคาดไว้ไม่ขวางเพราะจะทำให้เขียงหั่นขนมยุ่งยิ่งขึ้น จดจุดที่คุณต้องเชื่อมต่อ! แม้ว่านี่จะเป็นเขียงหั่นขนมธรรมดา แต่มันจะทำให้ชีวิตของคุณง่ายขึ้นมากในระหว่างกระบวนการเดินสายและโดยทั่วไป เนื่องจากพื้นที่ทำงานของเรามีขนาดเล็ก จึงเป็นขั้นตอนที่สำคัญอย่างยิ่ง
หมายเหตุ:
เนื่องจาก OLED ใช้บัส I2C จึงต้องใช้พิน A4 และ A5 ขนาดของเขียงหั่นขนมไม่อนุญาตให้มีรางไฟฟ้าและรางภาคพื้นดิน ดังนั้นฉันจึงใช้กลเม็ดเล็กๆ น้อยๆ เพื่อทำให้ทุกอย่างออกมาดี แรงดันบวกสำหรับปุ่มนั้นมาจากพิน D13 และ A2 ฉันค้นพบว่าพิน Arduino ไม่เพียงแต่จ่ายกระแสได้ แต่ยังจมกระแสด้วย ดังนั้นฉันจึงใช้ A3 เป็นกราวด์สำหรับปุ่มขวา เพื่อเพิ่มพื้นที่บนเขียงหั่นขนมให้ได้มากที่สุด ฉันแขวน Nano ครึ่งหนึ่งออกจากบอร์ดและรองรับหมุดด้านซ้ายด้วยแผ่นโฟม
2. วางสาย:
ด้วยเครื่องปอกสายไฟหนึ่งคู่และลวดแกนแข็งจำนวน 22 AWG ในปริมาณที่เหมาะสม ให้เชื่อมต่อส่วนประกอบของคุณเข้าด้วยกันอย่างเรียบร้อย การใช้แกนแข็งสำหรับทำโปรเจ็กต์เขียงหั่นขนมกึ่งถาวรเป็นกุญแจสำคัญ เพราะคุณสามารถตัดแต่งให้มีความยาวได้ ไม่เหมือนสายจัมเปอร์ ตรวจสอบให้แน่ใจว่าคุณไม่ทิ้งสายไฟที่ยาวเกินไว้ เพราะจะทำให้บอร์ดเลอะเทอะได้ ตัดลีดของตัวต้านทานแบบดึงลงเพื่อให้พอดีกับบอร์ด
(คุณสามารถทำตามสิ่งที่ฉันทำด้านบนได้)
ขั้นตอนที่ 2: โปรแกรมและทดสอบ
เพื่อไม่ให้ปวดหัวในภายหลัง ตรวจสอบให้แน่ใจว่า OLED และปุ่มต่างๆ ทำงานตามที่ควรจะเป็นโดยการสร้างโปรแกรมทดสอบพื้นฐาน
1. วางแผน วางแผน วางแผน:
การกระโดดลงไปในโค้ดโดยตรงไม่ใช่การฝึกฝนที่ชาญฉลาด เชื่อฉัน ฉันพยายามแล้ว! นั่นเป็นเหตุผลที่คุณควรสรุปว่าโปรแกรมของคุณจะทำงานอย่างไร แผนผังลำดับงานของโปรแกรมเป็นวิธีที่ค่อนข้างแข็งแกร่งในการวางแผนว่าโค้ดของคุณต้องทำอะไรและจะช่วยให้คุณติดตามได้อย่างแน่นอน ยกตัวอย่างของฉัน (ด้านบน)
2. รหัส รหัส รหัส:
ตรงไปตรงมา โครงการนี้เป็นแบบฝึกหัดการเขียนโปรแกรมที่ใหญ่กว่าแบบฝึกหัดเกี่ยวกับฮาร์ดแวร์ ไลบรารีเดียวที่ฉันใช้คือไลบรารี OLED ของ Adafruit ไม่นับไลบรารี GFX และ Wire ที่รองรับ
ให้คุณติดตั้งไลบรารี OLED ของ Adafruit ผ่านตัวจัดการไลบรารีของ Arduino IDE
ฉันไม่สามารถบันทึกโค้ดทุกบรรทัดที่ฉันเขียนได้ แต่มีเคล็ดลับดังต่อไปนี้:
เคล็ดลับ:
ความคิดเห็น:
- ก่อนอื่น เขียนความคิดเห็นที่เรียบร้อยและมีประโยชน์ในขณะที่คุณเขียนโค้ด อนาคตคุณและคนอื่นๆ ที่อ่านโค้ดของคุณจะขอบคุณอย่างแน่นอน
หน่วยความจำ:
- ด้วยโครงการที่ซับซ้อนกว่านี้ SRAM กลายเป็นสินค้าที่ค่อนข้างร้อนแรง ในไลบรารี Adafruit บัฟเฟอร์ OLED ขนาด 128 x 64 ใช้พื้นที่เพียง 1 kB เพียงอย่างเดียว ซึ่งเท่ากับครึ่งหนึ่งของหน่วยความจำใน ATMega328p ดังนั้นการจัดการหน่วยความจำอัจฉริยะจึงมีความสำคัญมากกว่าที่เคย
- ด้วยโครงสร้างข้อมูลขนาดใหญ่ ข้อมูลที่เก็บไว้จะสะสมและใช้พื้นที่เป็นจำนวนมาก เพื่อลดขนาดหน่วยความจำของตัวแปร ฉันใช้ประเภทข้อมูลที่มีขนาดเล็กกว่า (เช่น แบบสั้นและแบบไบต์) เมื่อทำได้
- สตริงมักจะเก็บไว้ใน SRAM แต่การใช้ฟังก์ชัน F() จะใส่ไว้ใน PROGMEM แทน ช่วยประหยัดหน่วยความจำอันมีค่า
มิลลิวินาที:
- เพื่อให้ได้จังหวะเวลาของเกมที่แม่นยำยิ่งขึ้น ให้ใช้ฟังก์ชัน millis() มีบทเรียนและตัวอย่างดีๆ มากมายทางออนไลน์
กำหนดล่วงหน้า:
- ใช้คำสั่ง #define ตัวประมวลผลล่วงหน้าเป็นวิธีที่ง่ายในการตั้งค่าถาวรในโค้ด
ทดสอบ:
- ทดสอบรหัสของคุณในขณะที่คุณไป มันจะง่ายกว่ามากในการกำจัดจุดบกพร่อง
ขั้นตอนที่ 3: สนุก
ขอให้สนุกกับเกมงูใหม่ของคุณ!
(ฉันรู้ว่าฉันชนะที่ 20 คะแนนในวิดีโอด้านบน คุณสามารถตั้งค่าเงื่อนไขการชนะให้สูงขึ้นในรหัสของฉันได้)
สิ่งที่ต้องขยาย:
- แบตเตอรี่เพื่อการพกพา
- ปุ่มที่ปลอดภัยยิ่งขึ้น
- เกมงูที่เล็กกว่า
- เกมมากขึ้น?
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-