This shows you the differences between two versions of the page.
pm:prj2022:avaduva:magic_music_box [2022/06/03 13:32] jad.sarhdaoui [Hardware Design] |
pm:prj2022:avaduva:magic_music_box [2022/06/03 14:14] (current) jad.sarhdaoui [Concluzii] |
||
---|---|---|---|
Line 32: | Line 32: | ||
{{:pm:prj2022:avaduva:285443492_825834375251765_6680282258171018623_n.png?550|}} | {{:pm:prj2022:avaduva:285443492_825834375251765_6680282258171018623_n.png?550|}} | ||
+ | |||
+ | {{:pm:prj2022:avaduva:a21.jpg?500|}} | ||
+ | |||
+ | {{:pm:prj2022:avaduva:a22.jpg?500|}} | ||
</note> | </note> | ||
Line 38: | Line 42: | ||
- | <note tip> | + | <note> |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | Pour la conception des logiciels pour mon projet: |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | - Environnement de développement : Arduino IDE. |
- | * (etapa 3) surse şi funcţii implementate | + | - Bibliothèques utilisées : Servo, Stdlib (pour générer un nombre aléatoire). |
+ | |||
+ | Dans la mise en œuvre, nous avons utilisé un commutateur externe pour détecter le commutateur à bouton et les fonctions de bibliothèque pour le fonctionnement des actionneurs. | ||
+ | |||
+ | J’ai commencé par emmêler les servomoteurs. J’ai attaché les broches 8 et 9 respectivement et je les ai réglées sur 0 au début du programme pour réinitialiser dans n’importe quel état qui serait resté en cours de route. J’ai défini la broche 4 comme entrée pour détecter les changements de bouton. J’ai activé les interruptions externes et je ne les ai activées que pour la broche 4. | ||
+ | |||
+ | Dans la fonction de gestion des interruptions ne changent qu’une variable globale, les fonctions du mécanisme sont appelées dans la boucle(). Nous n’avons choisi que le changement de la variable globale dans le traitement de l’interruption parce que le mécanisme a une très longue durée de vie et aurait grandement interrompu le cours du programme si nous gardions tout en interruption. | ||
+ | |||
+ | Nous avons créé plusieurs fonctions, toutes similaires les unes aux autres, pour les mouvements du mécanisme. La première fois que la rotation de l’actionneur 1 est exécutée, ce qui a pour rôle de soulever le couvercle. | ||
+ | |||
+ | Ensuite, la rotation de l’actionneur 2 est exécutée pour activer le bouton. | ||
+ | |||
+ | Ensuite, dans l’ordre inverse, il revient à son état d’origine. J’ai utilisé différents délais entre les fonctions pour changer la vitesse des actionneurs ou le temps d’attente entre les exécutions (entre les 2 actionneurs). | ||
+ | |||
+ | Dans la boucle, j’utilise un interrupteur pour détecter quelle fonction appeler et un index i qui est choisi au hasard dans une plage pour rendre le jouet un peu plus indéterminé et drôle. | ||
+ | |||
+ | En tant que fonctions utilisées : | ||
+ | |||
+ | - servo.atach pour fixer une broche à l’actionneur. | ||
+ | - servo.write pour définir l’angle de l’actionneur. | ||
+ | - retarder. | ||
+ | - bord. | ||
+ | - sei et cli pour définir les interruptions. | ||
</note> | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | <note> |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
+ | J’ai obtenu une copie fonctionnelle d’un jouet populaire dans sa version de base. Dans la démo, vous pouvez voir comment cela fonctionne et comment le bouton est d’abord commuté par moi, puis commuté à nouveau par le jouet. Vous pouvez voir 4 vitesses et lecteurs différents. | ||
+ | |||
+ | https://youtube.com/shorts/f99pmCTBSms?feature=share | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | <note> |
+ | |||
+ | J’ai pu comprendre les notions présentées au laboratoire et les appliquer. C’était très intéressant, même si j’aurais préféré choisir quelque chose d’un peu plus complexe mon projet étant assez simple à réaliser. J’ai également rencontré quelques difficultés dues à la puissance des actionneurs et à la résistance du bouton initial, mais j’ai réussi à remplacer les composants et à surmonter les problèmes. | ||
+ | |||
+ | ici le fichier du code source: | ||
+ | |||
+ | {{:pm:prj2022:avaduva:codesource.txt|}} | ||
- | <note warning> | ||
- | 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**. | ||
</note> | </note> | ||
+ | |||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | <note> |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
+ | - Page de réalisation | ||
+ | - Achat de composants | ||
+ | - Document | ||
+ | - Schéma de développement à Tinkercat | ||
+ | - Création de périphériques (boîte, lames en aluminium) | ||
+ | - Assemblage de composants | ||
+ | - Programmation agréable | ||
+ | - Rédaction de documentation | ||
+ | - Finir la page wiki | ||
</note> | </note> | ||
+ | |||
+ | |||
+ | |||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
+ | https://fr.wikipedia.org/wiki/Machine_inutile | ||
+ | |||
+ | https://forums.futura-sciences.com/electronique/790636-une-machine-inutile.html | ||
+ | |||
+ | http://www.wiki-rennes.fr/Useless_Box | ||
+ | |||
+ | |||
+ | |||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||