Sådan styres dit biltændingssystem gennem seriel kommunikation?
Der er flere SmartStart-systemer tilgængelige på markedet, der automatiserer din bils tændingssystem som Viper SmartStart men de er meget dyre. Selvom de inkluderer fjernstart, stop og lokalitetssporing osv., Kræver de mange ændringer i bilens ægte kredsløb. At foretage ændringer i kredsløbet kan være farligt, fordi det kan føre til kortslutning, og disse eftermarkedsystemer er også dyre. I dag vil jeg designe et system, der følger Bluetooth-transmissionskonceptet for at starte motoren, og det giver også ejeren af bilen mulighed for at indstille et kodeord for at holde bilen beskyttet mod tyve. Hvis nogen forsøger at stjæle bilen, ville han ikke være i stand til det på grund af adgangskodebeskyttelse. Så snart den forkerte adgangskode indtastes ved hjælp af tastaturet, tændes tændingslåsen ikke. On-Board Diagnostics Board, der er ansvarlig for at kontrollere alle bilens funktioner, kan ikke nulstilles, når vi installerer vores kredsløb i bilen. Lad os nu gå på arbejde uden at spilde et sekund.
Hvordan man designer tyverisikringskontakt?
Nu som vi kender abstraktet af projektet, lad os gå videre og samle forskellige oplysninger for at begynde at arbejde. Vi opretter først en liste over komponenterne og samler derefter alle komponenterne sammen for at skabe et fungerende system.
Trin 1: Nødvendige komponenter (hardware)
Trin 2: Nødvendige komponenter (software)
Trin 3: Blokdiagram
I dette projekt har jeg designet to blokdiagrammer til at uddybe formålet med projektet tydeligt. Den første viser det traditionelle tændingssystem, der oftest bruges i alle de biler, der er samlet i dag. Den anden viser vores tændingssystem, som jeg har designet i dette projekt, og som kan installeres i bilerne for at gøre dem mere sikre.
- Traditionelt tændingssystem:
- Modificeret tændingssystem:
Trin 4: Arbejdsprincip
I vores tændingssystem styres ledningerne ikke af On-Board Diagnostics Port, men de fungerer selvstændigt. Der er flere elektroniske gadgets tilgængelige på markedet, der har mulighed for at nulstille OBD-porten og de computere, der findes i motorerne. Det elektronisk kredsløb vil have to portioner. Den ene installeres på tændingskontaktens side, og den anden placeres på motorsiden. Trådløs transmission af Bluetooth-signalerne finder sted mellem disse to sider. Det primære kredsløb består af en tændingskontakt, Arduino, LCD, tastatur og HC-06. Den sekundære side af kredsløbet består af et Arduino, relæmodul, HC-06 og en summer. Så snart nøglen flyttes for at starte bilen, drejes LCD'et PÅog giver føreren mulighed for at indtaste den adgangskode, der oprindeligt er indstillet af ham / hende i Kode. Hvis chaufføren kun indtaster den korrekte adgangskode, modtages signalet på motorsiden af Bluetooth-modulet, og nøglen flyttes yderligere, der vil udløse relækredsløbet, og blæseren tændes. For at starte bilen skal vi nu flytte nøglen mod tændingspositionen, der gør det muligt at starte bilen. Så snart bilen startes, vises systemet PÅpå LCD-skærmen, og så snart nøglen flyttes i omvendt position, drejes bilen AF men den trådløse forbindelse forbliver, indtil nøglen ikke flyttes helt tilbage. Hvis der gøres flere forkerte forsøg på at starte bilen, genereres alarmen ved hjælp af en summer, der advarer de forbipasserende eller ejeren af bilen, hvis han / hun ikke er langt væk fra bilen.
Trin 5: Simuler kredsløbet
Før du foretager kredsløbet, er det bedre at simulere og undersøge alle forbindelser på en software. Den software, vi skal bruge, er Proteus Design Suite. Proteus er en software, hvor elektroniske kredsløb simuleres.
- Når du har downloadet og installeret Proteus-softwaren, skal du åbne den. Åbn et nyt skema ved at klikke på ISISikonet i menuen.
- Når det nye skema vises, skal du klikke på Pikonet i sidemenuen. Dette åbner et felt, hvor du kan vælge alle de komponenter, der skal bruges.
- Skriv nu navnet på de komponenter, der skal bruges til at skabe kredsløbet. Komponenten vises i en liste på højre side.
- På samme måde som ovenfor skal du søge i alle komponenter som ovenfor. De vises i Enheder Liste.
Trin 6: Kredsløbsdiagrammer
- Primær side:
- Sekundær side:
Trin 7: Kom godt i gang med Arduino
Hvis du ikke har arbejdet på Arduino IDE før, skal du ikke bekymre dig, fordi der vises trin for trin for at konfigurere Arduino IDE nedenfor.
- Download den nyeste version af Arduino IDE fra Arduino.
- Tilslut dit Arduino-kort til pc'en, og åbn Kontrolpanel. Klik på Hardware og lyd.Nu åben Enheder og printer og find den port, som dit kort er tilsluttet. I mit tilfælde er det COM14men det er anderledes på forskellige computere.
- Klik på værktøjsmenuen, og indstil tavlen som Arduino Nano (AT Mega 328P).
- I den samme værktøjsmenu skal du indstille processoren som ATmega328p (gammel bootloader).
- Vi bliver nødt til at medtage et bibliotek for at bruge LCD-modulet. Biblioteket er vedhæftet nedenfor i downloadlinket sammen med koden. Gå til Skitse> Inkluder bibliotek> Tilføj .ZIP-bibliotek.
- Download koden, der er vedhæftet nedenfor, og indsæt den i din Arduino IDE. Klik på upload knap for at brænde koden på din mikrocontroller.
Download koden og nødvendige biblioteker ved at klikke her.
Trin 8: Kode
Koden til dette projekt er ret enkel og godt kommenteret.
- ugyldig opsætning ()er en funktion, hvor vi initialiserer INPUT- eller OUTPUT-benene. Denne funktion indstiller også baudhastigheden ved hjælp af Serial.begin () kommando. Baudrate er Arduino's kommunikationshastighed.
- ugyldig sløjfe ()er en funktion, der kører gentagne gange i en løkke. I denne sløjfe skriver vi en kode, der fortæller mikrocontrollerbrættet, hvilke opgaver der skal udføres, og hvordan.
#omfatte#omfatte // Nødvendigt bibliotek til LCD-modul # inkluderer // Nødvendigt bibliotek til tænding af 4x4-tastatur = 5; // Pin 5 bruges til at udløse Relay int alarm = 6; // Pin 6 bruges til at udløse summer int pos = 0; LiquidCrystal lcd (2,3,4,9,10,11,12); Adgangskodeadgangskode = Adgangskode ("4321"); // Vis denne adgangskode til føreren const byte ROWS = 4; // Fire rækker med byte COLS = 3; // Tre kolonner // Definer nøgler til nøglekort [ROWS] [COLS] = {{1 ',' 2 ',' 3 ',}, {' 4 ',' 5 ',' 6 ',}, { '7', '8', '9',}, {'*', '0', '',}}; // Tilslut tastaturet ROW0, ROW1, ROW2 og ROW3 til disse Arduino-ben. byte rowPins [ROWS] = {25, 24, 23, 22}; // opret forbindelse til rækkeudskæringerne på tastaturbyte colPins [COLS] = {28, 27, 26}; // opret forbindelse til søjleudskæringerne på tastaturet const int buttonPin = 7; int buttonState = 0; // Opret tastatur tastatur tastatur = tastatur (makeKeymap (nøgler), rowPins, colPins, ROWS, COLS); ugyldig opsætning () {pinMode (buttonPin, INPUT); lcd.begin (16, 2); digitalWrite (ledPin, LOW); // indstiller lysdioden til Serial.begin (9600); tastatur.addEventListener (tastaturEvent); // tilføj en begivenhedslytter til dette tastatur tastatur.setDebounceTime (250); } ugyldig loop () {keypad.getKey (); buttonState = digitalRead (buttonPin); hvis (buttonState == HIGH) {lcd.clear (); } tastaturEvent (); } ugyldigt tastaturEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case TRYKT: lcd.print (eKey); switch (eKey) {case '': gætPassword (); digitalWrite (tænding, HIGH); digitalWrite (alarm, HIGH); pause; standard: password.append (eKey); }}} ugyldigt gætPassword () {if (password.evaluate ()) {digitalWrite (ledPin, HIGH); forsinkelse (500); lcd.print ("Gyldigt adgangskode"); // Nulstil kodeord(); // nulstiller adgangskode efter korrekt indtastningsforsinkelse (600); lcd.print ("ON"); forsinkelse (2000); lcd.clear (); } andet {digitalWrite (ledPin, LOW); lcd.print ("ugyldigt adgangskode"); Nulstil kodeord(); // nulstiller adgangskoden efter INCORRECT indtastningsforsinkelse (600); lcd.clear (); }}
Trin 7: Hardware Design
Da vi nu har simuleret kredsløbet på software og forstået koden, lad os nu gå videre og placere komponenterne på brødpladen. For det første vil vi samle det primære sidekredsløb og derefter samle det sekundære sidekredsløb.
Det er bedre at forbinde kredsløbet med bilens lydsystem, så det vil være vanskeligt for indbrudstyven at finde det kredsløb, og de tager mere tid at nå bag bilens instrumentbræt, fordi det placeres bag det. Bilens lydsystem forbindes til kontakten og videre til DC-batteriet for at dreje PÅ lydsystemet. Når brugeren indtaster den korrekte adgangskode ved hjælp af 4 × 4-tastaturet, oprettes den trådløse forbindelse mellem begge sider, og han / hun bliver nødt til at dreje nøglen igen for at starte bilen. Saml alle forbindelser på brødbrættet, og brug dobbelt tape til at indsætte kredsløbet bag bilens lydsystem.
Nu samler vi den sekundære side af kredsløbet, der også er kendt som motorsiden. På denne side forbinder vi relæmodulet med Arduino, og det udløses kun, når det modtager et signal fra Bluetooth-modulet. Hvis chaufføren indtaster den forkerte adgangskode i flere forsøg, begynder alarmen at ringe, og folk, der passerer i nærheden, bliver klar over, at der er noget problem i bilen. Placer komponenterne på brødpladen i henhold til kredsløbsdiagrammet vist ovenfor, og fastgør kredsløbet til kølervandflasken.
Anbefalinger
- Anvend kølelegemer på de komponenter, der er placeret på motorsiden, så kortslutning kunne undgås, når bilen varmer op.
- GPS- og GSM-modulerne kan tilføjes i kredsløbet for at bestemme bilens placering og sikre sikkerhed ved at slukke for motoren via SMS.
- Ansigtsgenkendelse kan også implementeres i dette system, så bilen tændes, så snart ejerens ansigt genkendes.