- ส่วนประกอบที่จำเป็นสำหรับ Arduino RC Boat
- โมดูลตัวส่งและตัวรับ RF 433MHz
- เครื่องส่ง RF 433MHZ
- แผนภาพบล็อกของ Arduino RC Boat Transmitter
- แผนภาพวงจรของ Arduino RC Remote (เครื่องส่งสัญญาณ)
- การสร้างวงจรส่งสัญญาณ RC BOAT
- การสร้างตู้ส่งสัญญาณ Arduino RC Boat
- โมดูลตัวรับ 433Mhz
- แผนภาพบล็อกของเครื่องรับเรือ RC Arduino
- แผนภาพวงจรของ Arduino RC Boat Receiver
- การสร้างวงจรรับของ Arduino RC Boat
- การสร้าง RC-BOAT
- มอเตอร์และใบพัดสำหรับ Arduino Air Boat
- การทำงานของ Arduino RC Boat
- การเขียนโปรแกรม Arduino ของเรือ RC
ในโครงการนี้เราจะสร้างควบคุมระยะไกล Arduino เครื่องเรือที่สามารถควบคุมแบบไร้สายโดยใช้433 MHz วิทยุ RF Modules เราจะควบคุมเรือลำนี้โดยใช้รีโมทคอนโทรลแบบโฮมเมดโดยสร้างเครื่องส่งสัญญาณ 433 MHz และโมดูลเครื่องรับของเราเอง ในกรณีของอุปกรณ์ที่ควบคุมระยะไกลหรือการสื่อสารระหว่างอุปกรณ์สองเครื่องเรามีตัวเลือกมากมายเช่น IR, Bluetooth, อินเทอร์เน็ต, RF เป็นต้นเมื่อเปรียบเทียบกับการสื่อสารด้วย IR การสื่อสารทางวิทยุมีข้อดีบางประการเช่นช่วงที่มากกว่าและไม่มี ต้องมีเส้นสายตาเชื่อมต่อระหว่างเครื่องส่งและเครื่องรับ นอกจากนี้โมดูลเหล่านี้ยังสามารถสื่อสารได้สองวิธีซึ่งหมายความว่าสามารถส่งและรับได้ในเวลาเดียวกัน ดังนั้นใช้โมดูล RF 433MHz นี้มาสร้างArduino RC Boat ในบทช่วยสอนนี้
ก่อนหน้านี้เราได้สร้างโครงการที่ควบคุมจากระยะไกลโดยใช้โมดูล RF 433Mhz เหล่านี้สำหรับการควบคุมหุ่นยนต์เช่นหุ่นยนต์ที่ควบคุมด้วย RF นี้หรือสำหรับแอปพลิเคชันระบบอัตโนมัติในบ้านเพื่อควบคุมเครื่องใช้ภายในบ้านโดยใช้ RF นอกเหนือจากการใช้โมดูล RF แล้วเรายังได้สร้าง Raspberry Pi Car ที่ควบคุมด้วย Bluetooth และ Arduino Robot ที่ควบคุมด้วยโทรศัพท์มือถือ DTMF ก่อนหน้านี้ คุณยังสามารถตรวจสอบโครงการเหล่านี้ได้หากคุณสนใจ
ส่วนประกอบที่จำเป็นสำหรับ Arduino RC Boat
- เครื่องส่งและตัวรับสัญญาณ 433MHz
- Arduino (Arduino ใด ๆ เพื่อลดขนาดที่ฉันใช้ promini)
- HT12E และ HT12D
- ปุ่มกด - 4Nos
- ตัวต้านทาน - 1mega ohm, 47k ohm
- L293d ขับมอเตอร์
- แบตเตอรี่ 9V (ฉันใช้แบตเตอรี่ 7.4 โวลต์) - 2Nos
- 7805 regulator- 2Nos
- มอเตอร์กระแสตรง - 2Nos
- ใบมอเตอร์หรือใบพัด (ฉันใช้ใบพัดแบบโฮมเมด) - 2Nos
- .1uf ตัวเก็บประจุ - 2Nos
- PCB ทั่วไป
โมดูลตัวส่งและตัวรับ RF 433MHz
โมดูล RF ประเภทนี้เป็นที่นิยมอย่างมากในหมู่ผู้ผลิต เนื่องจากต้นทุนต่ำและความเรียบง่ายในการเชื่อมต่อ โมดูลเหล่านี้เหมาะที่สุดสำหรับโครงการสื่อสารระยะสั้นทุกรูปแบบ โมดูลเหล่านี้คือโมดูลRF ประเภทASK (Amplitude Shift Keying), Amplitude-shift keying (ASK) เป็นรูปแบบหนึ่งของการมอดูเลตแอมพลิจูดที่แสดงถึงข้อมูลดิจิทัลเป็นรูปแบบต่างๆของแอมพลิจูดของคลื่นพาหะ ในระบบ ASK สัญลักษณ์ไบนารี 1 แสดงโดยการส่งคลื่นพาหะที่มีแอมพลิจูดคงที่และความถี่คงที่เป็นระยะเวลาบิต T วินาที หากค่าสัญญาณเป็น 1 สัญญาณผู้ให้บริการจะถูกส่ง มิฉะนั้นจะมีการส่งค่าสัญญาณเป็น 0 นั่นหมายความว่าพวกเขามักจะไม่ใช้พลังงานใด ๆ เมื่อส่ง Logic“ zero” การใช้พลังงานต่ำนี้ทำให้มีประโยชน์มากในโครงการที่ใช้แบตเตอรี่
เครื่องส่ง RF 433MHZ
โมดูลประเภทนี้มีขนาดเล็กมากและมาพร้อมกับ 3 พิน VCC กราวด์และข้อมูล โมดูลอื่น ๆ บางโมดูลมาพร้อมกับขาเสาอากาศเสริม แรงดันไฟฟ้าในการทำงานของโมดูลเครื่องส่งคือ 3V-12V และโมดูลนี้ไม่มีส่วนประกอบที่ปรับได้ ข้อได้เปรียบที่สำคัญอย่างหนึ่งของโมดูลนี้คือการใช้กระแสไฟต่ำซึ่งต้องใช้กระแสเกือบเป็นศูนย์เพื่อส่งบิตเป็นศูนย์
แผนภาพบล็อกของ Arduino RC Boat Transmitter
ในแผนภาพบล็อกด้านบนมีปุ่มกดสี่ปุ่ม (ปุ่มควบคุม) ปุ่มเหล่านี้มีไว้สำหรับควบคุมทิศทางของเรือ เรามีสี่คนสำหรับเดินหน้าถอยหลังซ้ายและขวา จากปุ่มกดเราได้รับตรรกะในการควบคุมเรือ แต่ไม่สามารถเชื่อมต่อโดยตรงกับตัวเข้ารหัสนั่นคือเหตุผลที่เราใช้ Arduino คุณอาจคิดว่าทำไมฉันถึงใช้ Arduino ที่นี่เป็นเพียงเพราะเราต้องดึงอินพุตข้อมูลคู่ขนานสองตัวของตัวเข้ารหัสพร้อมกันสำหรับการเคลื่อนที่ไปข้างหลังและไปข้างหน้าซึ่งไม่สามารถทำได้ด้วยแค่ปุ่มกด จากนั้นตัวเข้ารหัสจะเข้ารหัสข้อมูลแบบขนานที่มาถึงกับเอาต์พุตอนุกรม จากนั้นเราสามารถส่งข้อมูลอนุกรมนั้นด้วยความช่วยเหลือของเครื่องส่ง RF
แผนภาพวงจรของ Arduino RC Remote (เครื่องส่งสัญญาณ)
ในวงจรด้านบนคุณจะเห็นด้านหนึ่งของปุ่มกดทั้งสี่ปุ่มที่เชื่อมต่อกับพินดิจิตอลสี่ขาของ Arduino (D6-D9) และอีกสี่ด้านที่เชื่อมต่อกับกราวด์ นั่นคือเมื่อเรากดปุ่มพินดิจิทัลที่เกี่ยวข้องจะมีลอจิกต่ำ อินพุตขนานสี่ตัวของตัวเข้ารหัสHT12E ที่เชื่อมต่อกับพินดิจิทัลอีกสี่พินของ Arduino (D2-D5) ดังนั้นด้วยความช่วยเหลือของ Arduino เราจึงสามารถเลือกอินพุตของตัวเข้ารหัสได้
และพูดคุยเกี่ยวกับการเข้ารหัสHT12Eเป็น 12 บิตการเข้ารหัสและการป้อนข้อมูลแบบอนุกรมเข้ารหัสเอาท์พุทแบบคู่ขนานจาก 12 บิต 8 บิตเป็นบิตแอดเดรสที่สามารถใช้เพื่อควบคุมเครื่องรับหลายตัว หมุด A0-A7 เป็นหมุดป้อนที่อยู่ ในโครงการนี้เราควบคุมเครื่องรับเพียงเครื่องเดียวดังนั้นเราจึงไม่ต้องการเปลี่ยนที่อยู่ดังนั้นฉันจึงเชื่อมต่อหมุดที่อยู่ทั้งหมดเข้ากับพื้น หากคุณต้องการควบคุมเครื่องรับอื่นด้วยเครื่องส่งสัญญาณเครื่องเดียวคุณสามารถใช้สวิตช์จุ่มได้ที่นี่ AD8-AD11 เป็นอินพุตบิตควบคุม อินพุตเหล่านี้จะควบคุมเอาต์พุต D0-D3 ของตัวถอดรหัส HT12D เราจำเป็นต้องเชื่อมต่อออสซิลเลเตอร์สำหรับการสื่อสารและความถี่ของออสซิลเลเตอร์ควรเป็น 3KHzสำหรับการทำงาน 5V จากนั้นค่าตัวต้านทานจะเป็น1.1MΩสำหรับ 5V จากนั้นฉันเชื่อมต่อเอาต์พุตของ HT12E เข้ากับโมดูลเครื่องส่งสัญญาณ เราได้กล่าวไปแล้วว่าโมดูลตัวส่งสัญญาณ Arduino และ rf อุปกรณ์ทั้งสองนี้ทำงานบนแรงดันไฟฟ้าสูง 5V จะฆ่ามันดังนั้นเพื่อหลีกเลี่ยงปัญหานี้ฉันได้เพิ่มตัวควบคุมแรงดันไฟฟ้า 7805 ตอนนี้เราสามารถเชื่อมต่อ (Vcc) 6-12volt แบตเตอรี่ชนิดใดก็ได้เพื่อป้อนข้อมูล
การสร้างวงจรส่งสัญญาณ RC BOAT
ฉันบัดกรีส่วนประกอบทั้งหมดบน PCB ทั่วไป โปรดจำไว้ว่าเรากำลังทำโครงการ RF ดังนั้นจึงมีโอกาสมากมายสำหรับการรบกวนประเภทต่างๆดังนั้นให้เชื่อมต่อส่วนประกอบทั้งหมดอย่างใกล้ชิดให้มากที่สุด ควรใช้ส่วนหัวพินตัวเมียสำหรับ Arduino และโมดูลตัวส่งสัญญาณจะดีกว่า พยายามบัดกรีทุกอย่างบนแผ่นทองแดงแทนที่จะใช้สายไฟเสริม สุดท้ายเชื่อมต่อสายไฟขนาดเล็กเข้ากับโมดูลเครื่องส่งสัญญาณซึ่งจะช่วยเพิ่มช่วงทั้งหมด ก่อนเชื่อมต่อ Arduino และโมดูลตัวส่งตรวจสอบแรงดันไฟฟ้าของเอาต์พุต lm7805 อีกครั้ง
ภาพด้านบนแสดงมุมมองด้านบนของวงจรส่งสัญญาณ RC Boat ที่สมบูรณ์และมุมมองด้านล่างของวงจร RC Boat Transmitter ที่สมบูรณ์จะแสดงด้านล่าง
การสร้างตู้ส่งสัญญาณ Arduino RC Boat
ร่างกายที่ดีเป็นสิ่งจำเป็นสำหรับรีโมท ขั้นตอนนี้เกี่ยวกับความคิดของคุณคุณสามารถสร้างเนื้อหาระยะไกลด้วยความคิดของคุณ ฉันกำลังอธิบายว่าฉันทำสิ่งนี้ได้อย่างไร สำหรับการสร้างตัวรีโมทฉันเลือกแผ่น MDF 4 มม. คุณยังสามารถเลือกไม้อัดแผ่นโฟมหรือกระดาษแข็งจากนั้นฉันก็ตัดสองชิ้นจากนั้นโดยมีความยาว 10 ซม. และกว้าง 5 ซม. จากนั้นฉันทำเครื่องหมายตำแหน่งของปุ่มต่างๆ ฉันวางปุ่มทิศทางไว้ทางด้านซ้ายและปุ่มเดินหน้าถอยหลังทางขวา ในอีกด้านหนึ่งของแผ่นฉันเชื่อมต่อปุ่มกดกับวงจรส่งสัญญาณหลัก โปรดจำไว้ว่าปุ่มกดปกติมีหมุด 4 ตัวซึ่งเป็นหมุดสองตัวสำหรับแต่ละด้าน เชื่อมต่อพินหนึ่งเข้ากับ Arduino และอีกขาเข้ากับพื้น หากคุณสับสนกับเรื่องนี้โปรดตรวจสอบด้วยมัลติมิเตอร์หรือตรวจสอบแผ่นข้อมูล
หลังจากเชื่อมต่อสิ่งเหล่านี้ทั้งหมดฉันได้วางวงจรควบคุมไว้ระหว่างแผง MDF ทั้งสองและขันให้แน่นด้วยสลักเกลียวยาว (โปรดดูภาพด้านล่างหากคุณต้องการ) การสร้างร่างกายที่ดีอีกครั้งเป็นเรื่องของความคิดของคุณ
โมดูลตัวรับ 433Mhz
ตัวรับสัญญาณนี้มีขนาดเล็กมากและมาพร้อมกับ 4 พิน VCC กราวด์และพินกลางทั้งสองเป็นข้อมูลออก แรงดันไฟฟ้าในการทำงานของโมดูลนี้คือ 5v เช่นเดียวกับโมดูลเครื่องส่งสัญญาณนี่เป็นโมดูลที่ใช้พลังงานต่ำเช่นกัน บางโมดูลมาพร้อมกับพินเสาอากาศเสริม แต่ในกรณีของฉันไม่มีอยู่
แผนภาพบล็อกของเครื่องรับเรือ RC Arduino
แผนภาพด้านบนอธิบายการทำงานของวงจรรับ RF ขั้นแรกเราสามารถรับสัญญาณที่ส่งโดยใช้โมดูลตัวรับ RF เอาต์พุตของเครื่องรับนี้เป็นข้อมูลแบบอนุกรม แต่เราไม่สามารถควบคุมอะไรได้ด้วยข้อมูลอนุกรมนี้นั่นคือสาเหตุที่เราเชื่อมต่อเอาต์พุตกับตัวถอดรหัส ตัวถอดรหัสจะถอดรหัสข้อมูลอนุกรมกับข้อมูลขนานเดิมของเรา ในส่วนนี้เราไม่ต้องการไมโครคอนโทรลเลอร์ใด ๆ เราสามารถเชื่อมต่อเอาต์พุตกับไดรเวอร์มอเตอร์ได้โดยตรง
แผนภาพวงจรของ Arduino RC Boat Receiver
HT12Dเป็นตัวถอดรหัส 12 บิตซึ่งเป็นอินพุตขนานถอดรหัสเอาท์พุทแบบอนุกรม. ขาอินพุตของ HT12D จะเชื่อมต่อกับเครื่องรับที่มีเอาต์พุตแบบอนุกรม ในบรรดา 12 บิต 8 บิต (A0-A7) เป็นบิตแอดเดรสและ HT12D จะถอดรหัสอินพุตหากตรงกับแอดเดรสปัจจุบันเท่านั้น D8-D11 เป็นบิตเอาต์พุต เพื่อจับคู่วงจรนี้กับวงจรเครื่องส่งสัญญาณฉันเชื่อมต่อหมุดที่อยู่ทั้งหมดกับพื้น ข้อมูลออกจากโมดูลเป็นประเภทอนุกรมและตัวถอดรหัสจะถอดรหัสข้อมูลอนุกรมนี้เป็นข้อมูลขนานดั้งเดิมและเราจะออกทาง D8-D11 เพื่อให้ตรงกับความถี่การสั่นควรเชื่อมต่อตัวต้านทาน 33-56k กับพินออสซิลเลเตอร์ ไฟ LED บนหมุดที่ 17 แสดงถึงการส่งสัญญาณที่ถูกต้องจะสว่างหลังจากที่เครื่องรับเชื่อมต่อกับเครื่องส่งสัญญาณ แรงดันไฟฟ้าของเครื่องรับยังเป็น 6-12 โวลต์
ในการควบคุมมอเตอร์ฉันใช้ IC L293D ฉันเลือก IC นี้เพราะเพื่อลดขนาดและน้ำหนักและ IC นี้ดีที่สุดสำหรับการควบคุมมอเตอร์สองตัวในสองทิศทาง L293D มี 16 พินแผนภาพด้านล่างแสดงพิน
1, 9 พินเป็นพินเปิดใช้งานเราเชื่อมต่อกับ 5 v เพื่อเปิดใช้งานมอเตอร์ 1A, 2A, 3A และ 4A เป็นพินควบคุม มอเตอร์จะหมุนไปทางขวาถ้าขา 1A ต่ำและ 2A สูงไปและมอเตอร์จะหมุนไปทางซ้ายถ้า 1A ไปต่ำและสูง 2A ดังนั้นเราจึงเชื่อมต่อพินเหล่านี้กับเอาต์พุต ps ของตัวถอดรหัส 1Y, 2Y, 3Y และ 4Y เป็นหมุดเชื่อมต่อมอเตอร์ Vcc2 คือพินแรงดันไฟฟ้าของมอเตอร์หากคุณใช้มอเตอร์ไฟฟ้าแรงสูงคุณจะเชื่อมต่อพินนี้กับแหล่งจ่ายแรงดันไฟฟ้าที่สอดคล้องกัน
การสร้างวงจรรับของ Arduino RC Boat
ก่อนสร้างวงจรรับคุณควรจำสิ่งสำคัญบางอย่าง สิ่งสำคัญคือขนาดและน้ำหนักเพราะหลังจากสร้างวงจรแล้วเราจำเป็นต้องแก้ไขบนเรือ ดังนั้นหากน้ำหนักเพิ่มขึ้นก็จะส่งผลต่อการลอยตัวและการเคลื่อนไหว
เช่นเดียวกับในวงจรเครื่องส่งสัญญาณให้ประสานทุกส่วนประกอบใน PCB ทั่วไปขนาดเล็กและพยายามใช้สายไฟขั้นต่ำ ฉันเชื่อมต่อพิน 8 ของตัวขับมอเตอร์กับ 5v เพราะฉันใช้มอเตอร์ 5V
การสร้าง RC-BOAT
ฉันลองใช้วัสดุต่างๆเพื่อสร้างตัวเรือ และฉันได้ผลลัพธ์ที่ดีขึ้นด้วยแผ่นเทอร์โมคอล ดังนั้นฉันจึงตัดสินใจที่จะสร้างร่างกายด้วยเทอร์โมคอล ก่อนอื่นฉันเอาชิ้นส่วนเทอร์โมคอลหนา 3 ซม. แล้ววางวงจรรับไว้ด้านบนจากนั้นทำเครื่องหมายรูปร่างของเรือในเทอร์โมคอลแล้วตัด นี่คือวิธีการสร้างเรือของฉันคุณสามารถสร้างตามความคิดของคุณ
มอเตอร์และใบพัดสำหรับ Arduino Air Boat
เรื่องน้ำหนักอีกครั้ง ดังนั้นการเลือกมอเตอร์ที่ถูกต้องจึงเป็นสิ่งสำคัญฉันจึงเลือกมอเตอร์กระแสตรง 5 โวลต์, n20 ซึ่งมีขนาดเล็กและไม่มีน้ำหนัก เพื่อหลีกเลี่ยงการรบกวนของ RFควรเชื่อมต่อตัวเก็บประจุ 0.1uf ขนานกับอินพุตของมอเตอร์
ในกรณีของใบพัดฉันทำใบพัดโดยใช้แผ่นพลาสติก คุณสามารถซื้อใบพัดจากร้านค้าหรือสร้างเองทั้งสองแบบก็ใช้ได้ดี ในการสร้างใบพัดก่อนอื่นฉันเอาแผ่นพลาสติกเล็ก ๆ แล้วตัดชิ้นเล็ก ๆ สองชิ้นจากนั้นฉันก็งอชิ้นด้วยความร้อนของเทียน ในที่สุดฉันก็ใส่รูเล็ก ๆ ตรงกลางของมอเตอร์และยึดเข้ากับมอเตอร์นั่นแหล่ะ
การทำงานของ Arduino RC Boat
เรือลำนี้มีมอเตอร์สองตัวให้เรียกว่าซ้ายและขวา หากมอเตอร์เคลื่อนที่ไปตามเข็มนาฬิกาด้วย (ตำแหน่งของใบพัดก็ขึ้นอยู่ด้วย) ใบพัดจะดูดอากาศจากด้านหน้าและระบายออกไปทางด้านหลัง ที่สร้างการลากไปข้างหน้า
การเคลื่อนที่ไปข้างหน้า: หากมอเตอร์ทั้งซ้ายและขวาหมุนไปตามเข็มนาฬิกาจะเป็นการเคลื่อนที่ไปข้างหน้า
การเคลื่อนที่ไปข้างหลัง: หากมอเตอร์ทั้งซ้ายและขวาหมุนทวนเข็มนาฬิกา (นั่นคือใบพัดดูดอากาศจากด้านหลังและไอเสียไปทางด้านหน้า) ซึ่งจะทำให้เคลื่อนที่ถอยหลังได้
การเคลื่อนที่ด้านซ้าย:หากมอเตอร์หมุนด้านขวาเท่านั้นที่เป็นเรือให้ลากจากด้านขวาเท่านั้นเรือจะเคลื่อนที่ไปทางด้านซ้าย
การเคลื่อนที่ไปทางขวา: หากมีเพียงมอเตอร์ด้านซ้ายเท่านั้นที่หมุนซึ่งเป็นเรือจะลากจากด้านซ้ายเท่านั้นที่จะทำให้เรือเคลื่อนที่ไปทางด้านขวา
เราเชื่อมต่ออินพุตของไดรเวอร์มอเตอร์กับเอาต์พุตสี่บิตของตัวถอดรหัส (D8-D11) เราสามารถควบคุมเอาท์พุตทั้ง 4 นี้ได้โดยเชื่อมต่อ AD8-AD11 เข้ากับกราวด์ที่เป็นปุ่มในรีโมท ตัวอย่างเช่นถ้าเราเชื่อมต่อ AD8 กับกราวด์ซึ่งจะเปิดใช้งาน D8 ด้วยวิธีนี้เราสามารถควบคุมมอเตอร์สองตัวในสองทิศทางโดยใช้เอาต์พุต 4 ตัวนี้ แต่เราไม่สามารถควบคุมมอเตอร์สองตัวได้ด้วยปุ่มเดียว (เราต้องการมันสำหรับการเคลื่อนที่ไปข้างหน้าและข้างหลัง) นั่นคือเหตุผลที่เราใช้ Arduino ด้วยความช่วยเหลือของ Arduino เราสามารถเลือกพินข้อมูลอินพุตได้ตามที่เราต้องการ
การเขียนโปรแกรม Arduino ของเรือ RC
การเขียนโปรแกรมของเรือลำนี้ง่ายมากเพราะเราต้องการเพียงการสลับตรรกะบางอย่าง และเราสามารถบรรลุทุกสิ่งด้วยฟังก์ชันพื้นฐานของ Arduino โปรแกรมที่สมบูรณ์สำหรับโครงการนี้สามารถพบได้ที่ด้านล่างของหน้านี้ คำอธิบายของโปรแกรมของคุณมีดังนี้
เราเริ่มโปรแกรมโดยกำหนดจำนวนเต็มสำหรับปุ่มอินพุตสี่ปุ่มและพินอินพุตตัวถอดรหัส
int f_button = 9; int b_button = 8; int l_button = 7; int r_button = 6; int m1 = 2; int m2 = 3; int m3 = 4; int m4 = 5;
ในส่วนการตั้งค่าฉันกำหนดโหมดพิน นั่นคือปุ่มต่างๆเชื่อมต่อกับพินดิจิทัลดังนั้นพินเหล่านี้ควรกำหนดเป็นอินพุตและเราจำเป็นต้องได้รับเอาต์พุตสำหรับอินพุตของตัวถอดรหัสดังนั้นเราจึงควรกำหนดพินเหล่านั้นเป็นเอาต์พุต
pinMode (f_button, INPUT_PULLUP); pinMode (b_button, INPUT_PULLUP); pinMode (l_button, INPUT_PULLUP); pinMode (r_button, INPUT_PULLUP); PinMode (m1, เอาท์พุท); PinMode (m2, เอาท์พุท); pinMode (m3, เอาท์พุท); pinMode (m4, เอาท์พุท);
ถัดไปในฟังก์ชั่นลูปหลักเราจะอ่านสถานะปุ่มโดยใช้ฟังก์ชั่นการอ่านดิจิทัลของ Arduino หากสถานะพินต่ำนั่นหมายความว่ามีการกดพินที่เกี่ยวข้องเราจะดำเนินการเงื่อนไขดังต่อไปนี้ -
ถ้า (digitalRead (f_button) == LOW)
นั่นหมายถึงกดปุ่มเดินหน้า
{ digitalWrite (m1, LOW); digitalWrite (m3, LOW); digitalWrite (m2, สูง); digitalWrite (m4, สูง); }
สิ่งนี้จะดึงลง m1 และ m2 ของตัวเข้ารหัสซึ่งจะเปิดใช้งานมอเตอร์ทั้งสองที่ด้านตัวรับ ในทำนองเดียวกันสำหรับการเคลื่อนไหวถอยหลัง
{ digitalWrite (ม. 1 สูง); digitalWrite (m3, สูง); digitalWrite (m2, LOW); digitalWrite (m4, LOW); }
สำหรับการเคลื่อนไหวด้านซ้าย
{ digitalWrite (m1, LOW); digitalWrite (m3, สูง); digitalWrite (m2, สูง); digitalWrite (m4, สูง); }
เพื่อการเคลื่อนไหวที่ถูกต้อง
{ digitalWrite (ม. 1 สูง); digitalWrite (m3, LOW); digitalWrite (m2, สูง); digitalWrite (m4, สูง); }
หลังจากรวบรวมรหัสแล้วให้อัปโหลดไปยังบอร์ด Arduino ของคุณ
การแก้ไขปัญหา: วางเรือบนผิวน้ำและตรวจสอบว่าเคลื่อนที่อย่างถูกต้องหรือไม่หากไม่พยายามเปลี่ยนขั้วของมอเตอร์และใบพัด นอกจากนี้พยายามทำให้น้ำหนักสมดุล
การทำงานทั้งหมดของโครงการสามารถพบได้ในวิดีโอที่เชื่อมโยงที่ด้านล่างของหน้านี้ หากคุณมีคำถามใด ๆ ทิ้งไว้ในส่วนความคิดเห็น