อินเทอร์เน็ต. คอมพิวเตอร์. ช่วย. คำแนะนำ. ซ่อมแซม

เครื่องควบคุม 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 += "ถูกต้อง
";
ส += "
ลง";
ส += "
\n";
//ส่งคำตอบให้กับลูกค้า
ลูกค้าพิมพ์(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
อินเทอร์เฟซแบบอนุกรมแบบรวม
การบัดกรีไม่ค่อยจำเป็น

ขัดต่อ

ยากต่อการเขียนโปรแกรม (แอสเซมเบลอร์)
ต้องเชื่อมต่อโซ่ด้วยตนเอง
ต้องใช้ฮาร์ดแวร์เพิ่มเติม (MAX232A)
จำเป็นต้องมีโปรแกรมเมอร์

ข้อผิดพลาด 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 ชิปSN7544101 ไปยังสมุดบันทึก
ตัวควบคุมเชิงเส้น5 โวลต์1 ไปยังสมุดบันทึก
ทรานซิสเตอร์แบบไบโพลาร์

2N3904

1 ไปยังสมุดบันทึก
ซี1, ซี2 ตัวเก็บประจุด้วยไฟฟ้า 2 ไปยังสมุดบันทึก
ตัวเชื่อมต่อ2 เอาท์พุท7 ไปยังสมุดบันทึก
ตัวเชื่อมต่อ8 พิน1 ไปยังสมุดบันทึก
โล่ Arduino
ยู1 บอร์ดอาร์ดูโน่ 1 ไปยังสมุดบันทึก
T1 ทรานซิสเตอร์แบบไบโพลาร์

2N3904

1 ไปยังสมุดบันทึก
R1 ตัวต้านทาน 1 ไปยังสมุดบันทึก
3 ดอลลาร์สหรัฐฯ ตัวต้านทานทริมเมอร์ 1 ไปยังสมุดบันทึก
ตัวเชื่อมต่อ2 เอาท์พุท2
คุณชอบบทความนี้หรือไม่? แบ่งปันกับเพื่อนของคุณ!
บทความนี้เป็นประโยชน์หรือไม่?
ใช่
เลขที่
ขอบคุณสำหรับคำติชมของคุณ!
มีข้อผิดพลาดเกิดขึ้นและระบบไม่นับคะแนนของคุณ
ขอบคุณ ข้อความของคุณถูกส่งแล้ว
พบข้อผิดพลาดในข้อความ?
เลือกคลิก Ctrl + เข้าสู่และเราจะแก้ไขทุกอย่าง!