Changes

Jump to: navigation, search

Coursera Microcontroleur

9,479 bytes added, 10:47, 6 November 2023
/* liens: interne --> wiki */
== Description ==
Ce wiki a pour but de mettre a disposition des codes (codes sources) réalisés par les membres de Fixme ou autres, les astuces, et tous autres informations qui permettent de suivre et comprendre le cours en ligne [https://www.coursera.org/course/microcontroleurs coursera - comprendre les microcontroleurs] donné par Monsieur Jean-Daniel Nicoud & Pierre-Yves Rochat. De plus chaque vendredi soir à partir de 20h une partie des Electronics Meeting sera consacrée à réaliser, corriger, comprendre les exercices proposés, les données seront à disposition sur cette page wiki en format pdf. '''IMPORTANT''' : vous remarquez des erreurs, des explications erronées, vous voulez simplement contribuer à ce wiki, alors n'hésiter --> améliorer le !!!
== Matériels ==
== Exercices - donnees ==
=== Exos session 1 libres ===en constructon * Exercices libres semaine 1 : [[File:Exos_1.pdf‎ ]]* Exercices libres semaine 2 : [[File:Exos 2.pdf‎ ]]* Exercices libres semaine 3 : [[File:Exos 3.pdf ]]* Exercices libres semaine 4 : [[File:Exos 4.pdf ]]
=== Exas session 1 ===en construction * Questionnaire semaine 1 : [[File:Questionnaire_1.pdf‎]]* Questionnaire semaine 2 : [[File:Questionnaire_2.pdf‎]]
== Solus de nos memmbres : Aperçu & Codes & Astuce ==
=== Solus & Codes Exos session 1 ===
* Réponse exos 1.1 : ~ 520 Ohms
* Réponse exos 1.2 : /OR
* Réponse exos 1.3 : voir fichier pdf -->[[File:Exos serie1.pdf]]
* Réponse exos 1.4 : voir fichier pdf -->[[File:Exos serie1.pdf]]
* Réponse exos 1.5 : voir réponse détaillée à venir
* Réponse exos 1.6 : 1) 0b 101 2) 0b 1100 3) 0b 11 1111 4) 0b 1 0000 0001 5) 0b 101 0000 0000
* Réponse exos 1.7 : 1) 0x37 2) 0x5F 3) 0xE4D9 4) 0x179
* Réponse exos 1.8 : 1) 2 3 5 9 2) ce n'est pas un code BCD
* Réponse exos 1.9 : voir fichier pdf -->[[File:Exos serie1.pdf]]
[[File:Exos 1 9 dauphin.jpg]]
 
=== Solus Exos session 2 ===
 
* Réponse exos 2.1 : voir fichier type .txt => renommer le fichier en .dophin [[File:FiBo.txt‎]] => utilisation de l'émulateur dauphin
* Réponse exos 2.2 : un microcontrôleur contient un microprocesseur, car RAM / ROM / ALU - CPU est directement dans le même boitier.
* Réponse exos 2.3 : non, car une valeur 32bits peut être réalisées avec des champs de 16 ou 8bits, voir même des champs de 4bits
* Réponse exos 2.4 : non, le traitement des données va dépendre de plusieurs paramètres comme bus d'adresse, bus de données, jeu d'instructions, etc
* Réponse exos 2.5 :
DSPic (carte Explorer) : [[File:Exo_2_5_DSPic.c‎]] - langage C classique avec utilisation Timer et interruption
Arduino langage : [[File:Exo_2_5_ARD.c‎]] - langage C classique avec paramètre lié à l'arduino
* Réponse exos 2.6 :
DSPic (carte Explorer) : [[File:Main_2_6_DSPic.c]]‎ - langage C classique avec utilisation Timer et interruption / sans de gestion de rebonds
* Réponse exos 2.7 :
DSPic (carte Explorer) : [[File:Main_2_7_DSPic_V1.c‎ ]]‎ - langage C classique sans utilisation de Timer / ni de gestion de rebonds
DSPic (carte Explorer) : [[File:Main_2_7_DSPic_V2.c‎ ]]‎ - langage C classique utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
* Réponse exos 2.8 :
DSPic (carte Explorer) : [[File:Main_2_8_DSPic.c‎ ]]‎ - langage C classique sans utilisation de Timer / ni de gestion de rebonds
DSPic (carte Explorer) : [[File:Main_2_8_DSPic_v2.c‎ ]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
* Réponse exos 2.9 :
DSPic (carte Explorer) : [[File:Main_2_9_DSPic_Modif.c‎ ]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond (aller voir code sur la page du wiki de la carte Explorer 16)
 
* Réponse exos 2.10 :
DSPic (carte Explorer) : [[File:Main 2 10 DSPic MAP.c ]]‎ - langage C classique sans Timer et ni gestion d'anti-rebond
 
=== Solus Exos session 3 ===
 
* Réponse exos 3.1 : 1) '''11 ou 0x0B''' 2) '''253 ou 0xFD''' 3) '''2''' 4) '''251 ou 0xFB''' 5) '''2''' 6) '''0''' 7) '''83''' 8) '''1'''
Code en C (sous CodeBlock) : [[File:Exos 3 1.c]]‎ - langage C classique
 
* Réponse exos 3.2 :
int i = 0;
while(i < 10){i++;...}
 
* Réponse exos 3.3 :
DSPic (carte Explorer) : [[File:Main_3_3_DSPic.c‎]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.4 :
DSPic (carte Explorer) : [[File:‎Main_3_4_DSPic.c]]‎ - langage C classique avec utilisation Timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.5 :
DSPic (carte Explorer) : [[File:Main 3 5 DSPic.c]]‎ - langage C classique avec utilisation Timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.6 : on peut écrire la déclaration suivante '''DDRC = 0b01000001''' comme ceci : DDRC = 0x41, mais la encore la visibilité n'est pas très claire quand au sortie que l'on veut activé ou DDRC = (1 << DDC6) | (1 << DDC0) <= ici c'est plus clair quand au pin que l'on veut mettre en état de sortie
 
[[Rappel]] DDRC = Data Direction Register (C est le port avec lequel on veut travailler)
 
* Réponse exos 3.7 :
DSPic (carte Explorer) : [[File:Main_3_7_DSPic.c‎]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.8 :
DSPic (carte Explorer) : [[File:Main_3_8_DSPic.c‎]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.9 :
DSPic (carte Explorer) : [[File:Main_3_9_DSPic.c‎ ]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.10 :
DSPic (carte Explorer) : [[File:Main_3_10_DSPic.c]]‎ - langage C classique avec utilisation Timer + gestion anti-rebond(voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
* Réponse exos 3.11 :
DSPic (carte Explorer) : [[File:Main_3_11_DSPic.c‎]]‎ - langage C classique sans gestion de touche ou timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
=== Solus Exos session 4 ===
 
* Réponse exos 4.1 :
DSPic (carte Explorer) : [[File:Main_4_1A_DSPic.c‎ ]]‎ - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
DSPic (carte Explorer) : [[File:Main 4 1B DSPic.c]]‎ - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
DSPic (carte Explorer) : [[File:Main 4 1C DSPic.c]]‎ - langage C classique avec gestion des touches avec une fonction d'anti-rebond et du timer (voir codes sur la page du wiki de la carte Explorer 16 -> lien en bas de page)
 
'''Remarque''': pour réaliser ces exercices, une carte d'extension a été utilisée (réalisée à Fixme) et connectée à la carte Explorer 16 (voir les lien interne en bas de page).
 
=== Solus Exas session 1 ===
 
* Réponse exas Q1 : 2)
* Réponse exas Q2 : 3)
* Réponse exas Q3 : < 2500 ohm
* Réponse exas Q4 : 1)
* Réponse exas Q5 : 1)
* Réponse exas Q6 : 2) & 5)
* Réponse exas Q7 : 1) & 3) & 6)
* Réponse exas Q8 : 33
* Réponse exas Q9 : 0b010101010101
* Réponse exas Q10 : 2) & 6) & 7)
 
=== Solus Exas session 2 ===
 
* Réponse exas Q1 : 3)
* Réponse exas Q2 : OUI
* Réponse exas Q3 : 1) & 4) & 5)
* Réponse exas Q4 : 1) & 4) & 5)
* Réponse exas Q5 : 4 000 000
* Réponse exas Q6 : 2) & 4) & 5)
* Réponse exas Q7 : 2) & 3) & 4)
* Réponse exas Q8 : 1) & 4) --> la solution 2 est admise comme correcte mais il subside un tout ?? A vos remarques
=== astuce ===
en cours de construction Regarder le champs discussion : https://fixme.ch/wiki/Talk:Coursera_Microcontroleur
== Liens utiles ==
=== liens : documentation PDF ===
=== liens: interne --> wiki ===
*[https://fixme.ch/wiki/Electro_docs page de composants utiliser sur les projets de Fixme]
*[https://fixme.ch/wiki/PIC Outils pour programmée des PICs]
*[https://fixme.ch/wiki/Explorer_16_DSPIC Quelques codes pour la carte Explorer]
*[https://fixme.ch/wiki/Extension_Explorer_16 Extension pour la carte de développement Explorer 16]
*[https://fixme.ch/wiki/OutilsProgMicroController Outils pour programmer des microcontroleurs]
*[https://fixme.ch/wiki/Langage_C Page présentant modestement le langage C]
*[https://fixme.ch/wiki/Presentation_Microcontroleur présentation Jean Daniel Nicoud - Ponte de la programmation sur uC - EPFL]
 
=== liens : documentation PDF ===
* [http://ww1.microchip.com/downloads/en/DeviceDoc/Explorer%2016%20User%20Guide%2051589a.pdf Doc PDF Carte Explorer 16]
* [http://ww1.microchip.com/downloads/en/DeviceDoc/70593d.pdf Doc PDF Datasheet DSPIC33FJxxx]
* [http://ww1.microchip.com/downloads/en/DeviceDoc/70186E.pdf Doc PDF Complément Datasheet --> Oscillateur]
* [http://www.didel.com/C/FichiersImportes.pdf Doc PDF pour l'importation de fichier sous Android]
* [http://www.bricobot.ch/kits/Miaou.pdf Doc PDF montrant le montage d'un nourrisseur de chat à distance]
=== liens : documentation Site Internet ===
* [https://www.coursera.org/epfl Lien sur les différents cours proposer par l'EPFL en ligne & ligne]
* [http://www.epsitec.ch/dauphin/ Simulateur de mini PC Daulphin]
 
* [http://www.arduino.cc/ Site de l'Arduino]
* [http://arduino.cc/en/Hacking/PinMapping168 Pining de l'ATMEGA328P]
* [http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024679 Site Microchip - détails sur le DSP]
* [http://fr.openclassrooms.com/informatique/cours/l-aleatoire-en-c-et-c-se-servir-de-rand-1 théorie sur le pseudo-aléatoire en C]
* [http://fr.wikipedia.org/wiki/C_(langage) Wiki sur le langage C - Rappel de la taille des types]
en cours de construction== Bibliographie ==
== Project Leader ==* [[UserLe langage C - Tony Zhang - CampusPress - ISBN:Philou]]* [[User:Nemen]]2-7440-1518-0 => livre de poche bien sympas pour se remémorer quelques notions de C (perdue), malgré certaines coquilles
== Autre ==* Pour ceux cherchant la facilité, regardez du côté de [[ArduBlock]]. La page est en cours anglais, mais en cas d'incompréhension, je peux sans problème la traduire dans la langue de construction Molière. Merci donc de contacter [[User:Pherjung]] pour toute question en rapport avec [[ArduBlock]].
== Participant ==
* [[User:usernamePhiloux]]* [[User:Nemen]]* [[User:Pherjung]]en cours de construction* you... :-D
952
edits