Coursera Microcontroleur
Contents
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 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
- Carte ARDUINO UNO --> Microcontrôleur ATMEL ATMEGA3228P
- Carte EXPLORER 16 --> DSP MICROCHIP DSPic33FJ256GP710
- Carte LAUNCH PAD --> Microcontrôleur TEXAS INSTR MPS430
- Carte Starter KIT ETML-ES --> Microcontrôleur MICROCHIP PIC18F4520
- vos cartes...
Exercices - donnees
Exos libres
- 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
- Questionnaire semaine 1 : File:Questionnaire 1.pdf
- Questionnaire semaine 2 : File:Questionnaire 2.pdf
Solus de nos memmbres : Aperçu & Codes & Astuce
Solus 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
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
Regarder le champs discussion : https://fixme.ch/wiki/Talk:Coursera_Microcontroleur
Liens utiles
liens: interne --> wiki
- page de composants utiliser sur les projets de Fixme
- Outils pour programmée des PICs
- Quelques codes pour la carte Explorer
- Extension pour la carte de développement Explorer 16
- Outils pour programmer des microcontroleurs
- Page présentant modestement le langage C
- présentation Jean Daniel Nicoud - Ponte de la programmation sur uC - EPFL
liens : documentation PDF
- Doc PDF Carte Explorer 16
- Doc PDF Datasheet DSPIC33FJxxx
- Doc PDF Complément Datasheet --> Oscillateur
- Doc PDF pour l'importation de fichier sous Android
- Doc PDF montrant le montage d'un nourrisseur de chat à distance
liens : documentation Site Internet
- Lien sur les différents cours proposer par l'EPFL en ligne & ligne
- Simulateur de mini PC Daulphin
- Site de l'Arduino
- Pining de l'ATMEGA328P
- Site Microchip - détails sur le DSP
- théorie sur le pseudo-aléatoire en C
- Wiki sur le langage C - Rappel de la taille des types
Bibliographie
- Le langage C - Tony Zhang - CampusPress - ISBN: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 anglais, mais en cas d'incompréhension, je peux sans problème la traduire dans la langue de Molière. Merci donc de contacter User:Pherjung pour toute question en rapport avec ArduBlock.
Participant
- User:Philoux
- User:Nemen
- User:Pherjung
- you... :-D