This shows you the differences between two versions of the page.
pm:prj2021:alazar:ascii_art_printer [2021/05/31 16:16] andreea.ciobanu0503 [Concluzii] |
pm:prj2021:alazar:ascii_art_printer [2021/05/31 17:22] (current) andreea.ciobanu0503 [Software Design] |
||
---|---|---|---|
Line 3: | Line 3: | ||
Ciobanu Andreea-Corina, Grupa 331CB | Ciobanu Andreea-Corina, Grupa 331CB | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Proiectul constain crearea unui sistem care va desena Ascii Art. Sistemul va fi format dintr-un suport de desen (in cazul curent: tabla alba) si un suport pentru marker care va fi deplasat pe suprafata de desen de catre doua motoare pas cu pas iar inclinatia lui fata de tabla va fi controlata folosind un motor servo. Imaginea care va fi desenata va fi transmisa catre Arduino folosind un adaptor MicroSD. | + | Proiectul consta in crearea unui sistem care va desena Ascii Art. Sistemul va fi format dintr-un suport de desen (in cazul curent: tabla alba) si un suport pentru marker care va fi deplasat pe suprafata de desen de catre doua motoare pas cu pas iar inclinatia lui fata de tabla va fi controlata folosind un motor servo. Imaginea care va fi desenata va fi transmisa catre Arduino folosind un adaptor MicroSD. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
* Imaginea desenata va fi stocata pe un card microSD. | * Imaginea desenata va fi stocata pe un card microSD. | ||
Line 20: | Line 20: | ||
* 2 x Curea GT2 1m | * 2 x Curea GT2 1m | ||
* 2 x Fulie GT2 16 dinti | * 2 x Fulie GT2 16 dinti | ||
- | * 1 x card microSD | + | * 1 x Card microSD |
* Tabla | * Tabla | ||
* Marker | * Marker | ||
* Suport marker | * Suport marker | ||
+ | Schema electrica: | ||
+ | {{ :pm:prj2021:alazar:schma_ascii_up.png?600 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Dezvoltarea a fost facuta folosind mediul de dezvoltre dedicat [[https://www.arduino.cc/en/software|Arduino IDE]].\\ | Dezvoltarea a fost facuta folosind mediul de dezvoltre dedicat [[https://www.arduino.cc/en/software|Arduino IDE]].\\ | ||
Line 48: | Line 50: | ||
* loop(): citeste de la slave cate un caracter si apeleaza functia write_character(character) | * loop(): citeste de la slave cate un caracter si apeleaza functia write_character(character) | ||
* write_character(character): deplaseaza motoarele in functie de caracterul primit ca parametru; daca markerul va fi lipit de tabla sau departat folosind motorul servo va fi introdus un mic delay pentru a lasa timp suportului de marker sa se stabilizeze | * write_character(character): deplaseaza motoarele in functie de caracterul primit ca parametru; daca markerul va fi lipit de tabla sau departat folosind motorul servo va fi introdus un mic delay pentru a lasa timp suportului de marker sa se stabilizeze | ||
- | * | ||
**Slave** | **Slave** | ||
* setup(): initializeaza comunicarea I2C si realizeaza comunicarea cu portul SD | * setup(): initializeaza comunicarea I2C si realizeaza comunicarea cu portul SD | ||
Line 61: | Line 62: | ||
La finalul unei linii se va regasii in fisierul de input caracterul "*" care va marca faptul ca linia curenta s-a incheiat iar markerul va fi deplasat catre inceputul urmatoarei linii.\\ | La finalul unei linii se va regasii in fisierul de input caracterul "*" care va marca faptul ca linia curenta s-a incheiat iar markerul va fi deplasat catre inceputul urmatoarei linii.\\ | ||
Dupa desenarea tuturor caracterelor marcata prin citirea caracterului " markerul va fi ghidat la inceputul desenului, pentru a nu il acoperi.\\ | Dupa desenarea tuturor caracterelor marcata prin citirea caracterului " markerul va fi ghidat la inceputul desenului, pentru a nu il acoperi.\\ | ||
- | Un demo al functionarii proiectului este disponibil aici: | + | Un demo al functionarii proiectului este disponibil aici: [[https://www.youtube.com/watch?v=YXb9TPMl2Bg|Real-time]] [[https://www.youtube.com/watch?v=Pto9u-3W5Uw|Fast-Forward]] |
===== Concluzii ===== | ===== Concluzii ===== | ||
- | Proiectul a fost foarte educativ si distractiv in acelasi timp. Avand in vedere limitarile actuale consider ca a fost un pic mai dificil sa realizez proiectul asa cum mi-as fi dorit initial: nu am avut acces la imprimanta 3d pentru a crea suportii pentru motoarele pas cu pas care sunt destul de grele si nici pentru suportul markerului, asa ca am folosit ce a fost la indemana pentru a crea un proiect cat mai atractiv. | + | Proiectul a fost foarte educativ si distractiv in acelasi timp. Avand in vedere limitarile actuale consider ca a fost un pic mai dificil sa realizez proiectul asa cum mi-as fi dorit initial: nu am avut acces la imprimanta 3d pentru a crea suportii pentru motoarele pas cu pas care sunt destul de grele si nici pentru suportul markerului, asa ca am folosit ce a fost la indemana pentru a crea un proiect cat mai atractiv. |
===== Download ===== | ===== Download ===== | ||
+ | In {{:pm:prj2021:alazar:proiectpm_ciobanuandreeacorina_331cb.zip|arhiva}} se va gasi codul sursa si fisierul de input pentru desenul "Dino looking over the wall". | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
* 25 aprilie: alegere tema proiect | * 25 aprilie: alegere tema proiect | ||
Line 82: | Line 84: | ||
https://ocw.cs.pub.ro/courses/pm/lab/lab5-2021\\ | https://ocw.cs.pub.ro/courses/pm/lab/lab5-2021\\ | ||
https://learn.adafruit.com/adafruit-motor-shield/using-stepper-motors\\ | https://learn.adafruit.com/adafruit-motor-shield/using-stepper-motors\\ | ||
+ | Schema electrica a fost realizata cu [[https://fritzing.org/]] |