• Arduino
  • aparat foto
  • comunicare
  • unități
  • inovaţie
  • motor
  • hardware open source

auto

În acest tutorial, vom ilustra instalarea și utilizarea senzorilor de asistență la parcare simpli și cu preț redus. Vom folosi doi senzori cu ultrasunete HC-SR04 și patru sonerii Piezo pentru a alerta progresiv șoferul cu privire la apropierea mașinilor din apropiere în spatele mașinii șoferului în timp ce parcăm cu un sunet acustic. De asemenea, vom rezolva probleme practice, cum ar fi hidroizolarea și desfășurarea firelor în cabina unei mașini.


Hardware

  • Arduino UNO (1x)
  • HC-SR04 Senzori cu ultrasunete (2x)
  • Sârmă Vcc (aproximativ 2m)
  • Sârmă Gnd (aproximativ 2m)
  • Sârmă de declanșare (aproximativ 1m)
  • Sârmă ecou (aproximativ 1m)
  • Buzzer piezo (2x)
  • Adaptor auto USB
  • Cutie/cutie din plastic pentru Aduino

Software

  • IDE Arduino
  • Github

Instrumente

Pasul 1: Configurarea sistemului

Să începem prin a pregăti electronica prezentată mai jos, astfel încât să putem testa sistemul înainte de a instala senzorii auto în mașină.

Figura 1: Componente hardware necesare - Arduino, carcasă din plastic, senzori cu ultrasunete, sonerii Piezo, fire și un adaptor de alimentare

În acest proiect, vom folosi doar doi senzori pentru spate: unul pe partea stângă a barei de protecție și celălalt pe partea dreaptă a barei de protecție. Sistemele de avertizare de asistență pentru majoritatea mașinilor noi au până la șase senzori pentru o poziționare mai precisă.

Senzorii HC-SR04 prezintă câte patru pini fiecare:

  • VCC (alimentare de până la 5V)
  • Declanșator
  • Ecou
  • Sol

Pentru o explicație mai detaliată a funcțiilor acestor module, vă rugăm să vizitați acest tutorial anterior: Utilizarea Arduino cu piese și senzori - senzor cu ultrasunete

Figura 2 de mai jos prezintă o diagramă despre cum să conectați senzorii și buzzerele auto la Arduino.

Figura 2: Diagrama de sârmă a Arduino, a senzorilor cu ultrasunete și a buzzerelor Piezo

Pasul 2: Programarea Arduino

Să începem să scriem un program. În general, pentru orice firmware al microcontrolerului putem găsi următoarele patru elemente:

  • Definiția valorilor globale și a bibliotecilor
  • Funcția de configurare
  • Funcția de buclă
  • Alte funcții

Spre deosebire de dezvoltarea software-ului, atunci când programăm microcontrolere, avem în mod normal unele limitări cu privire la cât de mare poate fi codul nostru. Arduino Uno meu vine cu un Atmega328, care are 32 KB de memorie. Pentru această aplicație, acest lucru este mai mult decât suficient.

Funcțiile pinMode () și digitalWrite () sunt modalități convenabile de a gestiona pinii microcontrolerului. Vom folosi funcția pinMode () pentru a seta direcția pinului (pinilor) specificat (e). Direcția poate fi fie de intrare, fie de ieșire. Odată ce ați setat direcția, știftul va funcționa numai în acea direcție. Vom folosi funcția digitalWrite () pentru a seta pinul digital specificat la HIGH sau LOW. Aici, am setat pinul 2 ca o altă masă suplimentară, de care aveam nevoie pentru a conecta pinul GND al unuia dintre dispozitive.

Din motive de simplitate, am definit o funcție (calculateDistance (ecou, ​​declanșator, buzzer) care va fi utilizată mai întâi într-unul dintre senzori și în celălalt senzor în al doilea rând.

Mai întâi activăm un pin (declanșator), deoarece va dura ceva timp să ne trimită informații despre un alt pin (ecou). Cu acest interval de timp putem face câteva presupuneri și putem calcula o distanță (viteza sunetului este de 340 m/s sau 29 de microsecunde pe centimetru). Această distanță va servi ca parametru pentru a stabili cât de des să emit un beep de 2000 Hz (am găsit acest lucru prin încercare și eroare, nu ezitați să îl schimbați la tonul preferat).

Am folosit mai multe funcții încorporate, cum ar fi tonul (pin, frecvență, durată), digitalWrite (pin), delayMicrosecunde (durata) și pulseIn (pin, valoare).

Pasul 3: Pregătirea unei strategii bune pentru asamblare

Găsiți o zonă impermeabilă în caroseria din spate a mașinii. Senzorii vor fi instalați aici. În mașina mea aveam mai multe opțiuni:

  • În interiorul capacelor farurilor
  • În apropierea becurilor de înmatriculare
  • Pe bare de protecție spate

Dacă ați plasa senzorii mașinii fie în interiorul capacelor farurilor spate, fie pe bare de protecție spate, trebuie să faceți găuri pentru a permite intrarea și ieșirea undelor cu ultrasunete. Din păcate, aceste găuri ar permite, de asemenea, pătrunderea apei (ploaie, stropi etc.) dacă nu sunt foarte bine făcute. Impermeabilizarea acestora cu etanșant nu este o opțiune, deoarece undele cu ultrasunete nu o vor distinge. În plus, veți avea dificultatea suplimentară de a calibra poziția găurilor în raport cu senzorul, pentru a evita efectele de difracție.

Pentru a afla mai multe despre undele de difracție, faceți clic aici .

Așadar, am ales să plasez senzorii mașinii lângă plăcuța de înmatriculare, deoarece spațiul de sub ușa/mânerul portbagajului este suficient de mare și îmi scutește de problemele de a găuri. Tot ce trebuie să fac este să reglez ușor orientarea senzorilor pentru a viza spre colțurile mașinii.

Figura 4: Găsirea locației potrivite pentru senzori

Pasul 4: Implementarea hardware-ului în interiorul mașinii

Găsiți un loc pentru sonorele Arduino și Piezo. Pentru acest pas va trebui să demontăm panourile ușii mașinii și să găsim un loc sigur și gol pentru a atașa electronica.

Sa inceapa distractia! Panourile interioare dezvăluie o nouă dimensiune a mașinii dvs. Avem acolo mult spațiu în care putem atașa multe dispozitive (poate pentru postări viitoare!). Există, de asemenea, o serie de fire interne care alimentează diferite elemente ale mașinii legate de siguranță. Asigurați-vă că nu atingeți fire importante.

TREBUIE SĂ FIȚI FOARTE ATENȚIONANT CU PĂRȚILE INTERNELE MAȘINII.

Vom conecta senzorii cu ultrasunete din exteriorul mașinii la Arduino prin găurile care dețin placa de înmatriculare. A trebuit să fac acele găuri puțin mai mari pentru ca toate cele opt fire să treacă și să mai las încă loc șuruburilor de susținere.

Buzzerele Piezo au fost aranjate cu bandă adezivă simplă pe două fețe.

Figura 5: Asamblarea HC-SR04 pe partea dreaptă a plăcuței de înmatriculare

Figura 6: Asamblarea unuia dintre sonerii Piezo cu bandă pe două fețe

Figura 7: Amplasarea modulelor pe ușa portbagajului (vedere din interior)

Figura 8: Locațiile modulelor (vedere din spate)

În total, vom avea nevoie de aproximativ 6 metri de sârmă pentru senzori și sonerii pentru ca sistemul să funcționeze confortabil. Este important să codificați firele pentru a preveni confuzia în viitor.

Pasul 5: Desfășurarea firelor în interiorul mașinii

Odată ce hardware-ul este la locul său, trebuie să conectăm toate firele. Senzorii au nevoie de opt cabluri (două ecouri, două declanșatoare, două soluri și două VCC) care trebuie să treacă prin găurile din spatele plăcuței de înmatriculare. Să verificăm conexiunile:

  • Declanșator senzor drept/pin 13 Arduino
  • Ecoul senzorului drept/pinul Arduino 12
  • Senzor drept GND/Arduino GND
  • Senzor drept VCC/Arduino VCC
  • Buzzer dreapta +/pinul Arduino 6
  • Declanșator senzor stâng/pinul Arduino 11
  • Ecoul senzorului stâng/pinul Arduino 10
  • Senzor stâng GND/Arduino GND
  • Senzor stâng VCC/Arduino Vin
  • Buzzer stâng +/pinul Arduino 7

Ordinea VCC-urilor și a GND-urilor este irelevantă atâta timp cât sunt conectate toate. Arduino Uno-ul meu expune până la trei motive și folosesc pinul Vin ca sursă de alimentare pentru unul dintre senzori, furnizând celălalt senzor de la pinul de 5V.

Alte versiuni Arduino sunt mai mult sau mai puțin limitate la pini (de exemplu, Arduino Micro expune doar două motive), așa că am decis să fac un teren suplimentar setând pinul 2 la LOW.

Figura 9: Conectarea modulelor cu ultrasunete și a alimentării

Figura 10: Conectarea modulelor, a puterii și a sonerelor

Pasul 6: Pornirea sistemului

Alimentarea cu energie a automobilelor este dificilă. Deși bateria mașinii oferă 12 volți DC (regulatorul de tensiune se poate supraîncălzi și poate deteriora placa Arduino dacă utilizați mai mult de 12V), este conectat la un alternator. La pornirea motorului, alternatorul poate crea vârfuri de curent uriașe și poate prăji orice dispozitiv electronic conectat la acesta. Se numește încărcare de încărcare. Puteți citi mai multe despre asta aici.

Din acest motiv, cel mai bine este să folosiți un circuit de protecție intermediar între Arduino și sursa de alimentare a mașinii. O opțiune este asamblarea DIY a unui regulator de tensiune, dar designul său depășește scopul acestui articol, așa că am optat pentru reciclarea unui adaptor de telefon vechi.

Am folosit un cablu adaptor USB feminin. A trebuit să înlocuiesc capătul adaptorului USB și să-l atașez la adaptorul feminin. Ca alternativă, aș fi putut elimina anteturile pinului feminin ale Arduino și aș fi atașat toate firele.

Întrebarea de aici este: Care dintre cele patru fire merge unde? Vă rugăm să vedeți imaginea de mai jos.

Figura 11: USB de tip B. Când alimentați prin USB, sunt necesare doar două fire.

În Arduino Uno conexiunea USB este de tip B. Alte modele au alte tipuri de conexiuni USB, deci va trebui să vă verificați și să vă adaptați la nevoile dvs.

În cele din urmă, trebuie să găsim o sursă de alimentare pentru adaptorul nostru. Există mai multe opțiuni:

  • Recipientul brichetei (situat puțin prea departe)
  • Lampă indicatoare de mers înapoi (foarte convenabilă, dar cam complicată, având în vedere funcționarea ușii mele)
  • Ștergător parbriz spate (mai puțin elegant decât indicatorul invers, dar convenabil și în cazul în care vreau să îl dezactivez)

Am avut norocul să găsesc un conector între toate firele care treceau în spatele panoului de plastic. Am verificat tensiunea și ... Voila!

Figura 12: Găsirea puterii și polarității într-un conector vagabond din mașina mea

În acest tutorial, am dezvoltat un sistem de parcare asistată bazat pe Arduino destul de simplu, rentabil, cu senzori auto care alertează un șofer când se apropie prea mult de mașinile din spatele lor (partea din spate). Folosind doi senzori de proximitate cu ultrasunete și două sonerii Piezo, sistemul îl avertizează pe șofer cu sunete acustice, frecvența dintre sunete indicând distanța de la un obstacol.

Am creat o aplicație din viața reală folosind Arduino și am explorat granițele dintre prototipul de dovadă a conceptului, prototipul experienței utilizatorului și prototipul funcțional. Într-un viitor tutorial, ne putem extinde asupra conceptelor pe care le-am discutat astăzi aici pentru a construi o versiune îmbunătățită a sistemului de parcare asistată cu caracteristici și funcționalități mai bune. Ce crezi?


Dacă aveți comentarii sau întrebări, vă rugăm să ni le lăsați la Google +. Urmați-ne acolo; vom posta în curând următorul tutorial.