สารบัญ:

โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth: 10 ขั้นตอน (พร้อมรูปภาพ)
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Arduino+LED RGB _Project DIY ep.2 2024, พฤศจิกายน
Anonim
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth

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

เป้าหมายของโครงการคือการสร้างหน้าจอ 12 x 12 พิกเซลในโต๊ะกาแฟที่สามารถควบคุมผ่านบลูทูธและใช้เป็นไฟห้องเย็น/เล่นเกมได้

สำหรับงานสร้างนี้ คุณจะต้องมีชิ้นส่วนเหล่านี้:

  1. Arudino Mega (หรือโคลน) -
  2. Arduino micro SD Card Shield (ฉันใช้อันนี้และบัดกรีส่วนหัว) -
  3. การ์ด Micro SD - ขนาดใดก็ได้ แต่ต้องฟอร์แมตเป็น FAT32
  4. 5 ม. WS2812B แถบ LED แบบปรับได้ -
  5. โมดูลบลูทูธ HC05 -
  6. แหล่งจ่ายไฟ 5 V 6 แอมป์ - (ฉันเคยใช้ แต่มีอีกหลายร้อยตัวบน ebay)
  7. โต๊ะ Ikea LACK (the hobbyists classic) -
  8. เข้าถึงเครื่องตัดเลเซอร์สำหรับไม้อัด 3 มม. (หรือมือที่มั่นคงมาก) สามารถสั่งอะไหล่เลเซอร์คัทออนไลน์ได้ที่ต่างๆ (https://www.hobbytronics.co.uk/laser-cutting เป็นต้น)
  9. สีสเปรย์สีขาว
  10. ฉากกั้นห้องอลูมิเนียม T 2 ม. (1 1/2 x 1 1/2 x 1/8) -
  11. ท็อปกระจก 450 มม. x 450 มม. x 6 มม. (ช่างกระจกในท้องถิ่นส่วนใหญ่สามารถตัดชิ้นส่วนแบบกำหนดเองให้คุณได้ แต่ฉันใช้พวกนี้
  12. 1 x 100 ไมโครฟารัด Capacitor
  13. ตัวต้านทาน 2 x 1k
  14. ตัวต้านทาน 1 x 2k
  15. 1 x โพเทนชิออมิเตอร์แบบโรตารี่เชิงเส้น
  16. จัมเปอร์ต่างๆ (อาจเป็นโหลระหว่างการสร้างต้นแบบ)
  17. สายเคเบิลที่ค่อนข้างหนาอย่างน้อยสามสีสำหรับการบัดกรี (สิ่งนี้สามารถดึงกระแสขนาดใหญ่ได้ ดังนั้นฉันจะไม่แนะนำสายจัมเปอร์สำหรับกำลังไฟฟ้า)
  18. Stripboard สำหรับวงจรภายใน (ไม่ต้องกังวลมันง่ายมาก)

เครื่องมือที่จำเป็น:

  1. หัวแร้ง+หัวแร้ง
  2. สนิปคู่หนึ่ง
  3. เครื่องปอกสายไฟ
  4. เดรเมลหรือจิ๊กซอว์บางชนิดเพื่อแยกโต๊ะออกจากกัน ฉันใช้ https://www.amazon.co.uk/gp/product/B0078LENZC/ref… พร้อมหัวตัดเกลียว

ขั้นตอนที่ 1: การทดสอบเบื้องต้นและเลย์เอาต์

การทดสอบเบื้องต้นและเค้าโครง
การทดสอบเบื้องต้นและเค้าโครง
การทดสอบเบื้องต้นและเลย์เอาต์
การทดสอบเบื้องต้นและเลย์เอาต์
การทดสอบเบื้องต้นและเค้าโครง
การทดสอบเบื้องต้นและเค้าโครง

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

จากนั้นฉันมีไฟ LED เหลืออยู่สองสามดวงดังนั้นฉันจึงเชื่อมต่อกับ Arduino UNO ฉันต้องทดสอบว่าพวกเขาทำงานหรือไม่ (คุณสามารถใช้ Mega ที่กล่าวถึงในโครงร่างโครงการได้เช่นกัน) ในการทำเช่นนี้ ฉันตัดและถอดส่วนหัวของตัวผู้กับตัวผู้ออก แล้วบัดกรีเข้ากับแผ่นอิเล็กโทรดที่ส่วนท้ายของแถบ LED บนแถบ WS2812 ฉันใช้สาย 5V เป็นสีแดง พื้นเป็นสีขาว และข้อมูลเป็นสีเขียว ตรวจสอบให้แน่ใจว่าคุณได้ใส่ใจกับลูกศรบอกทิศทางที่พิมพ์บนแถบ WS2812B เพื่อไม่ให้คุณพยายามส่งข้อมูลไปผิดทิศทาง ฉันเชื่อมต่อสาย 5V กับ 5V บน Arduino, กราวด์กับ GND และ Data กับพิน 6 ด้วยตัวต้านทาน 1k ในซีรีย์ โปรดทราบว่าแผนผัง Fritzing ของไฟ LED WS2812B นั้นแตกต่างไปจากที่ฉันส่งไปเล็กน้อย - เพียงพอที่จะพูดได้เพียงตรวจสอบให้แน่ใจว่าข้อมูลเชื่อมต่อกับพิน 6, Gnd เชื่อมต่อกับกราวด์และ 5 เชื่อมต่อกับ 5V

ด้วยไฟ LED ไม่กี่ดวง (5 หรือมากกว่านั้น) Arduino ควรจะจ่ายไฟได้ดี อย่างไรก็ตามคุณไม่สามารถจ่ายไฟได้มากเท่าเมื่อเป็นสีขาวเต็มหลอด LED จะวาดได้ถึง 60mA ต่อแต่ละและสามารถครอบงำ Arduino ได้อย่างรวดเร็ว

สมมติว่าคุณมี Arduino IDE (หากไม่ได้ดาวน์โหลดและติดตั้ง) ให้ตั้งค่าประเภทชิปเซ็ตเป็น Arduino ที่คุณมีและตั้งค่าพอร์ต COM เป็นพอร์ตที่แสดง Arduino ในตัวเลือกต่างๆ ตอนนี้ดาวน์โหลดไลบรารี FastLED และติดตั้ง (https://fastled.io/) เปิดตัวอย่าง striptest.h และตั้งค่าจำนวน LED ในแบบร่างตามจำนวนที่คุณมี (ฉันเหลือ 5 ดวง) กดตรวจสอบและ (สมมติว่าทุกอย่างเป็นไปด้วยดี) อัปโหลดไปยัง Arduino แล้วคุณจะเห็นไฟบนแถบเล็ก ๆ ติดสว่างและเปลี่ยนสี

ขั้นตอนที่ 2: การบัดกรีเมทริกซ์และสตริปบอร์ด

การบัดกรีเมทริกซ์และสตริปบอร์ด
การบัดกรีเมทริกซ์และสตริปบอร์ด
การบัดกรีเมทริกซ์และสตริปบอร์ด
การบัดกรีเมทริกซ์และสตริปบอร์ด
การบัดกรีเมทริกซ์และสตริปบอร์ด
การบัดกรีเมทริกซ์และสตริปบอร์ด

ตอนนี้ได้เวลาเริ่มสร้างเมทริกซ์ LED แล้ว

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

ตอนนี้ การบัดกรีที่มากขึ้น เราต้องสร้างสตริปบอร์ดที่จะจัดการกับพลังงานจากแหล่งจ่ายไฟหลัก ฉันบัดกรีสองคอลัมน์บนแผ่นกระดานเข้าด้วยกันสำหรับทั้ง 5V และ GND เพื่อให้จัดการกับกระแสได้ดีขึ้น ดูแผนผังที่แนบมาสำหรับวงจรที่คุณต้องการสร้าง เมื่อทำการบัดกรีตัวเก็บประจุ ตรวจสอบให้แน่ใจว่าปลายด้านลบติดอยู่กับราง GND ไม่ใช่ขั้ว 5V เมื่อสตริปบอร์ดเสร็จสิ้น เราจำเป็นต้องเชื่อมต่อ +VE และ GND กับแถบ LED และใช้จัมเปอร์อีกครึ่งหนึ่งที่เราตัดก่อนหน้านี้เพื่อเชื่อมต่อ Arduino กับแหล่งจ่ายไฟและสตริปบอร์ด ตอนนี้เป็นเวลาที่ดีที่จะเพิ่ม SD breakout board ให้กับ Arduino เพื่อให้เราสามารถบันทึกไฟล์และอ่านในภายหลังได้ เมื่อติดตั้ง SD breakout board แล้ว เราสามารถเชื่อมต่อราง 5V กับพิน Vin และ GND กับพิน GND ใดๆ บน Arduino

สุดท้ายนี้ เราสามารถเชื่อมต่อโพเทนชิออมิเตอร์กับอินพุตแบบอะนาล็อก A0 ดังที่แสดง เพื่อให้เรามีวิธีควบคุมความสว่างของ LED

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

ขั้นตอนที่ 3: การรวมโมดูล Bluetooth

การรวมโมดูล Bluetooth
การรวมโมดูล Bluetooth

การเดินสายไฟชิ้นสุดท้ายในขณะนี้ หน่วย HC05 เชื่อมต่อกับ Arduino Mega ดังแสดงในแผนผัง ตรวจสอบให้แน่ใจว่ายูนิต HC05 เชื่อมต่อกับพอร์ต Rx1 และ Tx1 บนเมกะ - ทำให้ตั้งโปรแกรมได้ง่ายขึ้นมากและหลีกเลี่ยงการใช้ไลบรารี "softwareserial"

หมายเหตุ หน่วย HC05 จะใช้ 5V ในหรือ 3.3V ในและโดยทั่วไปทำงานบนลอจิก 3.3V ดังนั้นฉันจึงเชื่อมต่อกับราง 3.3V คำแนะนำอื่น ๆ บางส่วนได้แสดง Tx (บน Arduino) ถึง Rx (บนหน่วย HC05) พร้อมวงจรแบ่งที่อาจเกิดขึ้นเพื่อทำให้ลอจิก 5 V จาก Arduino เข้าสู่ระดับดั้งเดิมสำหรับโมดูล HC05 นี่คือเหตุผลที่ฉันมีตัวต้านทาน 1k และ 2k ในรายการชิ้นส่วน อย่างไรก็ตาม ฉันไม่ได้รำคาญ และดูเหมือนว่าบนโต๊ะของฉันมีความสุขอย่างสมบูรณ์แบบ:)

ขั้นตอนที่ 4: การแฮ็กตาราง

การแฮ็กตาราง
การแฮ็กตาราง
การแฮ็กตาราง
การแฮ็กตาราง
การแฮ็กตาราง
การแฮ็กตาราง

ตอนนี้ เราต้องเริ่มตัดโต๊ะออกจากกันเพื่อให้ไฟ LED และอุปกรณ์อิเล็กทรอนิกส์ของเรามีบ้านใหม่

ขั้นแรกให้ทำเครื่องหมายสี่เหลี่ยมขนาด 450 มม. x 450 มม. ที่กึ่งกลางด้านบนของโต๊ะ LACK ใช้เดรเมล (หรือจิ๊กซอว์) ตัดสี่เหลี่ยมจัตุรัสออกให้ดีที่สุดเพื่อให้ตรง ตอนนี้เราสามารถเอาส่วนบนและชิ้นส่วนด้านในของกระดาษแข็งออกได้ ทำให้คุณมีโต๊ะที่เป็นโพรงตามที่แสดงในภาพ เมื่อใช้ Dremel อีกครั้ง เราสามารถเจาะรูที่มุมด้านล่างของโต๊ะได้ ดังนั้นเราจึงมีที่สำหรับวางสายไฟหลักผ่าน

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

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

ขั้นตอนที่ 5: ชิ้นส่วนตัดด้วยเลเซอร์

ชิ้นส่วนตัดด้วยเลเซอร์
ชิ้นส่วนตัดด้วยเลเซอร์
ชิ้นส่วนตัดด้วยเลเซอร์
ชิ้นส่วนตัดด้วยเลเซอร์
ชิ้นส่วนตัดด้วยเลเซอร์
ชิ้นส่วนตัดด้วยเลเซอร์

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

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

ขั้นตอนที่ 6: Glediator

Glediator
Glediator
Glediator
Glediator

ตอนนี้เรามีฮาร์ดแวร์ทั้งหมดที่ใช้งานแล้ว เราสามารถเริ่มดูซอฟต์แวร์ได้ ฉันดาวน์โหลดและติดตั้งซอฟต์แวร์ชื่อ Glediator เพื่อสร้างแอนิเมชั่นสำหรับ LED (https://www.solderlab.de/index.php/software/glediat…) คำแนะนำในการติดตั้งอาจดูยุ่งยากเล็กน้อย แต่ให้ปฏิบัติตามเว็บไซต์อย่างใกล้ชิด และคุณน่าจะไม่เป็นไร เรายังต้องดาวน์โหลดภาพสเก็ตช์จากเว็บไซต์ Glediator เพื่ออัปโหลดไปยัง Arduino (https://www.solderlab.de/index.php/downloads/catego…) เรากำลังใช้ไฟ LED WS2812B ดังนั้นตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดอันที่ถูกต้อง (WS2812 Glediator Interface) เมื่อคุณเปิดภาพร่างนี้แล้ว ให้เปลี่ยน NUMBER_OF_PIXELS เป็น 144 และอัปโหลดไปยัง Arduino

เมื่อติดตั้ง Glediator แล้ว เราสามารถเริ่มเล่นแอนิเมชั่นบนโต๊ะได้ อันดับแรก เราต้องตั้งค่าขนาดเมทริกซ์เป็น 12 x 12 ในซอฟต์แวร์ Glediator และตั้งค่าประเภทเอาต์พุตเป็น HSBL - Horizontal Snake (เริ่มต้น) ด้านล่างซ้าย เนื่องจากเป็นวิธีที่เราต่อสายไฟ LED และเปลี่ยนลำดับสีเป็น GRB (นี่คือสิ่งที่ไฟ LED ใช้ข้อมูล) บนแท็บเอาต์พุต เปิดพอร์ต COM และเมทริกซ์ LED ควรเริ่มแสดงรูปแบบ LED บนหน้าจอตรงกลางของซอฟต์แวร์ Glediator

คุณสามารถสร้างแอนิเมชั่นและบันทึกเป็นไฟล์.dat ที่เราสามารถอัปโหลดไปยังการ์ด SD ได้ ซึ่งหมายความว่าแอนิเมชั่นโปรดของคุณสามารถแสดงบนโต๊ะได้โดยไม่ต้องใช้พีซีในการเชื่อมต่อ มีบทช่วยสอนออนไลน์เกี่ยวกับเรื่องนี้ (https://hackaday.io/project/5714-glediator-from-sd… เป็นต้น) ฉันได้แก้ไขซอร์สโค้ดที่แตกต่างกันสองสามแหล่งเพื่อให้ใช้งานได้ ดังนั้นโค้ดของฉันจึงน่าจะใช้ได้

เมื่อบันทึกภาพเคลื่อนไหวของคุณ อย่าลืมบันทึกเป็น "animX.dat" โดยที่ X คือตัวเลขใดๆ ตั้งแต่ 1-15 คุณสามารถนำไปใช้ได้มากขึ้นโดยเปลี่ยนสองสามบรรทัดในโค้ดของฉัน

หมายเหตุ- เมื่อบันทึกไฟล์ Glediator ซอฟต์แวร์มีจุดบกพร่อง ซึ่งหมายความว่าจะจำไม่ได้ว่าคุณต่อสายแถบ LED อย่างไร ในรหัสของฉัน ฉันได้ใช้ฟังก์ชันง่าย ๆ เพื่อย้อนกลับลำดับของแถวที่มีเลขคู่ซึ่งหมายความว่าทั้งหมดแสดงอย่างถูกต้อง

ขั้นตอนที่ 7: การควบคุมแบบอนุกรม Bluetooth

การควบคุมแบบอนุกรม Bluetooth
การควบคุมแบบอนุกรม Bluetooth
การควบคุมแบบอนุกรม Bluetooth
การควบคุมแบบอนุกรม Bluetooth

การตั้งค่าการสื่อสารด้วยบลูทูธระหว่างสมาร์ทโฟนและ Arduino พิสูจน์แล้วว่ายากอย่างน่าประหลาดใจ แต่มีขั้นตอนง่ายๆ ไม่กี่ขั้นตอนที่จะทำให้สิ่งนี้ง่ายขึ้นมาก ประการแรก คุณจะต้องดาวน์โหลดแอปสำหรับสมาร์ทโฟนของคุณ ฉันใช้ https://play.google.com/store/apps/details?id=com…. แต่อาจมีเทียบเท่า iphone (ที่คุณต้องจ่าย;p)

คุณอาจสังเกตเห็นว่าโมดูล HC05 มีสวิตช์ขนาดเล็กอยู่ หากคุณเปิดเครื่องโดยกดสวิตช์นี้ลง มันจะเข้าสู่โหมด AT ซึ่งหมายความว่าคุณสามารถสอบปากคำพารามิเตอร์และเปลี่ยนแปลงได้หากต้องการ

อัปโหลดภาพสเก็ตช์ที่แนบมาไปยัง Mega และตั้งค่าอัตราอนุกรมบนพีซีของคุณเป็น 9600 ถอดสายไฟออกจากยูนิต HC05 จากนั้นกดปุ่มบนตัวเครื่องเมื่อคุณเชื่อมต่อใหม่ ตอนนี้ควรกะพริบประมาณหนึ่งครั้งทุกสองวินาที - ตอนนี้ HC05 อยู่ในโหมด AT

ตอนนี้ในมอนิเตอร์แบบอนุกรม เราสามารถส่งคำสั่งไปยัง HC05 และดูการตอบสนองได้ พิมพ์ "AT" แล้วกดส่ง คุณจะเห็น "ตกลง" กลับมาที่มอนิเตอร์แบบอนุกรม - ตอนนี้เรารู้แล้วว่ากำลังฟังอยู่ คุณสามารถเปลี่ยนชื่อบลูทูธของอุปกรณ์ได้โดยพิมพ์ "AT+NAME=XYZPQR" โดยที่ XYZPQR คือสิ่งที่คุณต้องการเรียกโมดูล ฉันโทรหา LightWave ของฉัน รหัสผ่านเริ่มต้นสำหรับโมดูลบลูทูธคือ 1234 (หรือ 0000) แต่สามารถเปลี่ยนได้ด้วยการส่ง "AT+PSWD=9876" เป็นต้น สุดท้าย เราสามารถเปลี่ยนอัตราการสื่อสารของ HC05 โดยส่ง "AT+UART=38400" นี่เป็นอัตราเริ่มต้นสำหรับโมดูล HC05 ส่วนใหญ่ แต่มีการตั้งค่าของฉันแตกต่างกัน ดังนั้นจึงควรตั้งค่าให้แน่ใจ มีรายละเอียดเพิ่มเติมมากมายเกี่ยวกับคำสั่งเหล่านี้: https://www.itead.cc/wiki/Serial_Port_Bluetooth_M… และยังมีคำแนะนำเกี่ยวกับขั้นตอนนี้ที่มีรายละเอียดมากขึ้น https://www.instructables.com/id/Modify -The-HC-05-…

ตอนนี้เราสามารถลองส่งคำสั่งไปยังโมดูลผ่านอุปกรณ์บลูทูธ ขั้นแรกให้ถอดสายไฟออกจากโมดูล HC05 แล้วเชื่อมต่อใหม่ คุณควรเห็นว่าอัตราการกะพริบของ LED เร็วขึ้นมาก ซึ่งหมายความว่าขณะนี้กำลังรอการจับคู่ บนสมาร์ทโฟนของคุณ เปิดแอป Arduino Bluetooth Controller และค้นหาโมดูล HC05 หากคุณไม่ได้เปลี่ยนชื่อ อาจมีชื่อเรียกว่า HC05 หรือคล้ายกัน เมื่อมีตัวเลือกว่าต้องการเชื่อมต่ออย่างไร ให้เลือกโหมดเทอร์มินัล ตอนนี้ให้ลองส่งตัวเลขและข้อความและดูว่ามอนิเตอร์แบบอนุกรมในพีซีรายงานว่าได้รับแล้วหรือไม่ หวังว่าพวกเขาจะมีเพื่อให้เราสามารถดำเนินการต่อไปได้ หากไม่มีคำแนะนำมากมายที่อาจให้คำแนะนำแก่คุณ (https://www.instructables.com/id/Bluetooth-Hc-05-W… เป็นต้น)

สิ่งสุดท้ายที่ต้องทำคือการแมปอินพุตคอนโทรลเลอร์กับตัวเลขที่ Arduino สามารถทำได้ ฉันใช้ค่าต่อไปนี้:

ขึ้น = 1, ลง = 2, ซ้าย = 3, ขวา = 4, เริ่ม = 5, เลือก = 6

ขั้นตอนที่ 8: เกม

เกม
เกม

ฉันไม่รับเครดิตสำหรับรหัสเกม ฉันใช้ซอร์สโค้ดที่พบที่นี่ https://github.com/davidhrbaty/IKEA-LED-Table เขียนโดย davidhrbaty อย่างไรก็ตาม ฉันได้แก้ไขด้วยวิธีต่างๆ ดังนี้

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

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

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

ตัวเลือกในเมนูคือ:

  1. การ์ด SD - เล่นภาพเคลื่อนไหวที่จัดเก็บไว้ในการ์ด SD
  2. เตตริส
  3. งู
  4. โป่ง
  5. Dice - ตัวสร้างหมายเลขสุ่มระหว่าง 1 ถึง 6
  6. แอนิเมชั่น - ชุดแอนิเมชั่นจากไลบรารี FastLED
  7. Stars Animation - EDIT - ตอนนี้ฉันได้ใช้ Conway's Game of Life แทนแอนิเมชั่นนี้
  8. แอนิเมชั่นสายรุ้ง
  9. คะแนนสูง - แสดงคะแนนสูงสำหรับเตตริสและงู

ก่อนที่คุณจะเริ่มเล่น คุณต้องสร้างไฟล์ txt สองไฟล์ในการ์ด SD ไฟล์หนึ่งเรียกว่า "teths.txt" และอีกไฟล์หนึ่งเรียกว่า "snkhs.txt" ในไฟล์ทั้งสองนี้ให้ใส่หมายเลข 0 แล้วบันทึกลงในโฟลเดอร์รูทของการ์ด SD ไฟล์เหล่านี้เป็นไฟล์ติดตามคะแนนสูงและจะอัปเดตทุกครั้งที่มีการเอาชนะคะแนนสูง หากคุณต้องการรีเซ็ต เพียงเปลี่ยนค่ากลับเป็น 0 บนพีซี

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

ขั้นตอนที่ 9: สนุก

สนุก
สนุก
สนุก
สนุก
สนุก
สนุก

ที่เหลือก็แค่อัปโหลดรหัสตาราง LED หลักไปที่ Mega จากนั้นสนุกกับการเล่นและแจ้งให้เราทราบคะแนนสูงสุดของคุณ!

ฉันยังคงรอชิ้นส่วนสำหรับท็อปโต๊ะมาถึง (ส่วนอะลูมิเนียม T และกระจก) แต่ตอนนี้โต๊ะใช้งานได้ดีและฉันสามารถเล่นเกมได้

แจ้งให้เราทราบหากคุณมีความคิดเห็น แก้ไข หรือพบข้อผิดพลาดใด ๆ ที่ฉันทำ

ขั้นตอนที่ 10: อัปเดต

Image
Image
อัปเดต
อัปเดต
อัปเดต
อัปเดต

ตอนนี้เสร็จเรียบร้อยแล้ว!:)

ในที่สุดฉันก็รับมอบส่วนอลูมิเนียม T สำหรับทำขอบและทำงานได้ดีที่สุดในการกัดข้อต่อ (ปรากฎว่า 45 องศาเป็นมุมที่แข็งกว่ามุมหนึ่ง) แต่เกือบจะเป็นรูปสี่เหลี่ยมจัตุรัสเกือบทั้งหมด สำหรับด้านบน ฉันตัดสินใจซื้อแผ่นกระจกที่หนาขึ้น (425 x 425 x 8 มม.) และเคลือบด้านล่างโดยใช้สเปรย์เคลือบกระจก Rustoleum ฉันใช้กาวยาแนวธรรมดา (ยาแนวซิลิโคน) เพื่อต่อส่วนบนและชิ้นส่วนที่ทำมุมเพื่อให้มีการงอเล็กน้อยในการต่อเชื่อม หากจำเป็น

อัปเดตอัปเดตแล้ว ตอนนี้ฉันได้เพิ่มใน Conway's Game of Life เป็นตัวเลือกที่ 7 ในเมนู แทนที่จะเป็นอนิเมชั่นของดวงดาว เพราะฉันไม่เคยใช้เลย หากคุณไม่รู้ว่าเกมนี้คืออะไร ให้ลอง Google แต่โดยพื้นฐานแล้วมันคือเกม Zero Player ซึ่งแสดงให้เห็นวิวัฒนาการตามกฎง่ายๆ สามข้อ เกมแห่งชีวิตของคอนเวย์

อัพเดท^3. ฉันได้แก้ไขโค้ดบางส่วนเพื่อให้ตอนนี้มีการแก้ไขข้อบกพร่องเกี่ยวกับการหรี่ไฟ LED สีแดง และยังมีแอนิเมชั่นต้นคริสต์มาสเป็นตัวเลือก 11 ในเมนู สนุก.

แนะนำ: