Andrei-Ciprian FOCȘĂNEANU (66870) - intelliCar

intelliCar logo

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul are ca scop realizarea unei masini inteligente multifunctionale ce poate functiona in doua moduri:

  • functionarea autonoma folosindu-se de informatiile primite de la senzorul de distanta (care este rotit de servomotor), alegand directia cu cea mai mare distanta pana la primul obstacol ca directie de inaintare
  • functionarea controlata prin Bluetooth de pe un device ce ruleaza o aplicatie Android, asistata de frana automata in cazul in care senzorul detecteaza un obstacol in apropiere.

Am pornit de la doua idei separate: un robot care evita obstacolele si un robot controlat prin Bluetooth, dar nevrand sa renunt la nici una din cele doua si pentru ca masinile smart sunt din ce in ce mai dorite, am ales sa le combin 8-).

Descriere generală

Schema bloc

Observatii

Masina are 4 motoare (2 fata si 2 spate), fiind conectate cate 2 (de pe aceeasi parte) la iesirile Driverului de motoare L298N. Pentru a schimba directia de deplasare se va mari viteza pe rotile dintr-o parte (dreapta/stanga).

Comunicatia intre microcontroler si modulul de bluetooth se face prin interfata seriala USART. Modulul de Bluetooth lucreaza in modul master si transmite comenzi cate modulul de Bluetooth de pe masinuta (care, implicit, va fi slave).

Microcontrolerul comunica cu un senzor de distanta (care se va fi rotit de servomotor in directia deplasarii) pentru a putea evita eventualele coliziuni ale masinii (cand se detecteaza obiecte la o anumita distanta, masinuta nu va mai putea inainta).

Hardware Design

Lista de componente

Nume Cantitate Distribuitor Pret (RON)
Placa de baza PM 2017 1 Echipa PM 8
Pachet Baza PM 2017 1 Farnell 40
Senzor Ultrasonic HC-SR04 1 Optimus Digital 5
Suport pentru HC-SR04 1 Optimus Digital 5
Micro Servomotor SG90 1 Optimus Digital 12
Driver Motoare Dual L298N 1 Optimus Digital 10
Fire mama-mama 15 Optimus Digital 8
Fire mama-tata 15 Optimus Digital 8
Sasiu + 4 x (roata + motor) + suport baterii 1 Optimus Digital 100
Modul Bluetooth HC-05 1 Okazii 21
Buzzer 5V 1 Optimus Digital 2
Mini-Breadboard 1 Optimus Digital 4
Rezistente 1K 5 Optimus Digital 0.5
Baterii AA 12 Diversi 13
Baterie externa 1 - 0
Total 237

Schema electrica

Software Design

Software Aplicatie Android

  • Mediu de dezvoltare: Android Studio
  • Biblioteci: android.bluetooth (BluetoothAdapter/BluetoothDevice/BluetoothSocket)
  • Ce face?: Aplicatie simpla ce contine 7 butoane (fata, spate, dreapta, stanga, start auto, end auto si claxon) care la apasarea unui buton trimite prin bluetooth un caracter semnificativ catre modulul HC-05 conectat la microcontroller.

Software Microcontroller

  • Mediu de dezvoltare: WinAVR/Programmer's Notepad
  • Biblioteci : avr/io.h, avr/interrupt.h, util/delay.h + usart.c/usart.h (din laborator)

Rezultate Obţinute

Aplicatia Android

intelliCar Android ScreenShot

  • FORWARD - deplaseaza inainte
  • BACK - deplaseaza inapoi
  • RIGHT - vireaza la dreapta
  • LEFT - vireaza la stanga
  • START AUTO - porneste modul de functionare autonom
  • END AUTO - opreste modul de functionare autonom
  • HORN - claxoneaza

Imagini

intelliCar Poza

intelliCar Poza

Video

Concluzii

Mi s-a parut cel mai interesant proiect din facultate. A trebuit sa fac totul de la 0, atat software - cu care eram obisnuit dar si hardware - cu care nu am avut nicio tangenta inainte. Cea mai grea parte a proiectului consider ca fost alegerea pieselor, controlul senzorului de distanta si al servomotorului dar bineinteles si lipirea placutei de baza :-D. Timpul dedicat proiectului nu a fost mai mare decat pentru o tema la alte materii iar faptul ca dupa ce schimbi ceva in cod/hardware, vezi imediat rezultatul, este destul de motivant. Uitandu-ma in retrospectiva, cred ca singura schimbare pe care as fi facut-o ar fi fost alimentarea cu un LiPo, pentru ca un set de 4 baterii AA nu tine foarte mult.

Download

Software Microcontroller

Software aplicatie Android

Jurnal

  • 13.04.2017 - Cumparat placuta PM + componente de baza
  • 20.04.2017 - Cumparat driver motor, servomotor, senzor distanta + suport
  • 25.04.2017 - Cumparat sasiu cu 4 motoare si fire
  • 30.04.2017 - Cumparat modul bluetooth si baterii AA
  • 1.05.2017 - Terminat lipit placuta
  • 5.05.2017 - Asamblat sasiu masina + lipit suport baterii, placuta, servomotor, senzor pe ea
  • 9.05.2017 - Realizat divizor rezistiv pt modulul Bluetooth (5V → 3.3V)
  • 10.05.2017 - Realizat prima varianta de aplicatie Android
  • 10.05.2017 - Realizat comunicare telefon - placuta
  • 10.05.2017 - Realizat controlare masinuta prin telefon (prima varianta)
  • 12.05.2017 - Conectat senzorul de distanta la placuta
  • 13.05.2017 - Realizat functionalitatea de condus autonom al masinutei (prima varianta)
  • 20.05.2017 - Finalizat implementare proiect (software + hardware) + incarcat arhivele cu sursele
  • 22.05.2017 - Finalizat pagina wiki

Bibliografie/Resurse

Resurse Software

Resurse Hardware

pm/prj2017/anitu/acf_obst_avoid.txt · Last modified: 2021/04/14 17:07 (external edit)
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