สารบัญ:

Interactive Twister: 9 ขั้นตอน
Interactive Twister: 9 ขั้นตอน

วีดีโอ: Interactive Twister: 9 ขั้นตอน

วีดีโอ: Interactive Twister: 9 ขั้นตอน
วีดีโอ: I Am Going To Read Your Mind - Part 2 2024, พฤศจิกายน
Anonim
Twister แบบโต้ตอบ
Twister แบบโต้ตอบ

Twister เป็นเกมครอบครัวสุดคลาสสิก และฉันแน่ใจว่าทุกคนที่อ่าน Instructable นี้ต้องเคยเล่นอย่างน้อยหนึ่งครั้ง เป้าหมายหลักของเกมคือการเป็นคนสุดท้ายที่ยืนอยู่บนผืนผ้าใบ และต้องแน่ใจว่าคุณจะไม่ล้มขณะทำงานที่เลือกโดยวงล้อหมุน

ปัญหามันอยู่ที่ Twister ทุกเกม มันต้องมีคนคอยหมุนวงล้ออยู่เสมอ มันจะไม่ง่ายกว่านี้มากถ้าทั้งหมดนี้เกิดขึ้นโดยอัตโนมัติ? วิธีนี้ทำให้ทุกคนสามารถเล่นเกม Twister ได้อย่างสนุกสนาน

ฉันเป็นนักเรียนของ NMCT ที่ Howest Kortrijk นี่หรือโครงการสุดท้ายในปีแรกของเรา

ในคำแนะนำนี้ ฉันจะอธิบายว่าฉันสร้างเกม Twister แบบโต้ตอบได้อย่างไร และคุณจะสร้างเกมที่บ้านได้อย่างไร

ขั้นตอนที่ 1: ข้อกำหนด

  • ราสเบอร์รี่ปี่
  • T-พายผลไม้
  • เกม Twister
  • สเต็ปเปอร์มอเตอร์
  • DRV8825
  • LDR
  • ตัวเก็บประจุ (100 µf และ 10 µf)
  • สายไฟหลากสี
  • อลูมิเนียมฟอยล์
  • Ductape
  • เทปพันสายไฟ
  • เทปสองหน้า
  • เวลโคร
  • แผ่นไม้
  • เขียงหั่นขนม
  • Perfboard (ไม่บังคับ)
  • ส่วนหัวของหญิง (ไม่บังคับ)
  • อะแดปเตอร์ 5V สำหรับ Raspberry Pi
  • อะแดปเตอร์ 12V
  • 2 x MCP23017

ขั้นตอนที่ 2: The Twister Mat

The Twister Mat
The Twister Mat
The Twister Mat
The Twister Mat
The Twister Mat
The Twister Mat

ความต้องการ:

  • ม้วนโฟม
  • เสื่อทวิสเตอร์
  • Ductape
  • อลูมิเนียมฟอยล์
  • สายเคเบิล
  • เครื่องหมาย

คำแนะนำ:

การทำเสื่อเป็นงานมากที่สุดในโปรเจ็กต์ทั้งหมด ประกอบไม่ยากแต่ต้องทำซ้ำทั้งหมด 24 ครั้ง นอกจากนี้ยังเกี่ยวข้องกับการดักฟังจำนวนมาก…และฉันมีความหมายมากจริงๆ

ในการเริ่มต้นคุณต้องตัดโฟม 2 ชิ้นที่มีขนาดเท่ากับเสื่อทวิสเตอร์ ฉันใช้โฟมที่เคยวางใต้พื้นปาร์เก้ ปัญหาคือโฟมค่อนข้างบาง หากคุณสามารถหาโฟมที่มีขนาดอย่างน้อย 2 มม. ได้ นั่นจะดีกว่ามาก และคุณจะไม่มีงานทำผ้าใบน้อยลง แต่ฉันจะกลับไปทำในภายหลัง

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

วางโฟมชั้นถัดไปไว้บนเสื่อทวิสเตอร์ วาดวงกลมทุกจุดบนเสื่อ Twister คุณต้องเจาะรูในทุกวงกลมบนโฟม เส้นผ่านศูนย์กลางของรูไม่สำคัญขนาดนั้น แค่ต้องไม่ใหญ่หรือเล็กเกินไป

ทุกรูจะต้องหุ้มด้วยฟอยล์อลูมิเนียม วิธีที่ดีที่สุดในการแนบอีกครั้งคือ ductape ตรวจสอบให้แน่ใจว่าไม่มีแผ่นแปะใดทำงานเพื่อหลีกเลี่ยงข้อผิดพลาด

ไม่จำเป็น แต่ถ้าโฟมที่ใช้แล้วน้อยกว่า 2 มม. คุณต้องเพิ่มความสูงในแต่ละรูเพื่อป้องกันไม่ให้ฟอยล์เกาะติดกัน ฉันใช้โฟมถั่วลิสงที่มาพร้อมกับบรรจุภัณฑ์ส่วนประกอบของฉัน

ขั้นตอนสุดท้ายคือการเดินสาย ทุกแพทช์ต้องการ 1 สาย แพทช์กราวด์สามารถเชื่อมต่อกันได้และต่อมาด้วย Raspberry pi

ขั้นตอนที่ 3: ที่อยู่อาศัย

ที่อยู่อาศัย
ที่อยู่อาศัย

ความต้องการ

  • แผ่นไม้
  • เล็บ
  • เจาะ
  • เวลโคร

คำแนะนำ:

ขนาด: 32 ซม. x 30 ซม. x 8 ซม.

ตัวเรือนเป็นเพียงการออกแบบกล่องที่เรียบง่าย คุณสามารถดูไม้กระดานที่คุณต้องการได้จากรูปภาพด้านบน ไม้ถูกเลื่อยในคลังบ้านในพื้นที่ของฉัน ฉันไม่ค่อยสะดวกเท่าไรนักและในราคาเล็กน้อยที่พวกเขาเห็นไม้และคุณรู้อยู่แล้วว่ามันจะเป็นขนาดที่เหมาะสม

ในการประกอบกล่องฉันเพียงแค่เจาะสกรูที่ด้านล่าง ความยาวของสกรูไม่สำคัญ ตรวจสอบให้แน่ใจว่ามันยาวกว่าความสูงของแผ่นพื้นและไม่ยาวเกินไปเพื่อที่ไม้จะหัก

ตรงกลางของฝาครอบ คุณต้องเจาะรูเล็กๆ เพื่อให้พอดีกับมอเตอร์ รูนั้นต้องมีเส้นผ่านศูนย์กลาง 5 มม.

ฝาปิดติดกับกล่องโดยใช้เวลโคร

สิ่งสุดท้ายที่คุณต้องทำคือทำรูที่ด้านหน้าสำหรับสายเคเบิลของแผ่นรอง Twister และรูที่ด้านหลังสำหรับอะแดปเตอร์สองตัว เส้นผ่านศูนย์กลางของรูขึ้นอยู่กับอะแดปเตอร์ที่คุณใช้และวิธีจัดการสายเคเบิลของแผ่นรอง ฉันตัดรูสี่เหลี่ยมสำหรับสายเคเบิลแผ่นรองเพราะฉันไม่มีสว่านที่ใหญ่พอ

ขั้นตอนที่ 4: อุปกรณ์อิเล็กทรอนิกส์

อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์

ความต้องการ:

  • DRV8825
  • สเต็ปเปอร์มอเตอร์
  • 2 x mcp23017
  • LDR
  • ตัวเก็บประจุด้วยไฟฟ้า 100 µF
  • ตัวเก็บประจุด้วยไฟฟ้า 10 µF
  • Raspberry Pi T-cobbler
  • ตัวต้านทาน 24 x 330 โอห์ม

คำแนะนำ:

วิธีที่เร็วที่สุดในการผลิตอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดคือวางบนเขียงหั่นขนม ปัญหาคือไม่มีอะไรได้รับการแก้ไขและส่วนประกอบบางอย่างอาจหลุดออกมาได้ วิธีที่ดีที่สุดคือการบัดกรีทุกอย่างบน pcb ฉันบัดกรีไดรเวอร์สเต็ปเปอร์มอเตอร์และเซ็นเซอร์ ฉันทิ้งตัวขยาย IO สองตัวไว้บนเขียงหั่นขนมเพราะมีสายเคเบิลจำนวนมากไปที่ MCP23017 วิธีที่คุณทำสิ่งนี้ขึ้นอยู่กับคุณ

sidenotes บางประการเกี่ยวกับการเดินสายไฟ:

สเต็ปเปอร์มอเตอร์มีสองคู่คอยล์ สายไฟจากคู่บนมอเตอร์ของฉันโดยที่:

ดำ, เขียว -> คู่ 1

แดง น้ำเงิน -> คู่ 2

ตรวจสอบให้แน่ใจว่าอินพุตจากแผ่น Twister เชื่อมต่อในลำดับที่ถูกต้อง จุดแรกเชื่อมต่อกับ GPA0 ของ MCP23017 ตัวแรก จุดสุดท้ายเชื่อมต่อกับ GPA7 ของ MCP23017 ที่สอง ตรวจสอบให้แน่ใจว่ามีตัวต้านทานที่ส่วนท้ายของทุกอินพุต

ขั้นตอนที่ 5: การตั้งค่า Raspberry PI

การตั้งค่า Raspberry PI
การตั้งค่า Raspberry PI

ความต้องการ:

  • ราสเบอร์รี่ PI
  • การ์ด SD
  • สายอีเธอร์เน็ต

คำแนะนำ:

ดาวน์โหลดภาพ Raspian จาก https://www.raspberrypi.org/downloads/raspbian/ ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดเวอร์ชันเดสก์ท็อป เบิร์นภาพบนการ์ด SD ของคุณโดยใช้โปรแกรมเบิร์น ฉันใช้ตัวแกะสลัก แต่สามารถใช้โปรแกรมอื่นได้ ก่อนที่คุณจะใส่การ์ด SD ลงใน Pi คุณต้องเปลี่ยนบางสิ่งด้วยพีซี เปิดส่วนการบูตของการ์ด SD คุณไม่สามารถเปิดกลุ่มอื่นได้เนื่องจาก Windows ไม่รู้จัก Linux ในการบู๊ต ให้เปิดไฟล์: "cmdline.txt" ที่ส่วนท้ายของไฟล์ ให้เพิ่มบรรทัด: "ip=169.2554.10.1" นี่คือที่อยู่ APIPA และใช้เพื่อเชื่อมต่อพีซีและ Pi ผ่าน ssh เมื่อเสร็จแล้ว ให้สร้างไฟล์ในส่วนบูตที่เรียกว่า "ssh" แต่ไม่มีนามสกุล ด้วยวิธีนี้ Pi จะเปิดใช้งาน ssh เมื่อบูต

เชื่อมต่อ Pi ของคุณกับพีซีด้วยสายอีเธอร์เน็ต คุณจะต้องดาวน์โหลดโปรแกรมเพื่อ ssh ไปยัง Pi ฉันใช้สีโป๊ว เปิดผงสำหรับอุดรูและกรอกที่อยู่ APIPA (169.254.10.1) และเปิดการเชื่อมต่อ เมื่อ PI เริ่มทำงาน อาจใช้เวลาสักครู่ก่อนที่ทุกอย่างจะพร้อม โปรดรอสักครู่แล้วลองอีกครั้งในภายหลังหากคุณไม่สามารถเชื่อมต่อได้ เมื่อคุณเชื่อมต่อได้แล้ว ให้เข้าสู่ระบบด้วยข้อมูลรับรองมาตรฐาน: username: pi, password: raspberry.

หากคุณต้องการคุณสามารถสร้างผู้ใช้ของคุณเองได้ ตอนนี้คุณต้องตั้งค่าการเชื่อมต่ออินเทอร์เน็ต หากคุณต้องการใช้ wifi คุณสามารถใช้สองคำสั่งเหล่านี้:

wpa_passphrase 'SSID' 'รหัสผ่าน' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 กำหนดค่าใหม่

ติดตั้งโปรแกรมเหล่านี้โดยใช้คำสั่งต่อไปนี้:

อัปเดต sudo apt && sudo apt ติดตั้ง -y python3-venv

python3 -m pip install -- อัพเกรด pip setuptools wheel python3 -m venv --system-site-packages env

python -m pip ติดตั้ง mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio

ขั้นตอนที่ 6: ฐานข้อมูล

ความต้องการ:

  • ราสเบอร์รี่ปี่
  • สายอีเธอร์เน็ต

แอปพลิเคชันใช้ฐานข้อมูลเพื่อเก็บข้อมูลเกี่ยวกับผู้ใช้ ผู้ชนะ และข้อมูลเกม

ขั้นแรกให้ตั้งค่าโปรแกรม db บน Raspberry Pi ของคุณ คุณได้ติดตั้ง Mysql บน Pi แล้วในขั้นตอนก่อนหน้า

ใช้ "sudo systemctl status mysql" เพื่อทดสอบว่า Mysql ทำงานหรือไม่

เริ่ม Mysql:

sudo mariadb

จากนั้นป้อนรหัสต่อไปนี้:

สร้างผู้ใช้ 'project_name-admin'@'localhost' ระบุโดย 'adminpassword';

สร้างฐานข้อมูล project_name;

ให้สิทธิ์ทั้งหมดใน project_name.* ถึง 'project1-admin'@'localhost' ด้วยตัวเลือก GRANT;

สิทธิพิเศษในการล้าง;

เปลี่ยนชื่อโครงการได้ตามต้องการ

ในการเติมฐานข้อมูล ให้รันไฟล์ sql ที่ได้รับพร้อมกับรหัสในภายหลังในคำแนะนำนี้

ขั้นตอนที่ 7: รหัส

คุณสามารถค้นหารหัสได้ที่ลิงค์ต่อไปนี้:

เพียงโคลนที่เก็บบน Raspberry Pi ของคุณ

ตรวจสอบให้แน่ใจว่าได้โคลนในไดเร็กทอรีโดยตรงภายใต้ผู้ใช้ของคุณ

ขั้นตอนที่ 8: บริการอัตโนมัติ

โปรแกรมต้องเริ่มทำงานเมื่อคุณบูท Raspberry Pi เพื่อที่จะทำอย่างนั้น คุณต้องทำบริการของใบสมัครของคุณ

มีการกำหนดค่าแล้วและอยู่ในไดเร็กทอรี conf

สิ่งเดียวที่คุณต้องทำเพื่อให้บริการเริ่มต้นเมื่อบูตคือรหัสบรรทัดนี้:

sudo systemctl เปิดใช้งาน project1.service

ปัญหาเดียวคือ pi จะรอให้เครือข่ายบูต คุณสามารถปิดการใช้งานนี้ได้ แต่ไม่มีผลใดๆ เนื่องจากเราใช้ที่อยู่ APIPA ใน cmdline.txt หากคุณต้องการให้เขาบูทเร็วขึ้น คุณต้องลบที่อยู่ APIPA แต่จากนั้นคุณจะต้องเชื่อมต่อ Pi ของคุณกับจอภาพเมื่อคุณไม่สามารถเชื่อมต่อกับ wifi หากมีปัญหา

ขั้นตอนที่ 9: คำแนะนำ

คำแนะนำ
คำแนะนำ

พิมพ์ที่อยู่ IP ของ th Pi ในเบราว์เซอร์ของคุณ อย่าลืมเพิ่ม:5000 ในที่อยู่ IP

เมื่อคุณมาถึงไซต์ ให้เริ่มเกมใหม่และกรอกชื่อผู้เล่น

เมื่อเกมเริ่มต้น คุณต้องรอ 5 วินาทีจนกว่าอุปกรณ์ทั้งสองจะเชื่อมต่อกัน

หากต้องการให้ตัวชี้หมุน ให้ปิดเซ็นเซอร์แสง หลังจากที่ตัวชี้หยุดหมุน การย้ายจะปรากฏขึ้นบนหน้าจอ

ถ้ามีคนล้มหรือไม่สามารถทำงานของพวกเขาได้ พวกเขาจะแพ้และคุณต้องกดชื่อของพวกเขาบนหน้าจอ

ผู้เล่นคนสุดท้ายที่ยืนอยู่ชนะ

คุณสามารถดูทุกคนที่ชนะในอดีตได้ในแผนภูมิประวัติศาสตร์

มีความสุข!

แนะนำ: