This is an old revision of the document!
Cereal Sorter
Introducere
Prezentarea pe scurt a proiectului vostru:
ce face: având două tipuri de cereale diferite, te ajută să clasifici cerealele în boluri diferite
care este scopul lui → scenariu: pofticios amator de cereale cu lapte are un brand preferat de cereale care include două tipuri de cereale diferite, însă beneficiarul ipotetic are o preferință vis-a-vis de cele două tipuri diferite de cereale, iar producătorul de cereale nu are un sub-brand care să aibă doar cerealele de tipul preferat de beneficiar, astfel Cereal Sorter™ vine în sprijinul nostru pentru a ne bucura de tipul preferat de cereale “hassle-free”
-
de ce credeţi că este util pentru alţii şi pentru voi: utilitatea proiectului pentru consumatorii de cereale mofturoși este prezentată mai sus, iar în ceea ce mă privește pe mine, utilitatea proiectului va consta în faptul că mă va ajută să mă familiarizez cu programarea folosind un microcontroller, și, de asemenea, cu tehnica dezvoltării unui model de machine learning care va fi capabil să clasifice obiecte în două categorii
Descriere generală
Se va construi o mini rampă de hârtie pe care vor fi plasate cerealele care vor fi sortate în două categorii. Rampa include la baza ei un loc în care încape o cereală care va urma să fie sortată. Servomotorul va fi inclus în structura rampei, iar amplasarea ei se va face în imediata apropiere a camerei video a laptop-ului pentru înregistrarea input-ului video. Servomotorul va fi în trei stări:
1) starea în care se mișcă în stânga și în dreapta astfel încât să cauzeze o mică alunecare a cerealelor de pe rampă până când o cereală ajunge să fie în locul de unde va fi aruncată fie într-un bol, fie în celălalt
2) stare de repaus, cereala se află în locul de unde va fi aruncată în bolul categoriei din care face parte
3) stare de catapultare: servomotorul se înclină în direcția în care se află bolul cerealei curente de sortat
LCD-ul va fi responsabil de afișarea stării în care se află ansamblul (practic servomotorul).
Hardware Design
Aici puneţi tot ce ţine de hardware design:
listă de piese
-
diagrame de semnal
rezultatele simulării
Listă piese:
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
5/5/2023 - 2:46PM: realizare documentație inițială + comandă piese electronice
14/5/2023 - 6:08PM: lipit carton + atașare servomotor + testare servomotor + testare comunicare serială dintre un modul python și arduino (vezi secțiunea media pentru fotografii + video)
14/5/2023 - 7:52PM: am folosit
https://teachablemachine.withgoogle.com/ pentru a-mi crea un model preantrenat care să detecteze dacă zâmbesc sau dacă am gură deschisă fiindcă am vrut să testez cum se integrează rularea modelului cu comunicarea serială, astfel servomotorul merge către stânga când am gură deschisă, iar dacă zâmbesc acesta o ia către dreapta + demo în secțiunea media
Bibliografie/Resurse