Table of Contents

Useless Box

Autor

Ionașcu Andrei
Automatica si Calculatoare
335CC

Idei inițiale

* păstrarea ordinii butoanelor și posibilitatea de a apăsa pe mai multe (coadă de task-uri)
* strategii de răspuns:

* OLED pentru afișarea datelor:

Descriere & Rezultat

O cutie care la prima vedere nu face prea multe, însă reușește să facă ceva care să te amuze. Proiectul conține 4 butoane cu care poți să te distrezi cu aceasta și un display pentru alegerea mai multor strategii și vizualizarea status-ului curent al dispozitivului.

La activarea unuia dintre butoane, servo-ul de bază va poziționa brațul pe direcția exactă a butonului, iar cel de-al doilea servo va inițializa mișcarea brațului, lovind butonul.

Acest Useless Box este puțin mai special. Pornind de la o problemă neașteptată a ajuns un dispozitiv mult mai complex și mai interesant. În timpul construirii acestuia am avut surpriza de a nu avea destulă putere în servo-ul brațului pentru a acționa butoanele cutiei. Acest lucru a dus la implementarea a câtorva funcționalități extra, precum:
* servo-ul doar atinge butonul acționat și marchează în sistem finalizarea acestuia
* până nu este retars butonul, acesta rămâne în sistem ca fiind neterminat
* brațul refuză realizarea altor strategii până la finalizarea tuturor butoanelor, marcând pe display butoanele problematice

Această adaptare la problemă nu mai este acum un dezavantaj ci a dus la un Useless Box mult mai încăpățânat, diferit de toate celelalte proiecte.

OLED-ul va conține date despre strategia curentă a dispozitivului, cu posibilitatea de a o schimba cu ajutorul unui buton. De asemenea, acesta prezintă reprezentări vizuale asupra stării fiecărui buton, marcând butoanele active, butoanele problematice care nu au ajuns să fie tras înapoi de către utilizator.

Cutia este realizată de la zero având locurile pentru compomentele fine realizate la o freză industrială de precizie.

Strategii

Dispozitivul este incorporat cu 5 strategii diferite ce vor amuza fiecare utilizator:
* Coffee Break

* LazyBoy

* WorkingBoy

* Mr.ShowOff

* Sleep


Software Design

Github link: Advanced-Useless-Box

Aici sunt prezente toate fișierele necesare compilării codului prezent pe plăcuță și fișierele pentru bootloader. Codul pentru transmiterea datelor către OLED și I2C-ul folosit de către acesta, nu îmi aparțin.

Rezultat

Hardware Design

Componente

* Servo pentru braț
* Servo pentru platformă
* Toggle Switch x4
* OLED Display
* Cadru de lemn
* Braț
* Platforma de pe servo
* Buton alegere strategie

Block Diagram

Schema Electrică

Fiecare buton va trage pin-ul la high în momentul în care butonul este comutat.
Oled va afișa date despre butoanele activate și tipul de strategie curent.
Cele două servo-uri sunt conectate la pinii PD5 și PD4 pentru a utiliza Timer-ul 1 în PWM cu TOP la ICR1.