สารบัญ:

งูบนเขียงหั่นขนม: 3 ขั้นตอน (พร้อมรูปภาพ)
งูบนเขียงหั่นขนม: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: งูบนเขียงหั่นขนม: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: งูบนเขียงหั่นขนม: 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ทำนายฝันถึงงู มีทั้งโชคดีและโชคร้าย ฝันอย่างไรถึงได้โชค : อ.เชียง ปัณณวิชญ์ | แม่ว่าได้ | ThairathTV 2024, พฤศจิกายน
Anonim
งูบนเขียงหั่นขนม
งูบนเขียงหั่นขนม
งูบนเขียงหั่นขนม
งูบนเขียงหั่นขนม
งูบนเขียงหั่นขนม
งูบนเขียงหั่นขนม

"มีเกมในโทรศัพท์ของคุณไหม"

"ก็ไม่เชิง"

บทนำ:

ควบคุมง่าย ตั้งโปรแกรมง่าย และทำให้เป็นอมตะโดย 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 คะแนนในวิดีโอด้านบน คุณสามารถตั้งค่าเงื่อนไขการชนะให้สูงขึ้นในรหัสของฉันได้)

สิ่งที่ต้องขยาย:

  • แบตเตอรี่เพื่อการพกพา
  • ปุ่มที่ปลอดภัยยิ่งขึ้น
  • เกมงูที่เล็กกว่า
  • เกมมากขึ้น?

แนะนำ: