Vlad ŢURCANU (70263) - Minitaur

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Minitaurul (minotaur mai mic, versiunea pentru LCD) s-a hotarat sa scape din labirintul sau, de sub palatul regelui Minos 1), dupa milenii intregi in care a stat in intuneric si s-a uitat la Dank Memes (ce altceva putea sa faca?). Dar labirintul se schimba mereu, in functie de starea vremii. Minitaurul are nevoie de ajutorul vostru pentru a gasi cheia si a evada din labirint.

Proiectul reprezinta implementarea unui joc portabil de tip maze, cu generare aleatoare a labirintului in functie de starea vremii (temperatura, umiditate). In viitor (avand in vedere un upgrade grafic major al proiectului), jocul ar putea fi extins pentru a imita conditiile meteo din lumea reala (labirint insorit pe plaja / labirint intr-o padure rece, ploioasa etc).

Descriere generală

Controller-ul genereaza un labirint bidimensional sub forma unei matrice de 1 si 02), pe baza unui seed calculat cu ajutorul valorilor preluate de la senzori. Fiecare loc liber din labirint este conectat cu fiecare alt loc liber (asadar, nu putem ramane blocati undeva, putem ajunge la iesire oriunde ne-am afla).

Cheia pentru deschiderea labirintului (reprezentata prin 2) este plasata intr-un loc liber aleator de pe harta. Jucatorul (reprezentat prin 3) va fi plasat la intrare. Iesirea va fi reprezentata prin 4.

Miscarea jucatorului in labirint se face prin apasarea unuia din cele patru butoane (sus, jos, stanga, dreapta) si presupune modificarea matricei (mutarea numarului 3 pe alta pozitie), tinand cont de constrangerile labirintului (nu putem trece prin ziduri).

Matricea astfel formata este trimisa periodic LCD-ului pentru afisare.

Hardware Design

Lista de piese:

  • placa de baza
  • controller ATMega324
  • display LCD SPI 2.8'' cu controller ILI9341
  • convertor de nivel 5V ↔ 3V3
  • 4 * push-button
  • senzor de temperatura si umiditare AM2302 (DHT22)
  • breadboard
  • fire mama-mama, mama-tata, tata-tata

Schema electrica

Conectarea LCD-ului la placa de baza

Deoarece LCD-ul functioneaza la tensiunea de 3V3, iar placa de baza, la 5V, conectarea acestuia la placa se face print intermediul unui convertor de nivel 5V - 3V3. Convertim, astfel, si VCC si semnalele de date.

Software Design

Plan: Generarea labirintului va fi facuta printr-un algoritm derivat din DFS, pentru a asigura conectivitatea tuturor locurilor libere din matrice.

Rezultat: Cu ajutorul unor biblioteci pentru LCD (mentionate in Resurse), am reusit sa afisez date de test pe ecran. Din pacate, nu am reusit nimic mai mult.

Rezultate Obţinute

Proiectul este gata din punct de vedere hardware.

Din punct de vedere software, in schimb, nu am reusit decat sa aprind LCD-ul, din lipsa de timp. Pe viitor (dupa sesiune), intentionez sa il duc la bun sfarsit.

Concluzii

Jurnal

22.04.2018 - Descrierea initiala a proiectului. Notele initiale de how-to pastrate in pagina pentru referinta ulterioara.

06.05.2018 - Adaugarea schemei proiectului, in Eagle

16.05.2018 - Finalizarea implementarii hardware

19.05.2018 - Completarea paginii de proiect. Update schema electrica.

Bibliografie/Resurse

  • Documentația în format PDF
pm/prj2018/rbarbascu/minitaur.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