Table of Contents

Page Flipper

  • Nume: Văideanu Renata - Georgia
  • Grupa: 332 CD
  • Îndrumător: Răzvan-Nicolae Vîrtan

Introducere

Proiectul va consta în dezvoltarea și implementarea unui dispozitiv inovator ce simplifică experiența de lectură prin furnizarea automată a paginilor cărții la apăsarea unui buton. Acest dispozitiv reprezintă o soluție ingenioasă pentru cei care doresc confort și eficiență în timpul lecturii, eliminând necesitatea întoarcerii manuale a paginilor. Ideea aparatului s-a născut din dorința de a simplifica lectura cărților tipărite și de a oferi o soluție practică. Dispozitivul este util deoarece îmbunătățește confortul și eficiența în timpul lecturii, permițându-le utilizatorilor să se concentreze mai mult pe conținutul cărții.

Descriere generală

Partea de hardware a proiectului constă într-o placă de plexiglas echipată cu trei picioare robotice: două pentru susținerea cărții și unul pentru întoarcerea paginilor. De asemenea, avem un al patrulea picioruș care trage pagina în mișcare pentru a facilita procesul de întoarcere a paginilor. În plus, includem butoane pentru semnalarea direcției de întoarcere a paginii (stânga sau dreapta). Această structură hardware asigură o funcționare eficientă și fiabilă a dispozitivului, oferindu-i utilizatorului o varietate de posibilități.

Hardware Design

In realizarea proiectului se vor folosi:

Oganizarea pinilor:

Componentele proiectului vor fi conectate conform diagramei:

schemanoucircuit2.jpeg

Detalii ale Schemei:

Mai jos se poate gasi o organizare orientativa a componentelor hardware:

Software Design

Link pentru repo-ul de Git: Repo Git

Mediu de dezvoltare: Arduino IDE

Librarii folosite:

Principalele functii implementate

M-am folosit de: PCAADDR 0x70: Adresa I2C pentru un comutatorul de canale I2C, PCA9548A. De asemenea, am folosit verctorii steps (steps[i] = 1 pentru pasul curent, pentru a putea monitoriza fluxul de pasi) si first (folosit oentru cei 3 senzori, pentru a i se da servo-ului un imbold pentru a continua miscarea).

Mai in detaliu: In cadrul functiei setup(), se initializeaza pinii din Arduino care urmeaza sa fie folositi ulterior, dar si senzorii. Funcția loop este responsabilă pentru citirea datelor de la senzori, monitorizarea stării butoanelor și efectuarea unor serii de mișcări ale servo-urilor în funcție de aceste stări. Fiecare apăsare a unui buton inițiază o secvență de pași care controlează mișcarea diferitelor componente ale robotului, utilizând datele de la senzorii MPU6050 pentru a ajusta mișcările.se afla codul necesar.

Rezultate Obţinute

img-20240527-wa0003.jpg img-20240527-wa0011.jpg

Mai jos se pot vedea componentele proiectului. colajpiese.jpg

Link video-uri cu testarea proiectului

Asa cum se vede si din vide-uri, din cauza piciorului care trage pagina spre stanga sau spre dreapta care este, probabil, prea scurt, nu se poate face perfect tragerea paginilor.

Concluzii

Proiectul a reprezentat o provocare din punct de vedere hardware, din cauza căutării pieselor necesare. Am început montajul cu două multiplexoare CD74HC4067, dar am realizat foarte curând că nu puteam comunica eficient cu cele trei giroscoape MPU6050. În cele din urmă, am optat pentru un multiplexor PCA9548A, special conceput pentru astfel de operațiuni. Necesitatea utilizării unui multiplexor a venit din faptul că giroscoapele au adresa I2C hard-codată, iar schimbarea acesteia este foarte dificilă. Cu toate acestea, am îndrăgit foarte mult acest proiect și am învățat foarte multe despre protocolul I2C și utilizările sale.

Download

Link Repo Git

Bibliografie/Resurse

Export to PDF

Video-ul care a servit ca inspiratie

Resurse Hardware:
Resurse Software: