สารบัญ:
- ขั้นตอนที่ 1: เครื่องมือและวัสดุ
- ขั้นตอนที่ 2: มันทำงานอย่างไร
- ขั้นตอนที่ 3: การประกอบเพลาล้อ Omni
- ขั้นตอนที่ 4: การตัดและเจาะ Omni Wheel Trucks
- ขั้นตอนที่ 5: การประกอบ Omni Wheel Trucks
- ขั้นตอนที่ 6: ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
- ขั้นตอนที่ 7: การบัดกรีมอเตอร์
- ขั้นตอนที่ 8: การบัดกรีขั้วต่อแบตเตอรี่ ESC
- ขั้นตอนที่ 9: การบัดกรีบอร์ดจ่ายไฟ (PDB)
- ขั้นตอนที่ 10: การเชื่อมต่อสายไฟ
- ขั้นตอนที่ 11: การเปลี่ยนโหมด ESC
- ขั้นตอนที่ 12: การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
- ขั้นตอนที่ 13: การบัดกรี Arduino Shield
- ขั้นตอนที่ 14: การสร้างแอพผ่าน Blynk
- ขั้นตอนที่ 15: เชื่อมต่อวิดเจ็ตกับ Arduino
- ขั้นตอนที่ 16: การเขียนโปรแกรม Omniboard Controller
- ขั้นตอนที่ 17: การติดตั้งเคสอิเล็กทรอนิกส์
- ขั้นตอนที่ 18: จิตรกรรม
- ขั้นตอนที่ 19: ทดสอบและสาธิต
วีดีโอ: OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมการควบคุม Bluetooth: 19 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
OmniBoard คือ Electric Skateboard-Hoverboard Hybrid ที่ควบคุมได้ผ่านแอพพลิเคชั่นสมาร์ทโฟน Bluetooth มันสามารถเคลื่อนที่ได้โดยอิสระทั้งสามระดับที่สามารถทำได้โดยกระดานทั้งสองรวมกัน ไปข้างหน้า หมุนรอบแกนของมัน และกราดยิงไปด้านข้าง
วิธีนี้ช่วยให้คุณเคลื่อนที่ไปในทิศทางใดก็ได้ตามต้องการ รวมทั้งทำกลอุบายเจ๋ง ๆ ที่คุณไม่สามารถทำได้ด้วยวิธีการขนส่งทั่วไป เช่น สเกตบอร์ด (ไฟฟ้า) โฮเวอร์บอร์ด รถยนต์ จักรยาน ฯลฯ
เพื่อนของฉันและฉันตัดสินใจสร้าง OmniBoard เพื่อเป็นแบบฝึกหัดและความท้าทายที่สนุกสนาน รวมทั้งเข้าร่วมการแข่งขัน Instructables บางอย่าง เช่น ความท้าทายล้อ เราต้องการทำสิ่งที่ไม่เคยทำมาก่อน เจ๋ง และน่าจะมีประโยชน์ เนื่องจากระบบขนส่งมวลชนมักจะไม่น่าเชื่อถือ และการจราจรในเมืองก็แย่มากในช่วงเช้าและบ่ายที่ขับรถไปและกลับจากที่ทำงาน การขนส่งทางเลือกอื่น เช่น การขี่จักรยานหรือสเกตบอร์ดก็มีประโยชน์ สเก็ตบอร์ดไฟฟ้าและจักรยานยนต์มีประโยชน์สำหรับการเดินทางระยะไกล แต่มีโซลูชันสำหรับผู้บริโภคและ DIY มากมายสำหรับหัวข้อนี้ ดังนั้นเราจึงตัดสินใจสร้างวงล้อขึ้นมาใหม่ อย่างแท้จริง และสร้าง OmniBoard ใหม่ที่สนุกสนาน
ขั้นตอนที่ 1: เครื่องมือและวัสดุ
ระบบขับเคลื่อน
- (4) Omni Wheels
- (4) 60 ฟันรอก
- (4) ลูกรอกฟัน 20 ซี่
- (4) GT2 Timing Belt (เราใช้ 140 ฟัน)
- (8) ID 7 มม., ตลับลูกปืน OD 19 มม. *
- (20) สกรูเครื่อง M5 (หรือขนาดใกล้เคียงกัน) ยาวประมาณ 25 มม.*
- (28) น๊อต ขนาดเดียวกับสกรูเกลียวปล่อย*
- (32) สกรูไม้เบอร์ 2 ยาว 3/8"*
- (16) ขายึดมุม ควรมีสี่รู อย่างน้อย 1/2" จากมุมหนึ่งถึงรูสกรู*
- แผ่นไม้อัด 1'x2'*
- พื้นผิวสเก็ตบอร์ด
อิเล็กทรอนิกส์:
ระบบขับเคลื่อน
- (4) มอเตอร์กระแสตรง
- (4) ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ (ESC)
- คณะกรรมการจำหน่ายไฟฟ้า (PDB)
- สายซิลิโคน 16AWG - สีแดงและสีดำ
- XT90 Connector ตัวแยกสัญญาณแบบขนาน
- ขั้วต่อ XT90 ตัวผู้พร้อมหาง
- (8 คู่) ขั้วต่อกระสุน 4 มม.
- (4 คู่) คอนเนคเตอร์ XT60
- (2) แบตเตอรี่ LiPo
รีโมท
- กระดาน Perf สองด้าน*
- LM7805 ตัวควบคุมแรงดันไฟฟ้า*
- สายไฟแกนแข็ง 24AWG - คละสี*
- โมดูลบลูทูธ HC-05*
- Arduino Uno v3*
- (32 พิน) ส่วนหัวพินตัวผู้แบบสองด้าน*
- (12 พิน) หัวเข็มเบียร์ด้านเดียว*
เครื่องมือ:
- สถานีบัดกรีและบัดกรี
- เครื่องตัดลวด
- เครื่องปอกสายไฟ
- คีม
- กรรไกร
- ดอกสว่าน:1-3/8", 3/4", 1/4"
อุปกรณ์
- เครื่องพิมพ์ 3 มิติ
- เครื่องตัดเลเซอร์
- เลื่อยวงเดือน
- สว่านกด
*ได้มาจากร้านขายเครื่องใช้ไฟฟ้าในท้องถิ่นหรือร้านฮาร์ดแวร์
ขั้นตอนที่ 2: มันทำงานอย่างไร
Omniboard เป็นสเก็ตบอร์ดไฟฟ้าและโฮเวอร์บอร์ดในหนึ่งเดียว! มันสามารถเคลื่อนที่ไปข้างหน้าและข้างหลัง หันข้าง และหมุนได้ ทั้งหมดนี้ควบคุมโดยจอยสติ๊กบนโทรศัพท์ของคุณ
Omniboard ขับเคลื่อนด้วยมอเตอร์สี่ตัวซึ่งแต่ละตัวติดอยู่กับล้อรอบทิศทาง เนื่องจากล้อ Omni ได้รับอนุญาตให้เลื่อนในแนวขวาง ความเร็วและทิศทางที่แตกต่างกันของมอเตอร์แต่ละตัวช่วยให้บอร์ดเคลื่อนที่ไปในทิศทางใดก็ได้ที่ผู้ใช้เลือก ดังที่แสดงในภาพด้านบน
ขั้นตอนที่ 3: การประกอบเพลาล้อ Omni
ชิ้นส่วนที่จำเป็นสำหรับการประกอบเพลาคือ:
- (8) ตัวเว้นวรรคแบริ่งพิมพ์ 3 มิติ
- (4) สเปเซอร์รอกขนาดใหญ่ที่พิมพ์ 3 มิติ
- (8) แบริ่ง
- (4) Omni wheel
- (4) ลูกรอกขนาดใหญ่
- (4) คีย์สต็อค 3x3x80 มม.
ขั้นแรก คุณต้องใส่ตัวเว้นระยะแบริ่งที่ปลายเพลาตามที่แสดง ตัวเว้นวรรคนั้นทำมาเพื่อให้กระชับมาก ฉันจึงแนะนำให้ใช้ตัวรองหรือตะลุมพุกเพื่อยึด หากพอดีหลวมเกินไป ให้เลื่อนขึ้นไปที่คีย์สต็อคอีกเล็กน้อยแล้วติดปลอกคอ คุณไม่จำเป็นต้องกังวลเกี่ยวกับปลอกคอที่ปลายอีกด้าน
ถัดไป คุณเลื่อนวงล้อ omni ตามด้วยตัวเว้นระยะแบริ่งที่หันไปทางตรงกันข้าม คุณสามารถใส่ตลับลูกปืนลงไปได้ในตอนนี้ (ไม่สำคัญว่าตลับลูกปืนจะไม่พอดี) และควรมีลักษณะเหมือนในภาพ สุดท้าย คุณสามารถใส่สเปเซอร์รอกทรงสกินนี่ยาวเข้าไปในรอกได้ ณ จุดนี้ ห้ามขันสกรูชุดลูกรอกให้แน่นหรือวางไว้บนคีย์สต็อค เหล่านั้นมาในภายหลัง
ขั้นตอนที่ 4: การตัดและเจาะ Omni Wheel Trucks
นี่คือที่ที่เครื่องตัดเลเซอร์และไม้อัดหนา 3/8 ของคุณมีประโยชน์! CAD สำหรับการตัดด้วยเลเซอร์เฟรมอยู่ในรูปแบบ.dxf
ต่อไปคุณจะเจาะสองรูบนไม้กางเขนเล็ก ๆ ที่เครื่องตัดเลเซอร์จะทิ้งไว้บนไม้อัด กากบาทที่เล็กกว่าเล็กน้อยจะถูกเจาะด้วยดอกสว่าน 3/4" ที่มีเพียง 1/4" ของทางผ่าน ในขณะที่ดอกครอสที่ใหญ่กว่าจะถูกเจาะด้วยดอกสว่านขนาด 1-3/8" ตลอดทาง เป็นสิ่งสำคัญมาก ที่คุณจำได้ครึ่งชิ้นเพื่อตัดรู 3/4" จากด้านหนึ่งและอีกครึ่งหนึ่งจากอีกด้านหนึ่ง ถัดไปเจาะรูขนาด 3/8" ที่เล็กกว่าผ่านตรงกลางของรู 3/4" ตลอดทางผ่านเลเยอร์ที่คุณไม่ได้ตัดมาก่อน
สุดท้าย ขันวงเล็บเหลี่ยมให้ด้านที่สั้นกว่าของชิ้นสี่เหลี่ยม ตอนนี้คุณมีเกือบทุกอย่างที่คุณต้องการเพื่อประกอบรถบรรทุก Omni wheel
ขั้นตอนที่ 5: การประกอบ Omni Wheel Trucks
ตอนนี้เราประกอบรถบรรทุกเสร็จแล้ว! คุณจะต้องใช้ชิ้นส่วนจากสองขั้นตอนสุดท้ายรวมถึง:
- (4) สายพานราวลิ้น
- (4) ตัวเว้นระยะรอกขนาดเล็กที่พิมพ์ 3 มิติ
- (4) ลูกรอกเล็ก
- (4) มอเตอร์
สอดด้านไม้อัดแต่ละด้านเข้ากับตลับลูกปืน หากรู 3/4 ไม่พอดีกับตลับลูกปืน ให้ใช้เดรเมลขัดให้กว้างขึ้นเล็กน้อย เมื่อเข้าที่แล้ว ให้ใส่รอกเหนือคีย์สต็อคที่ยื่นออกมาแล้วขันสกรูชุดให้แน่น ขันชิ้นสี่เหลี่ยมเข้าไปในรู รอยบากเหนือวงล้อ Omni
ณ จุดนี้ ตรวจสอบว่าวงล้อ Omni ของคุณหมุนได้อย่างอิสระ หากไม่เป็นเช่นนั้น รอกของคุณอาจยึดไม้อัดไว้ ยกคีย์สต็อคขึ้นอีกเล็กน้อย
ต่อไปเราจะใส่มอเตอร์เข้าไป รูขนาด 1-3/8 นั้นเล็กไปหน่อย ดังนั้นให้ทรายวงในด้วย Dremel อย่างช้าๆ จนกว่ามอเตอร์จะเข้าไปพอดีข้างใน ระวังอย่าให้มอเตอร์เข้าและทำให้เสียรูป ตัวเรือน เมื่อมอเตอร์อยู่ในตำแหน่งแล้ว ให้สอดเข็มขัดไว้เหนือรอกขนาดเล็ก จากนั้น รอกขนาดเล็กทับตัวเว้นระยะและเข้ากับแกนมอเตอร์ 3.175 มม. ขันสกรูชุดให้แน่น
เพื่อความกะทัดรัดและความสมมาตร คุณจะต้องใส่รอกและเข็มขัดไว้ที่ด้านหนึ่งของรถบรรทุกสำหรับสองคน และอีกด้านหนึ่งสำหรับอีกสองคน
ขั้นตอนที่ 6: ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ตอนนี้เรากำลังจะติดรถบรรทุกเข้ากับแพลตฟอร์มสเก็ตบอร์ด คุณสามารถสร้างของคุณเองจากไม้อัดและกริปเทป ของเราถูกพรากไปจากสเกตบอร์ดเก่า
ขั้นแรก คุณจะต้องเจาะรูขนาด 1/4 ที่ทั้งสองด้านของไม้อัดตามที่แสดงในภาพ ในแต่ละรู ให้ติดฉากยึดมุมด้วยสกรู M5 แล้วขันน็อตสองครั้งที่ด้านในเพื่อป้องกันไม่ให้เข้ามา หลวมเนื่องจากการสั่นสะเทือน วัดและเจาะรูที่ทำให้คุณสามารถยึดรถบรรทุกได้ใกล้กับปลายสุดและสูงชันในมุมเทเปอร์ให้มากที่สุดเท่าที่จะเป็นไปได้ในขณะที่อยู่ภายในรอยเท้าของแท่น ตอนนี้พลิกและทดสอบโหลด !
ขั้นตอนที่ 7: การบัดกรีมอเตอร์
บัดกรีขั้วต่อหัวกระสุนตัวผู้ขนาด 4 มม. เข้ากับสายที่จะเชื่อมต่อกับมอเตอร์ จากนั้นบัดกรีสายนี้เข้ากับขั้วของมอเตอร์ สำหรับการจัดระเบียบสายเคเบิล สายไฟแต่ละเส้นจะถูกตัดให้เหลือ 6 ซม. และดึงออกจากปลายทั้งสองข้าง
เคล็ดลับ: บัดกรีสายไฟเข้ากับขั้วต่อกระสุนก่อนแล้วจึงบัดกรีกับมอเตอร์ได้ง่ายกว่าวิธีอื่น
ในการบัดกรีขั้วต่อหัวกระสุนเข้ากับสายไฟ ให้วางไว้บนคลิปจระเข้หุ้มฉนวนของมือช่วย (เนื่องจากความร้อนจะกระจายอย่างรวดเร็วจากตัวขั้วต่อกระสุนไปยังโลหะ จากนั้นรวมบัดกรีเข้ากับขั้วต่อกระสุนประมาณครึ่งทางและในขณะที่เก็บเหล็กไว้ในขั้วต่อ ให้จุ่มลวดลงในสระบัดกรีตามที่แสดงในวิดีโอ จากนั้นความร้อนจะหดตัวลวดและขั้วต่อกระสุน
จากนั้นวางลวดไว้ข้างขั้วมอเตอร์แล้วใช้มือช่วยจับตรง ฉันใช้ลูกกลิ้งประสานเพื่อจับมอเตอร์คว่ำ จากนั้นประสานลวดเข้ากับขั้วมอเตอร์ ลำดับและสีของสายไฟไม่ชัดเจนและไม่สำคัญ เนื่องจากสามารถสลับลำดับเพื่อย้อนกลับการหมุนได้ ซึ่งจะดำเนินการในขั้นตอนต่อไปหากจำเป็น
ขั้นตอนที่ 8: การบัดกรีขั้วต่อแบตเตอรี่ ESC
ก่อนทำการบัดกรี ให้ตัดลวดแต่ละเส้นที่หดตัวด้วยความร้อน ซึ่งจะใช้เพื่อป้องกันปลายบัดกรีที่สัมผัสออก
ตัดสายตะกั่วอันใดอันหนึ่งไปยังขั้วต่อแบตเตอรี่ ลอกออก สอดความร้อนเข้าที่หดตัว และบัดกรีเข้ากับขั้วต่อ XT60 โดยที่สีแดงเชื่อมต่อกับขั้วบวกของ XT60 และสีดำกับขั้วลบของ XT60
คำเตือน: ตัดสาย ESC ทีละเส้นเท่านั้น เนื่องจากมีตัวเก็บประจุที่อาจมีประจุระหว่างขั้วบวกและขั้วลบ ซึ่งจะลัดวงจรหากกรรไกรหรือเครื่องตัดลวดตัดผ่านทั้งสองอย่างพร้อมกัน
ในการบัดกรีสายไฟเข้ากับขั้วต่อ XT60 ให้ใช้มือช่วยจับตัวขั้วต่อ XT60 จากนั้นรวมบัดกรีบางส่วนเข้ากับขั้ว XT60 ประมาณครึ่งทางและในขณะที่เก็บหัวแร้งไว้บนขั้วต่อ XT60 ให้จุ่มลวดลงในสระบัดกรีเหลวตามที่แสดงในวิดีโอจากขั้นตอนก่อนหน้า เมื่อเย็นแล้ว ให้เลื่อนความร้อนหดตัวลงเพื่อป้องกันปลายที่สัมผัส และให้ความร้อนด้วยด้านข้างของหัวแร้ง
ทำซ้ำกับสายไฟที่เหลือของขั้วต่อแบตเตอรี่ของ ESC
ขั้นตอนที่ 9: การบัดกรีบอร์ดจ่ายไฟ (PDB)
PDB จะรับอินพุตจากแบตเตอรี่ลิเธียมโพลิเมอร์ (LiPo) สองก้อนที่มีแรงดันไฟฟ้ารวมและกระแสไฟ 11.1V และ 250A ตามลำดับ และแจกจ่ายไปยัง ESC สี่ชุด
เคล็ดลับ: ง่ายกว่าในการบัดกรีขั้วต่อ XT90 ตัวผู้ที่นำไปสู่แผ่น PDB ก่อน จากนั้นจึงต่อสาย AWG จำนวน 16 เส้นเข้ากับ ESC ตามด้วยขั้วต่อ XT60 เข้ากับสายไฟเหล่านี้
ก่อนบัดกรีสายไฟ ตัดความร้อนหดให้พอดีกับสายไฟแต่ละเส้น เพื่อให้สามารถเสียบปลายบัดกรีที่สัมผัสได้ในภายหลัง เพื่อป้องกันไฟฟ้าลัดวงจร
ในการประสานสายไฟเข้ากับแผ่นรอง PDB ฉันพบว่ามันง่ายที่สุดที่จะใช้มือช่วยจับสายไฟให้ตั้งตรง (โดยเฉพาะสาย XT90 ขนาดใหญ่) แล้ววางไว้บน PDB ที่วางอยู่บนโต๊ะ จากนั้นประสานลวดรอบแผ่น PDB จากนั้นเลื่อนแผ่นลดความร้อนลงและให้ความร้อนเพื่อป้องกันวงจร
ทำซ้ำสำหรับส่วนที่เหลือของสาย ESC
ในการบัดกรี XT60 ให้ทำตามขั้นตอนก่อนหน้าเกี่ยวกับวิธีการเปลี่ยนขั้วแบตเตอรี่ ESC ด้วย XT60
ขั้นตอนที่ 10: การเชื่อมต่อสายไฟ
ต่อสายมอเตอร์เข้ากับขั้วต่อหัวกระสุนของ ESC จากนั้นเสียบพินสัญญาณสีขาวจาก ESC เพื่อพิน 9 และพินกราวด์สีดำเข้ากับพิน GND บน Arduino ใช้แถบล็อคคู่เพื่อยึด ESC และสายไฟทั้งหมดเข้ากับบอร์ด
เพื่อตรวจสอบว่าการหมุนของมอเตอร์ถูกต้องหรือไม่ (หมุนไปทางด้านหน้า) โดยเรียกใช้โค้ดตัวอย่างบน Arduino ด้านล่าง
#รวม
เซอร์โวมอเตอร์;
ไบต์ตามเข็มนาฬิกาความเร็ว = 110; ช่วงยาวที่ไม่ได้ลงนาม = 1500; int motorPin = 9;
การตั้งค่าเป็นโมฆะ ()
{ Serial.begin(9600); motor.attach (motorPin); Serial.println("การทดสอบเริ่มต้น"); }
วงเป็นโมฆะ ()
{ motor.write (ความเร็วตามเข็มนาฬิกา); Serial.println ("หยุดมอเตอร์ไม่ให้หมุน"); ล่าช้า(ช่วงเวลา); }
ลำดับของสายไฟที่เชื่อมต่อจาก ESC กับมอเตอร์กำหนดการหมุนของมอเตอร์ หากการหมุนของมอเตอร์ทวนเข็มนาฬิกา ให้จดบันทึกของมอเตอร์และเปลี่ยนบูลีนในรหัสตัวควบคุมในขั้นตอน " การเขียนโปรแกรมตัวควบคุม Omniboard " หากหมุนตามเข็มนาฬิกาไปทางด้านหน้า แสดงว่าการหมุนนั้นถูกต้อง ทำเช่นนี้กับมอเตอร์ทั้งสี่ตัว หากมอเตอร์ไม่หมุน ให้ตรวจสอบขั้วต่อทั้งหมดของคุณอีกครั้งว่ามีการบัดกรีเย็นที่ทำให้การเชื่อมต่อหลวมหรือไม่
ขั้นตอนที่ 11: การเปลี่ยนโหมด ESC
โดยค่าเริ่มต้น ESC แบบแปรงจะอยู่ที่โหมดฝึกหัด ซึ่งแสดงโดยไฟ LED กะพริบ เพื่อควบคุมมอเตอร์ในทิศทางย้อนกลับโดยทางโปรแกรม จำเป็นต้องใช้โหมดปีนเขา
ในการเข้าถึงโหมดนี้ ให้เชื่อมต่อ ESC กับ Arduino โดยเสียบพินสัญญาณสีขาวจาก ESC ไปที่พิน 9 และพินกราวด์สีดำเข้ากับพิน GND บน Arduino จากนั้นอัปโหลดและรันโปรแกรมต่อไปนี้ไปยังบอร์ด Arduino:
#รวม
เซอร์โวมอเตอร์;
ไบต์หยุดความเร็ว = 90; ช่วงยาวที่ไม่ได้ลงนาม = 1500; int motorPin = 9;
การตั้งค่าเป็นโมฆะ ()
{ Serial.begin(9600); motor.attach (motorPin); Serial.println("การทดสอบเริ่มต้น"); }
วงเป็นโมฆะ ()
{ motor.write (หยุดความเร็ว); Serial.println ("หยุดมอเตอร์ไม่ให้หมุน"); ล่าช้า(ช่วงเวลา); }
เปิด ESC จากนั้นกดปุ่มตั้งโปรแกรมค้างไว้สองวินาที ตอนนี้ไฟแสดงสถานะ LED จะคงที่เมื่อเทียบกับการกะพริบ ซึ่งหมายความว่าโหมดนี้ได้เปลี่ยนเป็นโหมดปีนเขาสำเร็จแล้ว
ขั้นตอนที่ 12: การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
โมดูลบลูทูธ HC-05 ช่วยให้ Arduino สามารถเชื่อมต่อกับโทรศัพท์เพื่อให้สามารถควบคุมสเก็ตบอร์ดแบบไร้สายผ่านแอปได้ เนื่องจากฉันพบปัญหาบางอย่างเกี่ยวกับอินเทอร์เฟซโมดูล Bluetooth ที่ผิดพลาด จึงควรทดสอบก่อนก่อนที่จะบัดกรีวงจรสุดท้าย
เราจะใช้ 4 จาก 6 พินบนโมดูล Bluetooth เหล่านี้คือ: Tx (ส่ง), Rx (รับ), 5V และ GND (กราวด์) เชื่อมต่อหมุด Tx และ Rx จากโมดูล Bluetooth HC-05 กับหมุด 10 และ 11 บน Arduino ตามลำดับ จากนั้นเชื่อมต่อพิน 5V และพิน GND เข้ากับพินที่มีป้ายกำกับเหมือนกันบน Arduino
ในแอป Blynk ให้เพิ่มบลูทูธและวิดเจ็ตปุ่มดังที่แสดงในภาพด้านบน จากนั้นกำหนดพินดิจิตอล D13 ซึ่งเชื่อมต่อกับ LED ในตัวบน Arduino Uno ให้กับปุ่ม
อัปโหลดและเรียกใช้โค้ดต่อไปนี้ไปยัง Arduino โดยเสียบโมดูลบลูทูธและเปิดจอภาพแบบอนุกรมเพื่อดูว่าโมดูลบลูทูธเชื่อมต่ออยู่หรือไม่ จากนั้นสลับปุ่มเปิด/ปิดและสังเกตไฟ LED ในตัวของการเปลี่ยนแปลง Arduino
#define BLYNK_PRINT ซีเรียล
#รวม
#รวม
// คุณควรได้รับ Auth Token ในแอป Blynk
// ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "โทเค็นการตรวจสอบสิทธิ์ของคุณ";
ซอฟต์แวร์Serial SerialBLE(10, 11); // RX, TX
BLYNK_WRITE(V1)
{ int pinValue = param.asInt (); // กำหนดค่าขาเข้าจากพิน V1 ให้กับตัวแปร }
การตั้งค่าเป็นโมฆะ ()
{ Serial.begin(9600); // ดีบักคอนโซล SerialBLE.begin(9600); Blynk.begin(SerialBLE, รับรองความถูกต้อง); Serial.println("กำลังรอการเชื่อมต่อ…"); }
วงเป็นโมฆะ ()
{ Blynk.run(); }
ขั้นตอนที่ 13: การบัดกรี Arduino Shield
เพื่อทำความสะอาดวงจรและสายจัมเปอร์หลวมจากต้นแบบ เราจะทำการบัดกรี Arduino shield ที่เชื่อมต่อกับ ESC และโมดูล Bluetooth แต่ละตัว ตลอดจนแหล่งจ่ายไฟไปยัง Arduino
ประสานแผนผังต่อไปนี้บนบอร์ด perf สองด้าน
ขั้นแรกฉันปรับขนาดและเสียบส่วนหัวพินตัวผู้แบบสองด้านเข้ากับส่วนหัวของ Arduino ตัวเมีย จากนั้นบัดกรีไปที่ด้านบนของบอร์ดประสิทธิภาพสำหรับทั้งสองด้าน เมื่อบัดกรีเสร็จแล้ว ผมก็ถอดออกจากบอร์ด Arduino เพื่อประสานส่วนล่างของบอร์ด จากนั้นฉันก็บัดกรีหัวเข็มหมุดตัวผู้ ESC ด้านเดียวใน 4 ชุด 3 ชุดที่ด้านล่างสุดของบอร์ดประสิทธิภาพ หลังจากนั้น ฉันวางโมดูลบลูทูธ HC-05 ตั้งตรงและบัดกรีตัวเชื่อมต่อที่ด้านล่างของบอร์ดประสิทธิภาพเช่นกัน
เนื่องจากโมดูล Bluetooth ต้องการอินพุตแรงดันไฟฟ้า 5V และ PDB ถูกควบคุมที่ 12V เท่านั้น ฉันจึงใช้ LM7805 เพื่อลดระดับกระแสเพื่อจำกัดการดึงกระแสจาก Arduino แหล่งจ่ายไฟ 5V เดียวกันนี้เชื่อมต่อกับพิน 5V ของ Arduino เพื่อให้ Arduino สามารถขับเคลื่อนผ่านแผงป้องกันได้เมื่อเทียบกับอะแดปเตอร์แจ็คแบบบาร์เรลเพิ่มเติม
หมุดของ LM7805 ถูกบัดกรีที่ด้านล่างของบอร์ด perf โดยมีส่วนประกอบควบคุมแรงดันไฟฟ้านั่งอยู่บนบอร์ดประสิทธิภาพดังแสดงในภาพด้านบน ฉันบัดกรีการเชื่อมต่อพลังงานทั้งหมดไปยังส่วนประกอบแต่ละส่วนและส่วนหัวของหมุด ESC และโมดูล Bluetooth HC-05 ตามที่อธิบายไว้ในแผนผัง เอาต์พุต 12V ของ PDB ถูกบัดกรีเข้ากับอินพุต VCC (ซ้ายสุด) และพินกราวด์ (ตรงกลาง) ของตัวควบคุมแรงดันไฟฟ้า LM7805 สุดท้าย ส่วนหัวของหมุดสัญญาณ ESC และโมดูลบลูทูธ HC-05 หมุด Tx และ Rx ไปยังหมุดดิจิทัล Arduino ผ่านส่วนหัวของหมุดตัวผู้แบบสองด้านตามที่แสดงในแผนผัง
ขั้นตอนที่ 14: การสร้างแอพผ่าน Blynk
Omniboard จะถูกควบคุมผ่าน Bluetooth โดยใช้สมาร์ทโฟนเครื่องใดก็ได้ผ่านแอพ Blynk Blynk เป็นแอป Android และ iOS ที่อนุญาตให้ใช้โมดูลและวิดเจ็ตที่สามารถเชื่อมต่อกับไมโครคอนโทรลเลอร์หลายตัวที่มี Bluetooth หรือความสามารถไร้สาย หรือ Bluetooth / โมดูลไร้สาย เช่น HC-05
1. ติดตั้ง Blynk ลงในโทรศัพท์ของคุณ
2. สร้างบัญชีและเข้าสู่ระบบ
3. สร้างโครงการใหม่และตั้งชื่อ ฉันตั้งชื่อของฉันว่า " ตัวควบคุม Omniboard " เลือก Arduino Uno เป็นไมโครคอนโทรลเลอร์ และเลือก Bluetooth เป็นประเภทอินเทอร์เฟซ
4. ลากและวางวิดเจ็ตต่อไปนี้บนหน้าจอ: Bluetooth, แผนที่, 2 ปุ่ม และจอยสติ๊ก
ขั้นตอนที่ 15: เชื่อมต่อวิดเจ็ตกับ Arduino
ปุ่มนี้จะใช้เพื่อสลับโหมด Hoverboard กับโหมด Skateboard โหมด Hoverboard ช่วยให้สามารถควบคุมการหมุนและการยิงปืนได้อย่างแม่นยำในขณะที่ถือความเร็วล่องเรือ ในขณะที่โหมดสเก็ตบอร์ดให้การควบคุมความเร็วและการหมุนไปข้างหน้าอย่างแม่นยำ จอยสติ๊กจะควบคุมสเกตบอร์ดด้วยความอิสระสององศาซึ่งสลับกันด้วยปุ่มสลับ แผนที่จะแสดงตำแหน่งปัจจุบันของคุณรวมถึงจุดอ้างอิงสำหรับสถานที่อื่นๆ ที่จะไป บลูทูธช่วยให้อินเทอร์เฟซเชื่อมต่อกับโมดูลบลูทูธ
การตั้งค่าจอยสติ๊ก:
เลือก "ผสาน" สำหรับประเภทเอาต์พุตและกำหนดให้กับพินเสมือน V1
การตั้งค่าปุ่ม:
- ตั้งชื่อปุ่มแรกว่า "Hover Mode" และปุ่มที่สอง "Cruise Control"
- กำหนดเอาต์พุตของปุ่มแรกให้กับ Virtual pin V2 และเปลี่ยนโหมดเป็น "Switch"
- กำหนดเอาต์พุตของปุ่มที่สองให้กับ Virtual pin V3 และเปลี่ยนโหมดเป็น "Switch"
- เปลี่ยนชื่อสลับของปุ่มแรกเป็น "Hover" และ "Skate" และคง "ON" และ "OFF"
การตั้งค่าแผนที่:
กำหนดให้อินพุตเป็น V4
การตั้งค่าบลูทูธ:
เลือกวิดเจ็ต Bluetooth ในแอป Blynk และเชื่อมต่อกับโมดูลของคุณ รหัสผ่านเริ่มต้นสำหรับโมดูลบลูทูธคือ '1234'
ขั้นตอนที่ 16: การเขียนโปรแกรม Omniboard Controller
ไดนามิกของ Omniboard ได้รับการตั้งโปรแกรมตามอัลกอริธึมไดนามิกที่ได้มาจากส่วน "วิธีการทำงาน" อิสระทั้ง 3 ระดับ เดินหน้า ยิงกราด และสปิน คำนวณแยกกันและซ้อนทับกันเพื่อส่งผลให้ Omniboard ควบคุมการเคลื่อนไหวได้เต็มรูปแบบการควบคุมของมอเตอร์แต่ละตัวจะเป็นสัดส่วนเชิงเส้นกับการเคลื่อนที่ของจอยสติ๊ก อัปโหลดและรันโค้ดต่อไปนี้ไปยัง Arduino
#define BLYNK_PRINT ซีเรียล
#รวม
#รวม
#รวม
เซอร์โวมอเตอร์FR; เซอร์โวมอเตอร์ FL; เซอร์โวมอเตอร์BR; เซอร์โวมอเตอร์BL;
bool motorFRrev = จริง;
บูล motorFLrev = จริง; bool motorBRrev = จริง; บูล motorBLrev = จริง;
ลอย motorFRang = 330.0*PI/180.0;
ลอย motorFLang = 30.0*PI/180.0; ลอย motorBRang = 210.0*PI/180.0; ลอย motorBLang = 150.0*PI/180.0;
มอเตอร์ลอยFRspeedT;
มอเตอร์ลอย FLspeedT; มอเตอร์ลอยBRspeedT; มอเตอร์ลอยBLspeedT;
มอเตอร์ลอยFRspeedR;
มอเตอร์ลอย FLspeedR; มอเตอร์ลอยBRspeedR; มอเตอร์ลอยBLspeedR;
ลอย maxAccel = 10;
ไบต์ไปข้างหน้าความเร็ว = 110;
ไบต์ backSpeed = 70; ไบต์หยุดความเร็ว = 90; // เปลี่ยนเป็นตัวเลข deternmid ทดลอง
int cruiseControl;
int yawMode;
// คุณควรได้รับ Auth Token ในแอป Blynk
// ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "8523d5e902804a8690e61caba69446a2";
ซอฟต์แวร์Serial SerialBLE(10, 11); // RX, TX
BLYNK_WRITE(V2) {cruiseControl = param.asInt();}
BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);
BLYNK_WRITE(V1)
{ int x = พารามิเตอร์[0].asInt(); int y = พารามิเตอร์[1].asInt();
ถ้า (!cruiseControl) calcTranslation(x, y);
ถ้า (yawMode) calcRotation(x, y); อย่างอื่น { motorFRspeedR = 0; motorFLspeedR = 0; มอเตอร์BRspeedR = 0; มอเตอร์BLspeedR = 0; } writeToMotors(); }
การตั้งค่าเป็นโมฆะ ()
{ motorFR.attach(9); motorFL.attach(6); motorBR.แนบ(5); motorBL.attach(3); ล่าช้า (1500); // รอให้มอเตอร์เริ่มต้น // Debug console Serial.begin(9600);
SerialBLE.begin(9600);
Blynk.begin(SerialBLE, รับรองความถูกต้อง);
Serial.println("กำลังรอการเชื่อมต่อ…");
// หากคุณต้องการลบจุดทั้งหมด:
//myMap.clear();
ดัชนี int = 1;
ลอยละติจูด = 43.653172; ลอยลอย = -79.384042; myMap.location(ดัชนี, lat, lon, "ค่า"); }
วงเป็นโมฆะ ()
{ Blynk.run(); }
เป็นโมฆะ CalcTranslation (int joyX, int joyY)
{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedT = (normY*cos(motorFRang) + normX*sin(motorFRang))*(1 - 2*motorFRrev); motorFLspeedT = (normY*cos(motorFLang) + normX*sin(motorFLang))*(1 - 2*motorFLrev); motorBRspeedT = (ปกติY*cos(มอเตอร์BRang) + normX*sin(มอเตอร์BRang))*(1 - 2*มอเตอร์BRrev); motorBLspeedT = (ปกติY*cos(มอเตอร์BLang) + normX*sin(motorBLang))*(1 - 2*motorBLrev); }
โมฆะ calcRotation (int joyX, int joyY)
{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedR = joyX*(1 - 2*มอเตอร์FRrev); motorFLspeedR = -joyX*(1 - 2*มอเตอร์FLrev); motorBRspeedR = -joyX*(1 - 2*มอเตอร์BRrev); motorBLspeedR = joyX*(1 - 2*มอเตอร์BLrev); }
เป็นโมฆะ writeToMotors()
{ มอเตอร์ลอย FRspeed = motorFRspeedT + motorFRspeedR; ลอย motorFLspeed = motorFLspeedT + motorFLspeedR; มอเตอร์ลอยBRspeed = มอเตอร์BRspeedT + มอเตอร์BRspeedR; มอเตอร์ลอยBLspeed = motorBLspeedT + motorBLspeedR;
motorFRmapped ยาว = map((long) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);
motorFLmapped ยาว = map((long) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); motorBRmapped แบบยาว = map((long) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); motorBLmapped ยาว = แผนที่ ((ยาว) (100 * motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write(motorBRmapped); motorBL.write(motorBLแมป); }
ขั้นตอนที่ 17: การติดตั้งเคสอิเล็กทรอนิกส์
เพื่อป้องกันไม่ให้สายไฟและชิ้นส่วนห้อยลงมาจากด้านล่าง ให้พิมพ์ 3 มิติที่ตัวเรือนที่แนบมา จากนั้นขันสกรูเข้ากับสเก็ตบอร์ดโดยใช้สกรู M5
ขั้นตอนที่ 18: จิตรกรรม
แรงบันดาลใจสำหรับการออกแบบบนดาดฟ้าคือวงจรและรูปแบบ PCB เมื่อต้องการทำเช่นนี้ ขั้นแรกให้ปิดด้านล่างของสเก็ตบอร์ดด้วยเทปของจิตรกรที่ห่อไว้ จากนั้นดาดฟ้าทั้งหมดจะเคลือบด้วยสีขาว เมื่อแห้งแล้ว จะถูกปิดบังด้วยค่าลบของรูปแบบวงจร แล้วทาสีใหม่ด้วยเสื้อคลุมสีดำ จากนั้นลอกหน้ากากออกจากชั้นบนสุดอย่างระมัดระวังและ voila สเก็ตบอร์ดที่ดูเท่
ฉันสนับสนุนให้คุณปรับแต่งการออกแบบสำหรับ Omniboard ของคุณเองและใช้อิสระในการสร้างสรรค์ของคุณ
ขั้นตอนที่ 19: ทดสอบและสาธิต
รางวัลที่สองในการประกวดล้อ 2017
รางวัลที่ 1 การแข่งขันการควบคุมระยะไกล 2017
แนะนำ:
Bluetooth 2.1 Boombox แบบพกพา: 16 ขั้นตอน (พร้อมรูปภาพ)
Portable Bluetooth 2.1 Boombox: สวัสดีทุกคน! ในโครงสร้างนี้ ฉันตัดสินใจสร้าง Bluetooth boombox แบบพกพาที่มีแบตเตอรี่แบบชาร์จไฟได้และประสิทธิภาพที่ยอดเยี่ยม ลำโพงนี้มีพื้นฐานมาจากลำโพง Isetta ของ Paul Carmody ซึ่งฉันได้ออกแบบใหม่เล็กน้อยเพื่อรองรับ
การแปลงลำโพงเก่าเป็น Bluetooth Boombox: 8 ขั้นตอน (พร้อมรูปภาพ)
การแปลงลำโพงเก่าเป็น Bluetooth Boombox: สวัสดีทุกคน! ขอบคุณมากสำหรับการปรับแต่งกับฉันในงานสร้างนี้! ก่อนที่เราจะดูรายละเอียด โปรดพิจารณาลงคะแนนสำหรับคำแนะนำนี้ในการแข่งขันที่ด้านล่างสุด การสนับสนุนได้รับการชื่นชมอย่างมาก! เป็นเวลาสองสามปีแล้วตั้งแต่ฉันเริ่ม
ลำโพง Bluetooth Barrel Bluetooth: 7 ขั้นตอน (พร้อมรูปภาพ)
ลำโพง Bluetooth Barrel Bluetooth: หลังจากหยิบถังไวน์ขึ้นมาทำโต๊ะทางเข้า ฉันก็คิดโปรเจ็กต์สร้างนี้ขึ้นมา การสร้างลำโพงเป็นงานอดิเรกของฉันมาระยะหนึ่งแล้ว และฉันคิดว่านี่จะเป็นแอปพลิเคชันที่ยอดเยี่ยมสำหรับระบบลำโพงบลูทูธแบบพลักแอนด์เพลย์ บน
การแปลง Bluetooth Radio Bluetooth ที่ง่ายที่สุด: 5 ขั้นตอน (พร้อมรูปภาพ)
การแปลง Bluetooth Radio Bluetooth ที่ง่ายที่สุด: นี่คือวิทยุ Admiral โบราณปี 1951 ที่ฉันเคยจัดแสดงมาหลายปี ฉันทำความสะอาด ขัดเงา และแปลงเป็นลำโพงบลูทูธ ทั้งโครงการใช้เวลาประมาณ 3 ชั่วโมง
แปลงชุดหูฟัง Bluetooth ของคุณเป็นชุดหูฟัง Bluetooth แบบมีสาย: 5 ขั้นตอน (พร้อมรูปภาพ)
แปลงชุดหูฟังบลูทูธของคุณเป็นชุดหูฟังบลูทูธแบบมีสาย: วันนี้ฉันจะมาบอกวิธีสร้างหรือแปลงชุดหูฟังบลูทูธแบบมีสายของคุณเอง ทำตามขั้นตอนของฉันและขั้นตอนของคุณอยู่เบื้องหลังการแปลง