เครื่องควบคุม Wifi ทำเองได้ ควบคุมเครื่องผ่าน WiFi โดยใช้ ESP8266 NodeMCU Compiling และ Flashing
ฉันเพิ่งตัดสินใจอัพเกรดรถจี๊ปของเล่นที่ควบคุมด้วยวิทยุของลูกชาย ตัวควบคุมวิทยุหยุดทำงานเกือบจะในทันที จากการชันสูตรพลิกศพพบว่า เครื่องยนต์ที่ติดตั้งในรถอ่อนแอเกินไปและงุ่มง่าม ฉันเปลี่ยนมอเตอร์ขับเคลื่อนหลักให้มีขนาดและกำลังที่ใหญ่กว่าทันที ในการทำเช่นนี้ ฉันต้องทำงานเป็นช่างแกะสลักโดยมีเลื่อยวงเดือนติดตั้งอยู่ (ฉันจะจัดสรรพื้นที่ให้เพียงพอได้อย่างไร) แผงรับสัญญาณวิทยุก็ถูกโยนทิ้งไปเช่นกัน
จากนั้นโดยไม่ต้องคิดซ้ำสองแนวคิดของการควบคุมระยะไกลก็ถูกเลือกตามตัวอย่างของรถแลนด์โรเวอร์ Mars: ได้รับคำสั่งและรถจี๊ปเองก็ดำเนินการและหยุด ทั้งหมดเป็นเพราะความไม่แน่นอนที่ลูกชายวัย 2.5 ขวบของฉันจะสามารถควบคุมเครื่องยนต์ด้วยรีโมทคอนโทรลมาตรฐานได้ ฉันแน่ใจว่ามันจะควบคุมการควบคุมได้เป็นเวลานานไม่ว่าพฤติกรรมของเครื่องจะเป็นอย่างไร และหลักการของรถแลนด์โรเวอร์ Mars: ขับไป 20 ซม. แล้วหยุดก็ค่อนข้างเหมาะสม ยิ่งไปกว่านั้น ฉันใฝ่ฝันที่จะลองใช้มันมานานแล้ว อย่างน้อยก็ในรูปแบบที่ง่ายที่สุด ในการใช้งานนี้ เราจะไม่เดินทาง 20 ซม. แต่เป็นเวลา 1 วินาที
ดังนั้นเราจะควบคุมเครื่องยนต์ที่พลิกกลับได้ (หมุนได้ทั้งสองทิศทาง) สองเครื่องยนต์: เครื่องยนต์หลักและพวงมาลัย เราจะจ่ายไฟให้กับพวกมันจากแบตเตอรี่ 3.7 V แต่โดยหลักการแล้วคุณสามารถจ่ายไฟได้สูงสุด 12 V หากคุณประสานแหล่งจ่ายไฟของคอนโทรลเลอร์หรือจัดระเบียบด้วยแบตเตอรี่แยกต่างหาก
ในส่วนของกำลัง เราใช้อันจิ๋วที่ง่ายที่สุดหรืออันทรงพลังพอ ๆ กันที่คุณพบ โดยทั่วไปแล้วฉันวาดทุกอย่างในภาพ
สามารถชาร์จแบตเตอรี่ได้ผ่านไมโคร USB หลังจากนั้นจะจ่ายไฟให้กับไดรเวอร์มอเตอร์โดยตรงและควบคุม WiFi ผ่านทาง
รหัสโปรแกรม:
#รวม
const char* ssid = "ชื่อเครือข่าย Wi-Fi ของคุณ";
รหัสผ่าน const char* = "รหัสผ่านเครือข่ายของคุณ";
int ขึ้น = 2; //จำนวนเอาต์พุตที่ไม่ต่อเนื่อง
int ลง = 14;
int ซ้าย = 4;
int ขวา = 12;
// สร้างอินสแตนซ์ของเซิร์ฟเวอร์
// ระบุพอร์ตที่จะฟังเป็นอาร์กิวเมนต์
เซิร์ฟเวอร์เซิร์ฟเวอร์ WiFi (80);
การตั้งค่าเป็นโมฆะ () (
อนุกรม.เริ่มต้น(9600);
ล่าช้า(10);
//กำลังเตรียมเอาท์พุต
pinMode(ขึ้น, เอาท์พุท);
digitalWrite (ขึ้น, 0);
pinMode (ลง, เอาต์พุต);
digitalWrite (ลง, 0);
pinMode (ซ้าย, เอาต์พุต);
digitalWrite (ซ้าย, 0);
pinMode (ขวา, เอาต์พุต);
digitalWrite (ขวา, 0);
// เชื่อมต่อกับเครือข่าย WiFi
อนุกรม.println();
อนุกรม.println();
Serial.print("กำลังเชื่อมต่อกับ ");
Serial.println(ssid);
WiFi.begin(ssid, รหัสผ่าน);
ในขณะที่ (WiFi.status() != WL_CONNECTED) (
ล่าช้า (500);
Serial.print(".");
}
Serial.println("");
Serial.println("เชื่อมต่อ WiFi");
//เริ่มเซิร์ฟเวอร์
เซิร์ฟเวอร์.เริ่มต้น();
Serial.println("เซิร์ฟเวอร์เริ่มทำงาน");
//ส่งออกที่อยู่ IP ไปยังมอนิเตอร์พอร์ต
Serial.println(WiFi.localIP());
}
เป็นโมฆะวน() (
//ตรวจสอบว่าไคลเอนต์เชื่อมต่ออยู่หรือไม่
ไคลเอนต์ WiFiClient = server.available();
ถ้า (!ลูกค้า) (
กลับ;
}
//รอจนกว่าลูกค้าจะส่งข้อมูลบางส่วน
Serial.println("ลูกค้าใหม่");
ในขณะที่(!client.available())(
ล่าช้า(1);
}
//อ่านบรรทัดแรกของคำขอ
String req = client.readStringUntil("\r");
Serial.println(ต้องการ);
ลูกค้า.ฟลัช();
//การประมวลผลคำสั่ง
ถ้า (req.indexOf("/gpio/up") != -1)(
digitalWrite (ขึ้น, 1);
digitalWrite (ลง, 0);
ล่าช้า (1,000);
digitalWrite (ขึ้น, 0);
digitalWrite (ลง, 0);
}
อย่างอื่นถ้า (req.indexOf("/gpio/down") != -1)(
digitalWrite (ขึ้น, 0);
digitalWrite (ลง, 1);
ล่าช้า (1,000);
digitalWrite (ขึ้น, 0);
digitalWrite (ลง, 0);
}
อย่างอื่นถ้า (req.indexOf("/gpio/left") != -1)(
digitalWrite (ขึ้น, 1);
digitalWrite (ลง, 0);
digitalWrite (ซ้าย, 1);
digitalWrite (ขวา, 0);
ล่าช้า (1,000);
digitalWrite (ขึ้น, 0);
digitalWrite (ลง, 0);
digitalWrite (ซ้าย, 0);
digitalWrite (ขวา, 0);
}
อย่างอื่นถ้า (req.indexOf("/gpio/right") != -1)(
digitalWrite (ขึ้น, 1);
digitalWrite (ลง, 0);
digitalWrite (ซ้าย, 0);
digitalWrite (ขวา, 1);
ล่าช้า (1,000);
digitalWrite (ขึ้น, 0);
digitalWrite (ลง, 0);
digitalWrite (ซ้าย, 0);
digitalWrite (ขวา, 0);
}
อื่น(
Serial.println("คำขอไม่ถูกต้อง");
}
ลูกค้า.ฟลัช();
//เตรียมการตอบรับ
String s = "HTTP/1.1 200 ตกลง\r\nประเภทเนื้อหา: text/html\r\n\r\n\ร\n \r\n ";
ส += "
ขึ้น.
";
ส += "
ซ้าย ";
s += "ถูกต้อง
";
ส += "
ลง";
ส += "
//ส่งคำตอบให้กับลูกค้า
ลูกค้าพิมพ์(s);
ล่าช้า(1);
Serial.println("ไคลเอนต์ถูกตัดการเชื่อมต่อ");
) โปรแกรมเขียนด้วย Arduino IDE คอนโทรลเลอร์ NodeMCU 0.9 ESP8266 ซึ่งจะจัดระเบียบจุดเข้าใช้งานและทำหน้าที่ของเว็บเซิร์ฟเวอร์นั่นคือเมื่อคุณเข้าถึง IP จากเบราว์เซอร์เราจะเห็นหน้าเว็บพร้อมการควบคุม การจัดระเบียบการถ่ายโอนข้อมูลจากตัวควบคุมหนึ่งไปยังอีกตัวควบคุมหนึ่งผ่านเครือข่าย WiFi อัตโนมัติก็น่าสนใจเช่นกัน
ที่นี่ฉันจะพูดถึงการแปลงอุปกรณ์ควบคุมวิทยุของรุ่นต่างๆ เป็นช่วง 2.4 GHz
จนกระทั่งเมื่อไม่นานมานี้ผมได้ใช้อุปกรณ์ ไฮเทคคราส 7ร่วมกับโมดูล Corona 2.4 ไม่เคยมีปัญหาในการเชื่อมต่อใดๆ ปัญหาคือเสาอากาศ WI-FI มาตรฐานหรือความน่าเชื่อถือเชิงกลมากกว่า เสาอากาศที่สองในพื้นที่ของส่วนที่หมุนได้แตกออกแล้วเพียงกดเสาอากาศสองส่วนและเมื่อแยกออกจากกันแกนกลางที่บัดกรีของเสาอากาศจะหลุดออกมา
หลังจากนี้จะไม่สามารถซ่อมแซมเสาอากาศส่งสัญญาณ 2.4 GHz ได้! ราคาถูก แต่ไม่ได้ขายทุกที่และการใช้การออกแบบนี้ต่อไปทำให้ฉันไม่ไว้วางใจ หลังจากพยายามค้นหาเสาอากาศแยกกันไม่สำเร็จฉันก็ซื้ออันนี้ชื่อ TP-LINK
มันยาวเป็นสองเท่าและตามคำแนะนำสั้น ๆ เข้ากันได้กับระบบ 2.4 GHz ทั้งหมด แต่มีอัตราขยายที่มากกว่าหรือค่อนข้าง 5 dB เมื่อเทียบกับมาตรฐาน Koronovo 2-3 dB และตามช่วงการสื่อสาร เมื่อทดลองกับโมดูล โคโรนา 2.4ไม่พบการเบี่ยงเบนในพฤติกรรมของเครื่องบินโฟมทดลอง ต่อไป มีการตัดสินใจที่จะย้ายเสาอากาศนี้ไปยังตำแหน่งมาตรฐาน 40 MHz และวางโมดูล Corona ไว้ในอุปกรณ์ ไม่ใช่เป็นหน่วยที่เปลี่ยนได้
ผลลัพธ์ที่ได้คือการปรับปรุง รีโมทคอนโทรล 2.4 :
- เสาอากาศสามารถเข้าถึงได้ด้วยสายตา
- ขาดหน้าสัมผัสที่ถอดออกได้เมื่อเชื่อมต่อโมดูล
- และแน่นอนว่ารูปลักษณ์ภายนอก
ต่อไป ตามลำดับเกี่ยวกับการแปลง "40 MHz" เป็นรีโมทคอนโทรล RC 2.4 GHz
ฉันเปิดอุปกรณ์และโมดูล พบสถานที่ในอุปกรณ์สำหรับติดตั้งบอร์ดโมดูลพร้อมฝาปิดด้านล่างเพื่อให้ติดตั้งได้ง่าย
ฝาครอบถูกขันด้วยสกรูเกลียวปล่อยเข้าไปในรูของสวิตช์ไฟ ฉันขันสกรูให้นานกว่าสกรูที่สวิตช์เล็กน้อย
ฉันปิดหัวสกรูด้วยเทปไฟฟ้าแล้วสอดบอร์ดแล้วขันสกรูเกลียวปล่อยเล็ก ๆ 4 ตัวเข้าที่ฝาจากทั้งสี่ด้านแล้วกดบอร์ดโมดูล
มีเพียง 3 สายเท่านั้นที่เหมาะกับบอร์ด:
- บวกกับอาหาร
- ทั่วไป
- สัญญาณควบคุม
หากต้องการเข้าถึงปุ่มโมดูลและควบคุม LED เมื่อเชื่อมต่อตัวรับสัญญาณในช่องสำหรับโมดูลมาตรฐาน ให้ตัดรูเล็กๆ ออกแล้วปิดให้ว่างเปล่า!!! โมดูล.
เสาอากาศ 2.4 นี้หนากว่าเสาอากาศมาตรฐาน 40 MHz เล็กน้อยความหนาประมาณ 12 มม. ฉันต้องเจาะรูเล็กน้อย เสาอากาศได้รับการแก้ไขโดยการเชื่อมเย็นเฉพาะส่วนล่างที่หมุนได้เพื่อให้สามารถหมุนรอบแกนและทำ รีโมทคอนโทรลอาร์ซีสะดวกที่สุด
ชุดประกอบเครื่องส่งสัญญาณ 2.4
เมื่อประกอบเครื่องส่งสัญญาณ คุณจะต้องนำตัวเรือนทั้งสองครึ่งมารวมกันแล้วขันปลั๊กเสาอากาศจากโมดูลเข้ากับเสาอากาศ หลังจากหมุนทวนเข็มนาฬิกาหลายรอบในครั้งแรก เพียงเท่านี้เราก็บิดเครื่องส่งสัญญาณ 2.4 เราตรวจสอบฟังก์ชันการทำงานและใช้งาน
เครื่อง 2.4 ทดสอบภาคสนามแล้ว ทุกอย่างปกติดี!
ด้วยวิธีนี้ คุณสามารถแปลงระบบควบคุมวิทยุได้เกือบทุกรุ่น วิธีการรีเมค รีโมทคอนโทรลอาร์ซีที่ 2.4 - ในอนาคต ฉันเขียนว่า มีการวางแผนเผยแพร่เพิ่มเติมเกี่ยวกับการปรับปรุงอุปกรณ์และการประกอบอุปกรณ์อิเล็กทรอนิกส์ที่ผู้สร้างโมเดลต้องการ
ความสนใจ!
ความรับผิดชอบทั้งหมดสำหรับอุปกรณ์ที่ถูกไฟไหม้และแบบจำลองที่เสียหายตกเป็นของคุณแต่เพียงผู้เดียว ดังนั้นหากไม่มีประสบการณ์และความรู้เกี่ยวกับพื้นฐานของอุปกรณ์อิเล็กทรอนิกส์ ฉันไม่แนะนำอย่างเด็ดขาดแม้แต่เพียงแค่แยกชิ้นส่วนอุปกรณ์!
โปรเจ็กต์นี้อธิบายการสร้างเครื่อง Wi-Fi พร้อมควบคุมรถจำลองผ่านอินเทอร์เน็ต หรือใช้แล็ปท็อปที่มี Wi-Fi ในระยะไกลสูงสุด 500 ม. เครื่องมีกล้องแบบเรียลไทม์ซึ่งช่วยให้คุณควบคุมเครื่องโดยดูที่หน้าจอแล็ปท็อป
เมื่อไม่นานมานี้ ฉันพบเราเตอร์ Linksys WRT54GL สะดวกมากสำหรับการแฮ็กและแก้ไขเพราะ... มันรัน Linux มีการเขียนเฟิร์มแวร์ทางเลือกมากมายสำหรับเราเตอร์นี้ โปรเจ็กต์นี้ใช้เฟิร์มแวร์ Linux Open-WRT แบบกำหนดเอง นอกจากความเป็นไปได้ที่ยอดเยี่ยมในการปรับเปลี่ยนซอฟต์แวร์ของเราเตอร์นี้แล้ว ยังมีการแก้ไขและแฮ็กฮาร์ดแวร์ที่เป็นไปได้อีกมากมาย นั่นคือฉันมีเราเตอร์ราคาถูกและแฮ็กได้พร้อม Linux ในตัว - ฉันรู้ว่าการทำบางอย่างกับมันนั้นดีและสะดวก จึงมีแนวคิดเรื่องเครื่อง Wi-Fi เกิดขึ้น
วัตถุประสงค์ของบทความนี้คือเพื่อให้ภาพรวมทั่วไปของโครงการและแสดงคุณลักษณะการใช้งานบางอย่างของซอฟต์แวร์และชิ้นส่วนอิเล็กทรอนิกส์ บทความนี้ไม่ใช่คำแนะนำทีละขั้นตอนในการประกอบเครื่องจักร แต่มีข้อมูลเพียงพอสำหรับผู้ที่มีแรงจูงใจที่ดีและมีความรู้พื้นฐานเกี่ยวกับอิเล็กทรอนิกส์และการเขียนโปรแกรม โปรแกรมทั้งหมดเขียนขึ้นภายใต้เงื่อนไขของ GNU Open License v2 ดังนั้นโค้ดจึงสามารถนำไปใช้และปรับปรุงได้อย่างอิสระ
ฮาร์ดแวร์
เครื่องพิมพ์ดีด
การเพิ่มกล้องเครือข่าย เราเตอร์ แบตเตอรี่ขนาดใหญ่ วงจรเพิ่มเติม และสายไฟจำนวนมากทำให้มีน้ำหนักเพิ่มขึ้นมาก และรุ่นส่วนใหญ่ไม่ได้ออกแบบมาเพื่อการดังกล่าว ดังนั้นเนื่องจากความพิเศษทั้งหมดจึงจำเป็นต้องหารถ RC ที่ค่อนข้างใหญ่ บนอินเทอร์เน็ตคุณสามารถค้นหารถบังคับวิทยุมือสองที่ไม่มีรีโมทคอนโทรลในราคา 200-300 รูเบิล ฉันซื้อเครื่องจักรหลายเครื่องเพื่อดึงชิ้นส่วนออกมา ยานพาหนะที่มีอัตราส่วน 1:10 หรือใหญ่กว่านั้นก็ทำได้ดี และคุณอาจไม่ต้องการอะไรที่เล็กกว่านั้น ฉันซื้อเครื่องนี้ราคา 150 รูเบิล
ฉันถอดประกอบรถ RC ได้ประมาณ 20 คัน เกือบทั้งหมดใช้ชิป Realtek RX2/TX2 หรืออะนาล็อกที่สมบูรณ์ซึ่งมี pinout ที่คล้ายกัน สามารถดูเอกสารประกอบได้ทางอินเทอร์เน็ตหรือผ่านลิงก์ ซึ่งหมายความว่าควบคุมเครื่องได้ง่ายมากโดยใช้อุปกรณ์อิเล็กทรอนิกส์มาตรฐานโดยไม่ต้องเพิ่มวงจรของคุณเอง คุณสามารถเชื่อมต่อไมโครคอนโทรลเลอร์เข้ากับพินได้โดยตรง (ไปข้างหน้า ถอยหลัง ซ้าย ขวา) และควบคุมรถ ความสามารถในการใช้อุปกรณ์อิเล็กทรอนิกส์ในรถยนต์มาตรฐานช่วยประหยัดเวลาและความพยายามได้มาก
ฉันแก้ไข WRT54GL ของฉันให้มีพอร์ตอนุกรม 2 พอร์ตและการ์ด SD ขนาด 1GB (ทำงานเหมือนกับ HDD ขนาด 1GB) โปรเจ็กต์นี้ไม่ได้ใช้การ์ด SD แต่ใช้พอร์ตอนุกรมพอร์ตใดพอร์ตหนึ่ง เราเตอร์ของฉันมีพอร์ตอนุกรมสองพอร์ต: พอร์ตคอนโซลและ TTS/1 ซึ่งเป็นสิ่งที่เราจะใช้ สำหรับโปรเจ็กต์นี้ ฉันใช้ OpenWRT White Russian v0.9 มีเวอร์ชันที่ใหม่กว่า แต่เราไม่ต้องการสำหรับโปรเจ็กต์นี้ คู่มือการเรียบเรียงโปรแกรม (ดูด้านล่าง) ใช้เวอร์ชันนี้ เลยเลือกครับ
ทางเลือกไมโครคอนโทรลเลอร์
ฉันประเมินไมโครคอนโทรลเลอร์สามตัวที่แตกต่างกันสำหรับโปรเจ็กต์นี้ สรุปผลการประเมินแสดงไว้ด้านล่าง
ไมโครคอนโทรลเลอร์ |
PIC16F628A |
อาร์ดูโน่ (ATmega168) |
AVR บัตเตอร์ฟลาย (ATmega169) |
ราคา. |
ง่ายต่อการเขียนโปรแกรม (C มีไลบรารี่ในตัวมากมาย) |
โปรแกรมง่ายกว่า PIC |
|
ขัดต่อ |
ยากต่อการเขียนโปรแกรม (แอสเซมเบลอร์) |
ข้อผิดพลาด Bootloader (ดูด้านล่าง) |
ฉันเลือก PIC16F628A ด้วยเหตุผลหลายประการ:
- ฉันมีพวกเขามากมาย
- ฉันมีประสบการณ์กับพวกเขาน้อย
- ฉันต้องการบอร์ดขนาดเล็กและบอร์ด PIC นั้นเล็กที่สุดในบรรดา 3 ตัวเลือกทั้งหมด
- ฉันต้องการควบคุมการทำงานของโปรแกรมได้อย่างสมบูรณ์ และสิ่งนี้ค่อนข้างเป็นไปได้ด้วยการเขียนโปรแกรมภาษาแอสเซมบลี
Arduino (Freeduino MaxSerial) เป็นตัวเลือกที่สองของฉัน ซึ่งฉันชอบมากเพราะมันสร้างและเรียกใช้ได้ง่าย นอกจากนี้ยังมีการสนับสนุนจากชุมชนที่ดีและใช้งานง่าย
ตอนแรกฉันใช้บอร์ดพัฒนา AVR Butterfly มันทำงานได้ดีจนกระทั่งวันหนึ่งแบตเตอรี่หมด มีข้อบกพร่องใน AVR Butterfly bootloader ซึ่งมีการอธิบายรายละเอียดไว้ที่นี่ มันทำให้โค้ดเสียหายและไม่อนุญาตให้ตั้งโปรแกรมใหม่ด้วย bootloader อื่น เครื่องจักรทำงานได้วันหนึ่งแต่ไม่ใช่วันถัดไป ใช้เวลาพอสมควรในการค้นหาปัญหาและใช้เวลาแก้ไขน้อยมาก ดังนั้นฉันจึงไม่ได้ใช้บอร์ดนี้เป็นระบบควบคุมต่อไป ฉันยังพบว่าแรงดันไฟเอาท์พุตบนพินนั้นไม่สามารถคาดเดาได้ เนื่องจากนอกเหนือจากการขับเคลื่อนอุปกรณ์ต่อพ่วงแล้ว ยังควบคุมหน้าจอ LCD อีกด้วย
ด้านล่างนี้เป็นซอร์สโค้ดสำหรับ PIC และ Arduino ทั้งสองแบบผ่านการทดสอบแล้ว ดังนั้นควรใช้แบบใดก็ตามที่คุณสบายใจและมีความรู้มากกว่า Arduino (Freeduino MaxSerial) เป็นตัวเลือกที่ดีที่สุดสำหรับการเริ่มต้นอย่างรวดเร็ว ฉันซื้อมัน.
วงจรควบคุม
จริงๆ แล้ว เครื่องของฉันใช้แผงควบคุมสองตัว สิ่งนี้เกิดขึ้นเพราะฉันเผาทรานซิสเตอร์ควบคุมบนบอร์ดมาตรฐานของเครื่อง โชคดีที่ฉันสามารถปลดพวกมันและชิป RX2 ได้ (ซึ่งก็ไหม้ไปด้วย) และบันทึกวงจรควบคุมได้ รถของเล่น RC ส่วนใหญ่ใช้สายไฟประมาณ 6 เส้นในการควบคุมมอเตอร์ เนื่องจากเครื่องจักรที่ประกอบมีหน้าสัมผัสเลื่อนโลหะที่เคลื่อนที่ไปพร้อมกับมอเตอร์ และใช้สายไฟเพิ่มเติมสำหรับรีเลย์ รถที่ควบคุมด้วยวิทยุแต่ละคันมีพารามิเตอร์ที่แตกต่างกันสำหรับหน้าสัมผัสนี้ ดังนั้นจึงเป็นการดีกว่ามากถ้าใช้วงจรมาตรฐาน
ฉันเผาทรานซิสเตอร์โดยจ่ายแรงดันไฟฟ้า 16V แทนที่จะเป็น 9.6V มาตรฐาน ทรานซิสเตอร์ได้รับการออกแบบสำหรับกระแส 5A แต่ฉันอาจโหลดมันมากเกินไปและพวกมันก็เริ่มสูบบุหรี่อย่างงดงาม ฉันเอากระดานจากรถ RC อีกคันแล้วใช้ทรานซิสเตอร์จากที่นั่น ฉันรันวงจรนี้ที่ 12V และมันไม่ได้ทำให้เกิดปัญหาใดๆ แม้ว่าทรานซิสเตอร์จะค่อนข้างร้อนก็ตาม การใช้แผงวงจรเครื่องจักรมาตรฐานแทนการสร้าง H-bridge ของคุณเองช่วยประหยัดเวลาและเงินได้มาก
โปรเจ็กต์นี้ใช้แบตเตอรี่ที่ทรงพลัง ฉันซื้อสิ่งเหล่านี้สำหรับรถยนต์ RC ระดับไฮเอนด์ในราคา $ 50 + ค่าขนส่งจาก eBay มาพร้อมแบตเตอรี่ 3800 mAh และที่ชาร์จ 1.8A คุณสามารถค้นหาได้ในการค้นหาของ eBay แบตเตอรี่หนึ่งก้อนใช้เวลาประมาณ 1.5 ชั่วโมงในการชาร์จ (จากการคายประจุจนเต็ม) แรงดันไฟฟ้าของพวกมันคือ 7.2V แต่เมื่อเพิ่งชาร์จ แรงดันไฟฟ้าจะอยู่ที่ประมาณ 8.3V และเมื่อคายประจุจนหมด (ไม่สามารถจ่ายไฟให้กับรถยนต์ได้อีกต่อไป) พวกมันจะให้ประมาณ 7.1V
ฉันเปลี่ยนขั้วต่อทั้งหมดบนแบตเตอรี่ด้วยขั้วต่อ Molex ATX มาตรฐาน ทำเช่นนี้เพื่อใช้ตัวเชื่อมต่อราคาถูกซึ่งฉันมีจำนวนมากซึ่งทำให้ง่ายต่อการสร้างตัวแยกสำหรับการวัดกระแส แบตเตอรี่ที่เชื่อมต่อแบบอนุกรมจะผลิตพลังงานได้ประมาณ 16V เมื่อชาร์จเต็มแล้ว
ได้สายไฟ 9.6V โดยการติดตั้งไดโอด 4 ตัวต่ออนุกรมกับราง 12V ที่นำมาจาก 7812 แรงดันไฟฟ้าตกคร่อมไดโอดอยู่ที่ประมาณ 0.7V โดยการใส่ไดโอด 4 ตัวติดต่อกัน เราจะสูญเสียไฟประมาณ 2.8V และเพิ่ม 9V สำหรับอุปกรณ์ที่ต้องการไฟน้อยกว่า 12V หลังจากที่ฉันทำให้ทรานซิสเตอร์หมด ฉันจึงตัดสินใจจ่ายไฟให้วงจรโดยใช้แรงดันไฟฟ้าต่ำลง 7812 ได้รับการจัดอันดับที่ 1A และมอเตอร์ดึงได้มากขึ้นอย่างมาก Digikey ขายตัวควบคุม 7.5A 12V ในราคาประมาณ 14 เหรียญสหรัฐ และฉันก็ซื้อมันมา ฉันติดมันเข้ากับหม้อน้ำเพราะฉันคิดว่ามันอาจจะร้อน หลังจากวิ่งไปสักพักก็ไม่ร้อนเลยไม่จำเป็นต้องมีฮีทซิงค์
ฉันไม่ต้องการเสี่ยงต่อวงจรควบคุม ดังนั้นฉันจึงจ่ายไฟให้กับแรงดันไฟฟ้าที่ใกล้เคียงกับสต็อกมากที่สุด กล้องต้องใช้ไฟ 9V สัญญาณค่อนข้างเงียบเมื่อจ่ายไฟจาก 5V ดังนั้นอุปกรณ์ทั้งหมดเหล่านี้จึงทำงานบนสาย 9.2V
อุปกรณ์อิเล็กทรอนิกส์กำลังทั้งหมดประกอบอยู่บนเขียงหั่นขนมและอยู่ในตัวเครื่อง
โครงการ
อาร์ดูโน่:
การเชื่อมต่ออาร์ดูโน่:
ไปข้างหน้า - พิน 8
กลับ - พิน 9
ซ้าย - พิน 10
ขวา - พิน 11
LED สีเขียว - พิน 7
LED สีแดง - พิน 6
สัญญาณ - พิน 5
พอร์ตอนุกรม Freeduino MaxSerial สามารถเชื่อมต่อกับพอร์ตอนุกรมของเราเตอร์ได้โดยใช้สายเคเบิลอนุกรมมาตรฐาน
Freeduino MaxSerial ใช้พินอนุกรม 4 - DTR (Data Terminal Ready) เพื่อรีเซ็ตไมโครคอนโทรลเลอร์และอนุญาตให้โหลดโค้ดใหม่ ในระหว่างการทำงานของคอมพิวเตอร์ตามปกติ พินนี้เป็น +10 V หรือ -10 V ขึ้นอยู่กับว่าเชื่อมต่อพอร์ตอนุกรมอยู่หรือไม่ อย่างไรก็ตาม บนพอร์ตอนุกรมของเราเตอร์ พินนี้ต่อสายดินและไม่ทำงาน เมื่อเราเตอร์เริ่มส่งข้อมูลผ่านพอร์ตอนุกรม MaxSerial จะถูกรีเซ็ต สิ่งนี้ไม่เหมาะกับเรา เราจะดึงพิน DTR ไปที่ +9V การเปลี่ยนแปลงง่ายๆ นี้ทำให้สามารถใช้งานโหมดโปรแกรมแบบปิดได้ ซึ่งหมายความว่าไมโครคอนโทรลเลอร์ไม่สามารถแฟลชและรีเซ็ตผ่านพอร์ตอนุกรมได้ หากคุณต้องการแฟลชไมโครคอนโทรลเลอร์อีกครั้ง คุณเพียงแค่ต้องพลิกสวิตช์
หมายเหตุ: หากคุณใช้ Arduino เวอร์ชัน USB คุณสามารถเชื่อมต่อพิน RX และ TX เข้ากับ MAX232A จากนั้นเชื่อมต่อกับพอร์ตอนุกรมของเราเตอร์ได้
กล้อง
ประเด็นหลักประการหนึ่งของโปรเจ็กต์นี้คือสามารถควบคุมเครื่องได้โดยไม่ต้องอยู่ในแนวสายตาโดยใช้กล้องเครือข่าย Panasonic BL-C1A นี่เป็นกล้องเครือข่ายแบบมีสายที่ถูกที่สุดพร้อมบทวิจารณ์ที่ดี ซอฟต์แวร์นี้ใช้ได้เฉพาะกับ Windows เท่านั้น นี่เป็นข้อเสียเล็กน้อยแต่ก็พอทนได้ ไม่จำเป็นต้องมีซอฟต์แวร์เพื่อดูภาพ รุ่นที่มีราคาแพงกว่ามีความสามารถในการแพนและเอียง แต่มีราคาแพงกว่ามากและฟังก์ชั่นการใช้งานก็ไม่จำเป็น
กล้องมีเว็บอินเตอร์เฟสที่สะดวกสบายมาก ซึ่งไม่เพียงแต่เป็นอุปกรณ์ Windows เท่านั้น คุณสามารถดูภาพจากกล้องโดยใช้คำสั่งต่อไปนี้:
http:///ImageViewer?Resolution=320x240?Quality=standard
ความละเอียดที่ใช้ได้ 640x480, 320x120, 160x60 คุณภาพที่มีอยู่ (การบีบอัด) ความแม่นยำ (คุณภาพ) มาตรฐาน (มาตรฐาน) การเคลื่อนไหว (การเคลื่อนไหว)
คุณภาพของวิดีโอก็ไม่เลว อย่างไรก็ตาม มันมักจะค้างเป็นเวลา 1 วินาทีแม้ว่าจะมีการเชื่อมต่อที่ดีก็ตาม ฉันเดาว่าอุปกรณ์อิเล็กทรอนิกส์ของกล้องไม่ทรงพลังพอที่จะรองรับการฟีดสดอย่างต่อเนื่องด้วยโฟกัสอัตโนมัติ โดยรวมแล้วฉันพอใจกับมัน
เมื่อดูที่ด้านในของกล้องจะเห็นว่าใช้พลังงานจากโปรเซสเซอร์ ARM 250 MHz ตามข้อมูลจากเว็บไซต์อย่างเป็นทางการก็มี RAM ขนาด 64MB เช่นกัน ฉันสงสัยว่ามันจะยากขนาดไหนในการให้ Linux ทำงานกับสิ่งนี้...
การประกอบ
มีเพียงแชสซีเท่านั้นที่ถูกใช้จากรถ ชิ้นส่วนตกแต่งและชิ้นส่วนที่ใช้งานไม่ได้ทั้งหมดถูกถอดออกแล้ว กล้องได้รับการติดตั้งที่ด้านหน้าโดยมีการปรับเปลี่ยนเมาท์สต็อกเล็กน้อย มีการติดตั้งบอร์ดไว้ที่ด้านหน้าเครื่องจักรและยึดให้แน่นโดยใช้น็อตและโบลต์พลาสติกเพื่อป้องกันการลัดวงจร
บอร์ดไมโครคอนโทรลเลอร์ PIC ยังถูกยึดอย่างแน่นหนาที่อีกด้านหนึ่ง สายไฟทั้งหมดถูกจงใจใช้เวลานานกว่าที่จำเป็นเพื่อให้เคลื่อนย้ายได้ง่ายระหว่างการประกอบ เมื่อประกอบเสร็จแล้ว ก็รวบรวมชิ้นส่วนลวดส่วนเกินและมัดเข้าด้วยกัน มีสายไฟจำนวนมาก อาจประมาณ 30 เส้นที่จำเป็นต้องเดินจาก/ไปยังด้านหน้าและด้านหลังของเครื่อง ไม่นับสายอีเธอร์เน็ต
วงจรไฟฟ้าทั้งหมดอยู่ในตัวเครื่องที่ด้านหลังของรถ ยกเว้น LT1083 7.5A ซึ่งตั้งอยู่ที่ด้านล่างของรถ ฉันไม่ได้ใส่ไว้ในกรณีนี้เพราะมันเป็นส่วนเสริมของโครงการและเป็นวิธีที่ง่ายที่สุดในการเพิ่ม เมื่อไฟ LED ที่ด้านหลังของกล่องสว่างเป็นสีแดง แสดงว่าเราเตอร์กำลังบู๊ต เมื่อเราเตอร์บู๊ต มันจะส่งสัญญาณไปยังไมโครคอนโทรลเลอร์ ไฟ LED สีเขียวจะสว่างขึ้น และฉันรู้ว่าฉันสามารถเชื่อมต่อกับเครื่องได้ ตัวบ่งชี้นี้มีประโยชน์มากเมื่อทำการดีบัก
อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดถูกประกอบบนเขียงหั่นขนม ก่อนที่จะบัดกรีและติดตั้งเครื่อง ติดแบตเตอรี่โดยใช้กาวร้อนละลายและสายรัดสายเคเบิล เราเตอร์กว้างเกินไปที่จะใส่กับเครื่องพิมพ์ดีดโดยไม่มีการเพิ่มเติม ฉันเพิ่มลูกแก้วสองชิ้นเพื่อทำให้รถกว้างขึ้น
ส่วนซอฟต์แวร์
โปรเจ็กต์นี้ต้องใช้ 3 โปรแกรม แอปพลิเคชันไคลเอนต์ VB6 Wifi_Robot บน Windows, CarServer เขียนด้วยภาษา C และทำงานบนเราเตอร์ที่ใช้ OpenWRT WhiteRussian v0.9 (Linux) รวมถึงเฟิร์มแวร์ไมโครคอนโทรลเลอร์ ฉันทดสอบเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ PIC16F628A และ Arduino (Freeduino MaxSerial) ยอดนิยม ซอฟต์แวร์ทั้งหมดเผยแพร่ภายใต้ข้อตกลงสิทธิ์การใช้งานโอเพ่นซอร์ส GNU v2
คำแนะนำต่อไปนี้ถือว่าคุณได้ติดตั้ง Linksys WRT54GL ที่เชื่อมต่ออินเทอร์เน็ตซึ่งมี OpenWRT WhiteRussian v0.9 อยู่ สามารถดูคู่มือการติดตั้ง OpenWRT ได้ที่นี่
การติดตั้ง CarServer
หากคุณต้องการใช้ซอฟต์แวร์
เข้าสู่ระบบผ่าน SSH เข้าสู่เราเตอร์ของคุณ จากนั้น...
#ซีดี/tmp
# wget http://www.jbprojects.net/projects/wifirobot/carserver_1_mipsel.ipk
# ติดตั้ง ipkg ./carserver_1_mipsel.ipk
รวบรวมและติดตั้ง CarServer
หากคุณต้องการดูวิธีการทำงานหรือแก้ไข
คุณจะต้องดาวน์โหลด OpenWRT SDK (Linux เท่านั้น) และปฏิบัติตามคู่มือการเขียนโปรแกรมนี้: การเขียนและการคอมไพล์โปรแกรม OpenWRT อย่างง่ายโดย Eric Bishop (เพียงทำตามส่วนแรก)
Makefile อยู่ใน /OpenWrt-SDK-Linux-i686-1/package/carserver/
Makefile อยู่ใน /OpenWrt-SDK-Linux-i686-1/package/carserver/src
carserver.c ตั้งอยู่ใน /OpenWrt-SDK-Linux-i686-1/package/carserver/src
ipkg ที่คอมไพล์แล้วของคุณจะปรากฏใน /OpenWrt-SDK-Linux-i686-1/bin/packages แล้ว:
# scp carserver_1_mipsel.ipk root@:/tmp/
เพื่อคัดลอกไปยังเราเตอร์ เข้าสู่ระบบผ่าน SSH และติดตั้ง
มี e-book ฟรีสำหรับเราเตอร์ซีรีส์ WRT54G ชื่อ Linksys WRT54G Maximum Hack ฉันคิดว่ามันฟรี สามารถดูได้บน Google หนังสือ สามารถดาวน์โหลดได้จากลิงค์นี้เช่นกัน หนังสือเล่มนี้ครอบคลุมถึงวิธีการเพิ่มพอร์ตอนุกรม การกำหนดค่าซอฟต์แวร์ ตลอดจนการเจาะระบบและการแก้ไขอื่นๆ อีกมากมาย ฉันติดต่อผู้เขียนคนหนึ่ง นี่ไม่ใช่ e-book ฟรี คุณสามารถดูได้บน Google Books และสนับสนุนผู้เขียนโดยการซื้อใน Amazon นี่เป็นหนังสือที่ยอดเยี่ยม!
รับพอร์ตอนุกรมที่ใช้งานได้
เรากำลังใช้ TTS/1 ดังนั้นหากคุณได้เพิ่มพอร์ตอนุกรมหนึ่งพอร์ต ตรวจสอบให้แน่ใจว่าเป็นเช่นนั้น หากคุณติดตั้ง OpenWRT WhiteRussian v0.9 แล้ว ให้เข้าสู่ระบบ SSH คำแนะนำในหนังสือด้านบนล้าสมัยไปเล็กน้อย นี่คือเวอร์ชันอัปเดต:
#อัพเดตไอพีกก
# ipkg ติดตั้งชุดซีเรียล
#ซีดี/usr/sbin
# wget http://www.jbprojects.net/projects/wifirobot/stty.tgz
# tar -zxvf stty.tgz
#chmod755stty
เพิ่มบรรทัดต่อไปนี้ใน /etc/init.d/custom-user-startup เพื่อให้พอร์ตอนุกรมทำงานเมื่อเริ่มต้นระบบ และสตาร์ท CarServer โดยอัตโนมัติ
/usr/sbin/setserial /dev/tts/1 irq 3
/usr/sbin/stty -F /dev/tts/1 ความเร็วดิบ 9600
/bin/carserver&
การเปิดตัวแอปพลิเคชันไคลเอนต์ Wifi_Robot
ไฟล์นี้มีซอร์สโค้ด VB6 และ EXE ที่คอมไพล์แล้ว คุณสามารถแตกไฟล์ wifi_robot_client.exe และ config.txt ได้ หากคุณไม่ต้องการเขียนโปรแกรมใดๆ คุณสามารถเปิดและคอมไพล์ VB6 ได้หากต้องการเปลี่ยนแปลง โปรแกรมนี้เป็นเพียงโปรแกรมดัดแปลงเล็กน้อยของโครงการรถบังคับวิทยุที่ควบคุมด้วยคอมพิวเตอร์
ซอฟต์แวร์ไมโครคอนโทรลเลอร์
รูป
คุณจะต้องมีโปรแกรมเมอร์ PIC ฉันใช้ P16PRO40 ที่ซื้อจาก eBay มีโปรแกรมเมอร์มากมายที่คุณสามารถซื้อหรือสร้างเองได้ คุณสามารถคอมไพล์ HEX ด้วยตัวเองโดยใช้ Microchip MPLAB หรือเพียงแค่ดาวน์โหลดและแฟลชไฟล์ HEX สำเร็จรูป PIC asm อิงจากการทดสอบ PIC16F628 UART นี้
Arduino (ฟรีดูอิโน MaxSerial)
สามารถโหลดโปรแกรมลงใน Freeduino MaxSerial ได้โดยไม่ต้องมีโปรแกรมเมอร์เพิ่มเติม
หากคุณใช้ Freeduino MaxSerial ตรวจสอบให้แน่ใจว่าคุณได้ทำการดัดแปลงฮาร์ดแวร์เล็กน้อยซึ่งจะป้องกันไม่ให้ Freeduino รีเซ็ตทุกครั้งที่รับข้อมูลจากเราเตอร์ผ่านพอร์ตอนุกรม ดูด้านบนสำหรับรายละเอียดเพิ่มเติม
การวัดและการทดสอบ
ความเร็วสูงสุด
ในการคำนวณความเร็วสูงสุด ฉันทำเครื่องหมายสองครั้งที่ระยะห่าง 3 เมตรจากกัน และนำเครื่องออกหลายครั้ง กล้องบันทึก 30 เฟรมต่อวินาที ดังนั้นข้อผิดพลาดของกล้องที่เป็นไปได้คือ +/- 3.3% และ +/- 1% ข้อผิดพลาดของระยะห่าง
รถเดินทางได้ 3 เมตรใน 0.7 วินาที (21 จาก 30 เฟรมใน 1 วินาที)
ความเร็วสูงสุด: 4.3 เมตร/วินาที = 15.5 กม./ชม. = 9.6 ไมล์ต่อชั่วโมง
ระยะทาง
ฉันเอาเราเตอร์เข้าไปในสนามขนาดใหญ่ ฉันสามารถเชื่อมต่อจากแล็ปท็อปของฉันได้ในระยะไกลสูงสุด 500 ม. (1 Mbit) ไกลเกินกว่านี้ ฉันไม่สามารถเชื่อมต่อได้อีกต่อไป เฟิร์มแวร์ทางเลือก (OpenWRT) ช่วยให้คุณเพิ่มกำลังขับได้ ฉันพยายามเปลี่ยนค่านี้ แต่มันไม่ส่งผลต่อระยะทาง บางทีแล็ปท็อปของฉัน (Dell Inspiron 6000) ซึ่งมี WiFi ที่ดีอยู่เสมอ (ดีกว่า 6400 ของเพื่อนฉัน) อาจเป็นปัจจัยจำกัด
ทุกคนมีแฟชั่นและงานอดิเรกเป็นของตัวเอง ดังนั้นบางครั้งก็เป็นเรื่องดีที่ได้พบคนที่มีความคิดเหมือนกัน ชื่นชมการสะสมแสตมป์หรือทักษะในเกมบางเกม ต่อไปนี้เป็นการรวบรวมวิดีโอต่าง ๆ ที่อุทิศให้กับงานอดิเรกอย่างใดอย่างหนึ่ง ไม่สำคัญว่าคุณจะชอบหมากรุก เทนนิส หรือเก็บสัตว์ป่าเปลี่ยวไว้ใต้หลังคาของคุณ ที่นี่คุณจะพบกับเนื้อหาวิดีโอดีๆ ที่คุณชื่นชอบ
ในปัจจุบัน งานอดิเรกอย่างหนึ่งได้รับความนิยมอย่างมากทั้งทางออนไลน์และในชีวิตจริง โดยส่วนใหญ่เข้าถึงได้เฉพาะผู้หญิงเท่านั้น นั่นคือการแต่งหน้าหน้ากล้อง สำหรับผู้ชมทั่วไปดูเหมือนว่าในวิดีโอเหล่านี้สาว ๆ เพียงแค่แต่งหน้าและทำเรื่องใหญ่จากภูเขา แต่ในความเป็นจริงแล้ว ความงามเหล่านี้กำลังแสดงทักษะทางศิลปะซึ่งพวกเขาได้พัฒนามาตลอดหลายปีที่ผ่านมา ในวิดีโอดังกล่าว คุณจะพบเคล็ดลับ เคล็ดลับในชีวิตประจำวัน และยังเน้นประเด็นที่เป็นประโยชน์มากมายที่คุณพลาดไปในชีวิต นางแบบโค้งงอและสไตลิสต์จะบอกคุณว่าควรเลือกอายแชโดว์แบบไหนและควรเลือกชุดไหนให้เหมาะกับทรงผมของคุณ สำหรับผู้หญิงหลายคน สิ่งนี้กลายเป็นงานอดิเรกที่พวกเธอทุ่มเทเกือบทั้งชีวิต
นอกจากการแต่งหน้าแล้ว สาว ๆ หลายคนยังชื่นชอบการช้อปปิ้ง จึงมักอัปโหลดการไปเที่ยวศูนย์การค้าท้องถิ่นบน YouTube เพื่อตุนเสื้อผ้าและเริ่มรีวิวและลองสวม เด็กผู้หญิงเหล่านี้มักจะสะสมชุดต่าง ๆ มากมายที่บ้านและบางคนก็สามารถเปิดร้านของตัวเองและขายเสื้อผ้าเป็นเวลาหลายปี - พวกเขามีชุดที่ซื้อมามากมาย และคอลเลกชันอันกว้างใหญ่ทั้งหมดก็ตกอยู่ที่เลนส์กล้อง พูดตามตรงฉันไม่เข้าใจว่าทำไมผู้หญิงหลายคนถึงดูสิ่งนี้ แต่มีลูกค้าสำหรับเนื้อหาประเภทนี้และมันก็แปลกนิดหน่อย
อย่างไรก็ตาม ไม่เพียงแต่สาวๆ ที่รักแฟชั่นและสไตล์เท่านั้น และยังมีงานอดิเรกที่แตกต่างกันอีกด้วย ผู้ชายยังมีงานอดิเรกที่แตกต่างกันมากมายที่สามารถทำให้ประหลาดใจได้จนถึงแก่นแท้ บางคนเก็บผ้าเช็ดปากจากร้านค้า บางคนชอบเล่นเกมจำลองการเล่นกีฬา (ซึ่งมันบ้าบอมากในตัวเอง) แต่ก็มีคนที่ใช้เวลาทั้งวันเพื่อรบกวนผู้หญิงและสะสมจูบของพวกเขา ในเวลาเดียวกัน พวกเขาต้องการบันทึกการผจญภัยด้วยกล้องวิดีโอ จากนั้นจึงนำวิดีโอไปแสดงต่อสาธารณะ และทำให้ตัวเองเป็นผู้ชายที่ยอดเยี่ยม
ไม่ว่าในกรณีใด ในโลกของเรามีงานอดิเรก กิจกรรม กิจการต่างๆ มากมาย และสิ่งเหล่านี้สามารถดึงดูดบุคคลที่มีกรอบความคิดที่แน่นอนได้เป็นระยะเวลาหนึ่ง และอาจตลอดชีวิตที่เหลือของเขาด้วยซ้ำ มีจำนวนมากจนไม่มีประโยชน์ที่จะแสดงรายการเพิ่มเติม ในหน้านี้คุณจะพบกับวิดีโอต่างๆ หลายร้อยรายการและสามารถเป็นเรื่องเกี่ยวกับอะไรก็ได้ ท้ายที่สุดแล้วมีกี่คนมีงานอดิเรกมากมาย แต่ละคนสามารถประดิษฐ์นักฆ่าเวลาเฉพาะสำหรับตนเองได้ บางครั้งคุณอาจประหลาดใจกับสิ่งที่สมองของมนุษย์สามารถทำได้เมื่อมันเบื่อ แต่อย่าแปลกใจถ้างานอดิเรกของคุณแปลกสำหรับใครบางคน
มองดูผู้คนทำในสิ่งที่พวกเขาชื่นชอบ หัวเราะกับความโง่เขลาของสิ่งที่เกิดขึ้น หรือเน้นย้ำกับตัวเองถึงบางสิ่งที่คุณสามารถหาประโยชน์ได้ในชีวิต ที่นี่ ความบันเทิง ข้อมูล และเนื้อหาวิดีโอที่มีสไตล์ส่วนใหญ่จะถูกรวบรวมไว้ที่นี่
รถ RC สามารถเป็นรถ WiFi ได้...?
รถ RC นั้นดี แต่รถ RC ราคาถูกมีระยะการใช้งานที่จำกัด และควบคุมโดยรีโมทคอนโทรลเฉพาะที่ให้มาในชุดเท่านั้น
ฉันซื้อ RC Jeep 4x4 พร้อมระบบกันสะเทือนแบบยืดหยุ่นและยางออฟโรดในราคาประมาณ 30 เหรียญสหรัฐ หลังจากลองใช้เครื่องนี้แล้ว ฉันตัดสินใจว่าจะปรับปรุงโดยใช้ Wi-Fi และ Android ได้ หลังจากใช้เวลาสักพักฉันก็ถอดบอร์ดออกจากเครื่องจนหมด ฉันวัดแรงดันไฟฟ้าบนบอร์ดนี้และพัฒนาระบบควบคุมมอเตอร์โดยใช้ Arduino ระบบควบคุมแบบเดิมไม่ได้ใช้ PWM ในการควบคุมความเร็ว รถได้รับการออกแบบให้ขับข้ามสิ่งกีดขวางด้วยเกียร์ต่ำมากและส่งผลให้ช้ามาก วงจรของฉันใช้ PWM
ฉันใช้ Arduino มาหลายเดือนแล้ว ฉันยังซื้อ asynclabs WiFi Sheild สำหรับ Duemilanoe Arduino เพื่อทดลองกับ WiFi มันมาพร้อมกับไลบรารี่ที่ติดตั้งใน Arduino IDE ฉันสามารถสร้างโปรแกรมที่ให้คุณควบคุมมอเตอร์และทิศทางการเคลื่อนไหวโดยใช้ WiFi ได้
ฉันพัฒนาหน้าต่างโปรแกรมที่เชื่อมต่อกับเซิร์ฟเวอร์รถยนต์และออกคำสั่งโดยใช้ Visual Studio หลังจากพยายามไม่กี่ครั้ง ฉันก็เขียนแอป Android ที่ใช้ตัวตรวจวัดความเร่งในการควบคุมรถ
เครื่องมือและองค์ประกอบ
นี่คือรายการเครื่องมือและรายการทั่วไปที่ใช้ในโปรเจ็กต์นี้ เอกสารประกอบของ Eagle ระบุข้อกำหนดที่แน่นอนสำหรับส่วนประกอบที่ใช้
มัลติมิเตอร์
หัวแร้ง
ประสาน
ไขควง
โซลูชั่นการแกะสลักกระดาน
ไฟเบอร์กลาสฟอยล์
คีม
อาร์ดูโน่
โล่ WiFi ของ AsyncLabs
ขั้วต่อ RJ45
ตัวขับมอเตอร์ H-Bridge
ตัวเก็บประจุ
ไดร์เวอร์มอเตอร์
ฉันออกแบบวงจรนี้และสร้าง PCB ให้กับมันโดยใช้ Eagle มันทำหน้าที่เป็นไดรเวอร์มอเตอร์และตัวควบคุมพลังงานสำหรับ Arduino
ซึ่งช่วยให้สามารถใช้แบตเตอรี่มาตรฐาน 7.2V เพื่อจ่ายไฟให้กับมอเตอร์หลักและมอเตอร์บังคับเลี้ยวและ Arduino
วงจรนี้ใช้ไดรเวอร์ H-bridge แบบรวมคู่ SN754410 เพื่อควบคุมมอเตอร์ หมุดควบคุมไดรเวอร์เชื่อมต่อกับสายเคเบิล RJ45 ซึ่งเชื่อมต่อกับ AsyncLabs WiFi Sheild
โล่ Arduino
การใช้ไลบรารี SparkFun ใน Eagle ฉันออกแบบ Arduino Shield ซึ่งจะส่งพินไปยัง WiFi Shield และเชื่อมต่อกับไดรเวอร์มอเตอร์ผ่านขั้วต่อ RJ45 และขั้วต่อสกรู 2 ตัว
pinout ของพิน RJ45 มีความสำคัญมาก ข้อผิดพลาดในการเชื่อมต่ออาจทำให้เกิดผลลัพธ์ที่คาดเดาไม่ได้ และคุณจะต้องทำซ้ำบอร์ด
การแกะสลัก PCB
หัวข้อนี้ครอบคลุมหลายครั้งแล้ว และฉันจะไม่ลงรายละเอียดเกี่ยวกับเรื่องนี้
ฉันใช้มันและมันเหมาะกับฉัน และด้วยประสบการณ์มันให้ผลลัพธ์ที่ยอดเยี่ยม
มีการใช้ Velcro เพื่อติดบอร์ดเข้ากับเคส ฉันโชคดีเพราะ... รถของฉันมีพื้นที่สำหรับอุปกรณ์อิเล็กทรอนิกส์มากมายใต้โครงท่อ
ฉันลืมถ่ายรูปการเชื่อมต่อระหว่างบอร์ดควบคุมมอเตอร์กับบอร์ดอื่นๆ แต่มันเข้ากันได้ดีและไม่ใช้พื้นที่มากนักในเคส
โปรแกรม
รหัสของฉันอาจไม่มีประสิทธิภาพเพียงพอ แต่ใช้งานได้
เครื่องพิมพ์ดีด
ฉันสามารถสร้าง CarServer ตามตัวอย่าง SocketServer ที่ฉันได้รับจาก AsynLabs Wifi Sheild
คุณจะต้องป้อนข้อมูลเครือข่ายไร้สายของคุณลงในโค้ด Arduino เมื่อเปิดเครื่องแล้ว ให้เวลา 15-45 วินาทีเพื่อสร้างการเชื่อมต่อกับเราเตอร์ ไฟ LED สีแดงบน WiFi Shield หมายความว่าการเชื่อมต่อได้ถูกสร้างขึ้นแล้ว
ฉันสร้างโปรแกรมนี้โดยใช้ C# และ MS Visual Studio 2008 ฉันสร้างหน้าต่างที่สวยงามและสามารถควบคุมรถได้ด้วยลูกศร
ทำไมไม่ควบคุมรถจากโทรศัพท์ของคุณ?
ความคิดนี้เกิดขึ้นกับฉันประมาณหนึ่งสัปดาห์หลังจากซื้อ DroidX ฉันเริ่มทดลองและจบลงด้วยการใช้ Android SDK ฉันพบแอปที่คล้ายกันซึ่งใช้มาตรความเร่งในการควบคุม เมื่อดูแอปพลิเคชันเหล่านี้ ฉันก็เขียนเอง
วาง IP และพอร์ตที่ระบุในโค้ด Arduino ถือโทรศัพท์ของคุณในแนวนอน จากนั้นเอียงมันออกจากตัวคุณเพื่อไปข้างหน้าและเอียงเข้าหาตัวเพื่อถอยหลัง ใช้โทรศัพท์ของคุณเป็นพวงมาลัย
นี่เป็นแอป Android หลักแอปแรกของฉัน มันยังมีข้อบกพร่องอยู่บ้าง แต่ส่วนใหญ่ก็ใช้งานได้ดี
ขับรถ 4x4 ของคุณด้วย WiFi ในบ้านของคุณ!
ฉันมีช่วงเวลาที่ดีในการสร้างโครงการนี้ ฉันได้รับความรู้และทักษะใหม่ๆ มากมาย และตอนนี้ฉันมีรถ 4x4 ที่สามารถควบคุมได้จากโทรศัพท์ของฉัน
ฉันต้องมีกล้องติดตั้งอยู่ด้านหลังกระจกหน้ารถ เพื่อที่จะได้เห็นว่าฉันกำลังขับรถไปที่ไหน ควรใช้พลังงานต่ำและส่งวิดีโอได้เอง (ฉันคิดว่า Arduino สามารถจัดการสิ่งนี้ได้)
รายชื่อธาตุกัมมันตภาพรังสี
การกำหนด | พิมพ์ | นิกาย | ปริมาณ | บันทึก | ร้านค้า | สมุดบันทึกของฉัน | |
---|---|---|---|---|---|---|---|
ไดร์เวอร์มอเตอร์ | |||||||
ไอซี1 | ชิป | SN754410 | 1 | ไปยังสมุดบันทึก | |||
ตัวควบคุมเชิงเส้น | 5 โวลต์ | 1 | ไปยังสมุดบันทึก | ||||
ทรานซิสเตอร์แบบไบโพลาร์ | 2N3904 | 1 | ไปยังสมุดบันทึก | ||||
ซี1, ซี2 | ตัวเก็บประจุด้วยไฟฟ้า | 2 | ไปยังสมุดบันทึก | ||||
ตัวเชื่อมต่อ | 2 เอาท์พุท | 7 | ไปยังสมุดบันทึก | ||||
ตัวเชื่อมต่อ | 8 พิน | 1 | ไปยังสมุดบันทึก | ||||
โล่ Arduino | |||||||
ยู1 | บอร์ดอาร์ดูโน่ | 1 | ไปยังสมุดบันทึก | ||||
T1 | ทรานซิสเตอร์แบบไบโพลาร์ | 2N3904 | 1 | ไปยังสมุดบันทึก | |||
R1 | ตัวต้านทาน | 1 | ไปยังสมุดบันทึก | ||||
3 ดอลลาร์สหรัฐฯ | ตัวต้านทานทริมเมอร์ | 1 | ไปยังสมุดบันทึก | ||||
ตัวเชื่อมต่อ | 2 เอาท์พุท | 2 |