Truck alcohol safety check

Introducere

Proiectul constă în implementarea unui sistem de siguranță pentru camioane, șoferul fiind nevoit să treacă un test de alcool pentru a putea porni motorul, pentru demonstratie contine un servo motor. Acesta utilizează o cartelă RFID pentru a verifica identitatea șoferului, dispune de un ecran LCD pentru afișarea informațiilor, un buzzer pentru a alerta utilizatorul în timpul procesului și un card SD pentru stocarea rezultatelor și prevenirea fraudei. (Ideal) Cardul SD este plasat strategic în interiorul camionului, astfel încât să fie inaccesibil.

Implementarea acestui sistem de siguranță pentru camioane este utilă pentru prevenirea accidentelor rutiere și protejarea vieților, cerința de a trece un test de alcool înainte de a porni motorul contribuind la asigurarea că șoferii sunt în stare bună și în deplină capacitate de a conduce.

Consider că proiectul reprezintă un prototip viabil, care, cu ajustări minime, ar putea fi adaptat și implementat în sistemul unui camion.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Pasii pe care soferul trebuie sa ii urmeze sunt:

Soferul trebuie sa astepte pana cand senzorul de alcool este pregatit (senzorul MQ3 are un timp necesar pentru incalzire). Soferul valideaza cardul sau la cititorul RFID pentru a confirma identitatea. Daca identitatea este confirmata atunci se va afisa numele sau si este gata sa inceapa testul. Senzorul de alcool MQ3 preia aerul suflat spre el si transmite rezultatul la arduino. Arduino-ul proceseaza rezultatul primit de la senzor si dupa procesarea calculului exista 2 situatii: nivelul de alcool este egal cu 0 sau mai mare decat 0. Pentru testul negativ se transmite prin USB “ENGINE_STARTING”, se afiseaza pe LCD ca se poate porni motorul si porneste servo motorul. In cazul in care testul este pozitiv la alcool, atunci soferul nu poate porni motorul, este afisat un mesaj conform pe LCD si primeste un delay de 15 minute pana cand va putea reincepe procesul.

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Lista componente:

  • 1 x arduino UNO
  • 1 x breadboard
  • 1 x IIC 1602 LCD
  • 1 x RFID Module RC522
  • 1 x RFID keychain
  • 1 x RFID White card
  • 1 x senzor alcool MQ3
  • 1 x Placa de stocare Micro SD TF Card reader
  • 1 x rezistenta 220
  • 1 x buzzer pasiv
  • 1 x servo motor SG90

Schema electrica:

Explicatii pini:

1) Pentru motorul servo SG90 am ales drept pin de semnal, pinul 6 digital PWM(orice pin digital PWM era bun).

2) Pentru senzorul de alcool MQ3 am ales sa il folosesc in mod analogic, astfel am conectat la A0, respectiv A0 la arduino (orice pin analog era ok).

3) Pentru LCD I2C am urmat varianta standard de conectare. (https://projecthub.arduino.cc/arduino_uno_guy/i2c-liquid-crystal-displays-5eb615). Am folosit pinii A4 si A5 pentru a obtine SDA respectiv SCL.

4) Buzzerul pasiv l-am conectat la pinul digital 2 deoarece imi era mai accesibil. Orice pin digital liber este perfect okay.

Problema a fost la RFID si SD card reader, ambele folosind SPI deci aveau MISO, MOSI si SCK comun. O solutie de pe internet care m-a ajutat in conectarea si cardului SD, dar si a RFID-ului simultan: https://forum.arduino.cc/t/sd-card-and-rfid-not-working-together-spi-conflict/995287/6

Astfel:

5) Pentru RFID am conectat la pinii digitali: 11 pentru MOSI, 12 pentru MISO, 13 pentru SCK, 10 pentru SDA si 9 pentru RST.

6) Pentru SD card reader am conectat la pinii digitali: 11 pentru MOSI, 12 pentru MISO, 13 pentru SCK, am adaugat rezistenta de 220 in plus pentru MISO, si 4 pentru CS.

PENTRU DEMO: Am pus link cu video pe YT la “Rezultate obtinute”

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Video proiect: https://www.youtube.com/watch?v=3NGuXG7dtdw&ab_channel=OnelAlexandruGabriel

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/avaduva/alexandru.onel0512.txt · Last modified: 2024/05/16 20:54 by alexandru.onel0512
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0