วิธีการควบคุมระบบจุดระเบิดรถยนต์ของคุณผ่านการสื่อสารแบบอนุกรม?
มีระบบ SmartStart หลายระบบในตลาดที่ทำให้ระบบจุดระเบิดรถยนต์ของคุณเป็นแบบอัตโนมัติ เช่น auto Viper SmartStart แต่มีราคาแพงมาก แม้ว่าจะมีการสตาร์ทจากระยะไกล การหยุดรถ และการติดตามตำแหน่ง ฯลฯ ดังนั้นจึงจำเป็นต้องมีการปรับเปลี่ยนวงจรแท้ของรถมากมาย การปรับเปลี่ยนวงจรอาจเป็นอันตรายได้เพราะอาจนำไปสู่การลัดวงจรและระบบหลังการขายเหล่านี้ก็มีราคาแพงเช่นกัน วันนี้ฉันจะออกแบบระบบที่เป็นไปตามแนวคิดการส่งผ่านบลูทู ธ เพื่อสตาร์ทเครื่องยนต์และยังช่วยให้เจ้าของรถสามารถตั้งรหัสผ่านเพื่อป้องกันรถจากขโมยได้ หากมีคนพยายามขโมยรถ เขาจะไม่สามารถทำได้เนื่องจากการป้องกันด้วยรหัสผ่าน ทันทีที่ป้อนรหัสผ่านผิดโดยใช้ปุ่มกด สวิตช์กุญแจจะไม่เปิดขึ้น บอร์ดการวินิจฉัยออนบอร์ดที่รับผิดชอบในการควบคุมฟังก์ชั่นทั้งหมดของรถไม่สามารถรีเซ็ตได้เมื่อเราจะติดตั้งวงจรของเราในรถ ตอนนี้โดยไม่เสียเวลาเลย ไปทำงานกันเถอะ
วิธีการออกแบบวงจรจุดระเบิดป้องกันการโจรกรรม?
เมื่อเราทราบบทคัดย่อของโครงการแล้ว ให้เราก้าวไปข้างหน้าและรวบรวมข้อมูลต่างๆ เพื่อเริ่มทำงาน เราจะทำรายการส่วนประกอบก่อน จากนั้นจึงประกอบส่วนประกอบทั้งหมดเข้าด้วยกันเพื่อสร้างระบบการทำงาน
ขั้นตอนที่ 1: ส่วนประกอบที่ต้องการ (ฮาร์ดแวร์)
ขั้นตอนที่ 2: ส่วนประกอบที่จำเป็น (ซอฟต์แวร์)
ขั้นตอนที่ 3: บล็อกไดอะแกรม
ในโครงการนี้ ฉันได้ออกแบบไดอะแกรมบล็อกสองแบบเพื่ออธิบายวัตถุประสงค์ของโครงการอย่างชัดเจน อันแรกแสดงให้เห็นระบบจุดระเบิดแบบดั้งเดิมที่ใช้กันมากที่สุดในรถยนต์ทุกคันที่ประกอบกันในปัจจุบัน ส่วนที่สองแสดงระบบจุดระเบิดของเราที่ฉันออกแบบในโครงการนี้ซึ่งสามารถติดตั้งในรถยนต์เพื่อให้ปลอดภัยยิ่งขึ้น
- ระบบจุดระเบิดแบบดั้งเดิม:
- แก้ไขระบบจุดระเบิด:
ขั้นตอนที่ 4: หลักการทำงาน
ในระบบจุดระเบิดของเรา สายไฟจะไม่ถูกควบคุมโดยพอร์ตการวินิจฉัยออนบอร์ด แต่จะทำงานโดยอัตโนมัติ มีอุปกรณ์อิเล็กทรอนิกส์มากมายในตลาดที่สามารถรีเซ็ตพอร์ต OBD และคอมพิวเตอร์ที่มีอยู่ในเครื่องยนต์ได้ วงจรไฟฟ้า จะมีสองส่วน หนึ่งจะถูกติดตั้งที่ด้านข้างของสวิตช์จุดระเบิดและอันที่สองจะถูกวางไว้ที่ด้านเครื่องยนต์ การส่งสัญญาณ Bluetooth แบบไร้สายจะเกิดขึ้นระหว่างทั้งสองฝ่าย วงจรหลักจะประกอบด้วยสวิตช์กุญแจ, Arduino, LCD, ปุ่มกด และ HC-06 ด้านรองของวงจรจะประกอบด้วย Arduino, โมดูลรีเลย์, HC-06 และออด ทันทีที่กุญแจขยับเพื่อสตาร์ทรถจอ LCD จะหมุน บนและอนุญาตให้คนขับป้อนรหัสผ่านที่ตนตั้งไว้ตั้งแต่แรกใน รหัส. หากผู้ขับขี่ป้อนรหัสผ่านที่ถูกต้องเท่านั้น โมดูล Bluetooth จะได้รับสัญญาณที่ด้านเครื่องยนต์ และย้ายกุญแจไปต่อซึ่งจะทำให้วงจรรีเลย์ทำงานและพัดลมจะเปิดขึ้น ในการสตาร์ทรถ เราต้องขยับกุญแจไปยังตำแหน่งจุดระเบิดซึ่งจะทำให้รถสตาร์ทได้ ทันทีที่สตาร์ทรถ ระบบจะแสดงขึ้น บนบนจอ LCD และทันทีที่กุญแจถูกย้ายในตำแหน่งย้อนกลับ รถจะหมุน ปิด แต่การเชื่อมต่อแบบไร้สายจะยังคงอยู่จนกว่าจะไม่ย้ายคีย์ไปข้างหลังจนสุด หากพยายามสตาร์ทรถผิดหลายครั้งสัญญาณเตือนจะถูกสร้างขึ้นโดยใช้เสียงกริ่งที่จะแจ้งเตือนผู้คนที่เดินผ่านไปมาหรือเจ้าของรถหากเขา / เธออยู่ไม่ไกลจากรถ
ขั้นตอนที่ 5: จำลองวงจร
ก่อนที่จะสร้างวงจรจะเป็นการดีกว่าที่จะจำลองและตรวจสอบการเชื่อมต่อทั้งหมดบนซอฟต์แวร์ ซอฟต์แวร์ที่เราจะใช้คือ โพรทูส ดีไซน์ สวีท. Proteus เป็นซอฟต์แวร์ที่จำลองวงจรอิเล็กทรอนิกส์
- หลังจากที่คุณดาวน์โหลดและติดตั้งซอฟต์แวร์ Proteus แล้ว ให้เปิดขึ้น เปิดแผนผังใหม่โดยคลิกที่ไฟล์ ISISไอคอนบนเมนู
- เมื่อแผนผังใหม่ปรากฏขึ้น ให้คลิกที่ พีไอคอนบนเมนูด้านข้าง ซึ่งจะเป็นการเปิดกล่องที่คุณสามารถเลือกส่วนประกอบทั้งหมดที่จะใช้ได้
- ตอนนี้พิมพ์ชื่อส่วนประกอบที่จะใช้ทำวงจร ส่วนประกอบจะปรากฏในรายการทางด้านขวา
- ในทำนองเดียวกัน ค้นหาส่วนประกอบทั้งหมดข้างต้น พวกเขาจะปรากฏใน อุปกรณ์ รายการ.
ขั้นตอนที่ 6: แผนภาพวงจร
- ด้านหลัก:
- ด้านรอง:
ขั้นตอนที่ 7: เริ่มต้นใช้งาน Arduino
หากคุณไม่เคยทำงานกับ Arduino IDE มาก่อน ไม่ต้องกังวลเพราะขั้นตอนในการตั้งค่า Arduino IDE แสดงอยู่ด้านล่าง
- ดาวน์โหลด Arduino IDE เวอร์ชันล่าสุดจาก Arduino
- เชื่อมต่อบอร์ด Arduino ของคุณกับพีซีและเปิดแผงควบคุม คลิกที่ ฮาร์ดแวร์และเสียง.เปิดแล้วจ้า อุปกรณ์และเครื่องพิมพ์ และค้นหาพอร์ตที่บอร์ดของคุณเชื่อมต่ออยู่ ในกรณีของฉันมันคือ COM14แต่มันแตกต่างกันในคอมพิวเตอร์แต่ละเครื่อง
- คลิกที่เมนูเครื่องมือและตั้งกระดานเป็น Arduino นาโน (AT Mega 328P).
- ในเมนูเครื่องมือเดียวกัน ให้ตั้งค่าตัวประมวลผลเป็น ATmega328p (บูตโหลดเดอร์เก่า).
- เราจะต้องรวมห้องสมุดเพื่อใช้โมดูล LCD ห้องสมุดแนบมาด้านล่างในลิงค์ดาวน์โหลดพร้อมกับรหัส ไปที่ ร่าง> รวมไลบรารี> เพิ่ม. ZIP Library
- ดาวน์โหลดโค้ดที่แนบมาด้านล่างแล้ววางลงใน Arduino IDE ของคุณ คลิกที่ ที่อัพโหลด ปุ่มเพื่อเบิร์นโค้ดบนไมโครคอนโทรลเลอร์ของคุณ
ดาวน์โหลดรหัสและไลบรารีที่จำเป็นโดยคลิกที่นี่
ขั้นตอนที่ 8: รหัส
รหัสสำหรับโครงการนี้ค่อนข้างเรียบง่ายและมีความคิดเห็นดี
- การตั้งค่าเป็นโมฆะ ()เป็นฟังก์ชันที่เราเริ่มต้นพิน INPUT หรือ OUTPUT ฟังก์ชั่นนี้ยังกำหนดอัตราการรับส่งข้อมูลโดยใช้ Serial.begin() คำสั่ง Baud Rate คือความเร็วในการสื่อสารของ Arduino
- วงเป็นโมฆะ ()เป็นฟังก์ชันที่ทำงานซ้ำ ๆ ในลูป ในลูปนี้ เราเขียนโค้ดที่บอกบอร์ดไมโครคอนโทรลเลอร์ว่าต้องทำอะไรและทำอย่างไร
#รวม# รวม //ห้องสมุดที่จำเป็นสำหรับโมดูล LCD #include // ห้องสมุดที่จำเป็นสำหรับการจุดระเบิดภายในปุ่มกด 4x4 = 5; // พิน 5 ใช้สำหรับทริกเกอร์รีเลย์ int alarm = 6; // พิน 6 ใช้สำหรับทริกเกอร์ Buzzer int pos = 0; LiquidCrystal LCD (2,3,4,9,10,11,12); รหัสผ่าน รหัสผ่าน = รหัสผ่าน ( "4321" ); // ระบุรหัสผ่านนี้ให้กับไดรเวอร์ const byte ROWS = 4; // สี่แถว const ไบต์ COLS = 3; // สามคอลัมน์ // กำหนดคีย์อักขระของคีย์แมป [ROWS] [COLS] = {{'1', '2', '3',}, {'4', '5', '6',}, { '7', '8', '9',}, {'*', '0', '',}}; // เชื่อมต่อปุ่มกด ROW0, ROW1, ROW2 และ ROW3 กับพิน Arduino เหล่านี้ ไบต์ rowPins[ROWS] = {25, 24, 23, 22}; //เชื่อมต่อกับ pinouts แถวของแป้นพิมพ์ไบต์ colPins[COLS] = {28, 27, 26}; //เชื่อมต่อกับ pinouts ของคอลัมน์ของปุ่มกด const int buttonPin = 7; int buttonState = 0; // สร้างปุ่มกดปุ่มกด = ปุ่มกด ( makeKeymap (คีย์), rowPins, colPins, ROWS, COLS ); การตั้งค่าเป็นโมฆะ () {pinMode (buttonPin, INPUT); lcd.begin(16, 2); digitalWrite (ledPin, LOW); // ตั้งค่า LED บน Serial.begin(9600); keypad.addEventListener (keypadEvent); //เพิ่มตัวฟังเหตุการณ์สำหรับปุ่มกดนี้ keypad.setDebounceTime(250); } วงเป็นโมฆะ () { keypad.getKey (); buttonState = digitalRead (ปุ่มพิน); ถ้า (buttonState == สูง) { lcd.clear (); } keypadEvent(); } โมฆะ keypadEvent (KeypadEvent eKey){ สวิตช์ (keypad.getState ()) { กรณีกด: lcd.print (eKey); สวิตช์ (eKey){ กรณี ' ': GuessPassword(); digitalWrite (การจุดระเบิด, สูง); digitalWrite (ปลุก,สูง); หยุดพัก; ค่าเริ่มต้น: password.append(eKey); } }} ถือเป็นโมฆะ GuessPassword(){ if (password.evaluate()){ digitalWrite(ledPin,HIGH); ล่าช้า (500); lcd.print("รหัสผ่านที่ถูกต้อง"); // รหัสผ่าน. รีเซ็ต (); // รีเซ็ตรหัสผ่านหลังจากป้อนข้อมูลล่าช้า (600); lcd.print ("เปิด"); ล่าช้า (2000); lcd.clear(); } อื่น ๆ { digitalWrite (ledPin, LOW); lcd.print("รหัสผ่านไม่ถูกต้อง"); รหัสผ่าน.รีเซ็ต(); // รีเซ็ตรหัสผ่านหลังจากรายการล่าช้า (600); lcd.clear(); } }
ขั้นตอนที่ 7: การออกแบบฮาร์ดแวร์
เนื่องจากเราได้จำลองวงจรบนซอฟต์แวร์และเข้าใจโค้ดแล้ว ตอนนี้ให้เราดำเนินการและวางส่วนประกอบบน Breadboard ขั้นแรก เราจะประกอบวงจรด้านปฐมภูมิ จากนั้นจึงประกอบวงจรด้านทุติยภูมิ
ทางที่ดีควรต่อวงจรเข้ากับระบบเครื่องเสียงของรถเพื่อที่หัวขโมยจะหาวงจรนั้นได้ยาก และจะต้องใช้เวลามากขึ้นกว่าจะไปถึงด้านหลังแผงหน้าปัดของรถเพราะจะอยู่ด้านหลัง ระบบเสียงของรถจะเชื่อมต่อกับสวิตช์และต่อกับแบตเตอรี่ DC เพื่อหมุน บน ระบบเสียง เมื่อผู้ใช้ป้อนรหัสผ่านที่ถูกต้องโดยใช้ปุ่มกด 4×4 การเชื่อมต่อไร้สายจะเกิดขึ้นระหว่างทั้งสองฝ่าย และจะต้องหมุนกุญแจอีกครั้งเพื่อสตาร์ทรถ ประกอบการเชื่อมต่อทั้งหมดบนเขียงหั่นขนมและใช้เทปคู่เพื่อวางวงจรด้านหลังระบบเสียงของรถ
ตอนนี้เราจะประกอบด้านรองของวงจรที่เรียกว่าด้านเครื่องยนต์ ที่ด้านนี้ เราจะเชื่อมต่อโมดูลรีเลย์กับ Arduino และจะทำงานเมื่อได้รับสัญญาณจากโมดูล Bluetooth เท่านั้น หากคนขับป้อนรหัสผ่านผิดหลายครั้ง สัญญาณเตือนภัยจะเริ่มดังขึ้น และผู้คนที่ผ่านไปใกล้เคียงจะรู้ว่ามีปัญหาบางอย่างในรถ วางส่วนประกอบบนเขียงหั่นขนมตามแผนภาพวงจรที่แสดงด้านบนและต่อวงจรเข้ากับขวดน้ำหม้อน้ำ
คำแนะนำ
- ใช้แผ่นระบายความร้อนบนส่วนประกอบที่วางอยู่บนด้านเครื่องยนต์เพื่อหลีกเลี่ยงการลัดวงจรเมื่อรถร้อนขึ้น
- สามารถเพิ่มโมดูล GPS และ GSM ในวงจรเพื่อระบุตำแหน่งของรถและรับรองความปลอดภัยโดยการดับเครื่องยนต์ผ่าน SMS
- ระบบนี้สามารถใช้การจดจำใบหน้าได้เพื่อให้ทันทีที่ใบหน้าของเจ้าของรถถูกจดจำได้ รถก็จะเปิดขึ้น