This is an old revision of the document!


Maze solver

Introducere

Proiectul presupune realizarea unui robot care rezolva un labirint fara a avea informatii despre acesta. Robotul are la baza o placa Arduino care controleaza 2 motoare in functie de senzorii de proximitate si ultima miscare efectuata. In plus, user-ul poate interveni cu o sursa de lumina pentru a dirija robotul pe traseul dorit, evitand in acelasi timp peretii labirintului.

Proiectul este inspirat din cunoscutul joc “Ajuta soarecele sa gaseasca cascavalul” si are ca scop prezentarea unei variante de rezolvare a unui labirint indiferent de dimensiunea/dificultatea acestuia.

Descriere generală

Masinuta are atasati in partea frontala 3 senzori de proximitate HC-SR04 pentru a determina obstacolele si 2 fotorezistente care stabilesc directia sursei de lumina.

Principiul de functionare a masinutei este urmatorul:

· In cazul in care senzorii ultrasonici din lateralul masinii detecteaza peretii, atunci aceasta inainteaza

· In cazul in care toti senzorii ultrasonici detecteaza peretii, atunci masina executa manevra de intoarcere deoarece acest se afla la un capat de drum

· In cazul in care niciun senzor ultrasonic NU detecteaza peretii, atunci masina va efectua un viraj la dreapta, deoarece se afla intr-o intersectie

Utilizatorul are posibilitatea de a interveni in rezolvarea labirintului prin folosirea unei surse de lumina (ex: lanterna) care sa directioneze masina pe ruta dorita.

Hardware Design

 Arduino UNO ATMEGA328P

 Senzori Ultrasonici HC-SR04

 Fotorezistente

 2 motoare electrice

 Rezistente

 Baterie

 Un buton

 Led-uri

 Buton

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.

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/prj2023/apredescu/maze_solver.1683229167.txt.gz · Last modified: 2023/05/04 22:39 by andrei.bulica
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