Difference between revisions of "Coursera Microcontroleur"

From Fixme.ch
Jump to: navigation, search
(Solus Exos session 3)
(liens: interne --> wiki)
 
(26 intermediate revisions by 3 users not shown)
Line 23: Line 23:
 
* Exercices libres semaine 2 : [[File:Exos 2.pdf‎ ]]
 
* Exercices libres semaine 2 : [[File:Exos 2.pdf‎ ]]
 
* Exercices libres semaine 3 : [[File:Exos 3.pdf ]]
 
* Exercices libres semaine 3 : [[File:Exos 3.pdf ]]
 +
* Exercices libres semaine 4 : [[File:Exos 4.pdf ]]
  
 
=== Exas ===
 
=== Exas ===
Line 79: Line 80:
 
* Réponse exos 3.4 :  
 
* 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)
 
                   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 ===
 
=== Solus Exas session 1 ===
Line 114: Line 146:
 
*[https://fixme.ch/wiki/PIC Outils pour programmée des PICs]
 
*[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/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 ===
 
=== liens : documentation PDF ===
Line 119: Line 155:
 
* [http://ww1.microchip.com/downloads/en/DeviceDoc/70593d.pdf Doc PDF Datasheet DSPIC33FJxxx]
 
* [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://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 ===
 
=== liens : documentation Site Internet ===
Line 126: Line 164:
 
* [http://arduino.cc/en/Hacking/PinMapping168 Pining de l'ATMEGA328P]
 
* [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://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]
  
 
== Bibliographie ==
 
== 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
 
* 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 ==
 
== Participant ==
 
* [[User:Philoux]]
 
* [[User:Philoux]]
 
* [[User:Nemen]]
 
* [[User:Nemen]]
 +
* [[User:Pherjung]]
 
* you... :-D
 
* you... :-D

Latest revision as of 11:47, 6 November 2023


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...

Explorer 16.jpg - cartes électroniques

Exercices - donnees

Exos libres

Exas

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

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

Regarder le champs discussion : https://fixme.ch/wiki/Talk:Coursera_Microcontroleur

Liens utiles

liens: interne --> wiki

liens : documentation PDF

liens : documentation Site Internet

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