== But ==
Ayant à disposition pour une durée indéterminée cette board, le but est de pouvoir mettre en pratique de la programmation en Csur microcontrôleur (uC), comme et ainsi de pouvoir :
* lecture de Swicths lire des switchs (ON/OFF -> Etat logique : 1/0) * commande de Ledsalimenter des leds (enfin plutôt les allumer ou les éteindre)* commande afficheur 2x 16 caractère afficher un message sur un écran LCD 2x16 caractères * lecture lire la tension sur un potentiomètre (utilisation d'un convertisseur AD --> analogique numérique) * mise en place utilisation de bus de communication --> liaison série (I2C - SPI - RS232)* mise en place connexion de module externe
* ...
[[File:Explorer_16.jpg ]]
en cours de construction
== Composants ==
en cours * Board Explorer 16 avec DSPIC 33FJ256GP710A* Émulateur / Debugger : ICD 3* IDE (environnement de constructiondéveloppement) : MPLAB* Compilateur C pour de chez Microchip C32 * Alimentation externe 12V
== Descriptions codes Aperçu & résultats Codes & Astuce ===== Aperçu === ==== Clignotement Leds - Programme 1 à 4 ====programme 1 : Faire clignoter une led toutes les 0.5s --> 2Hz.
=== description === programme 2 : comme pour le principe du chenillard, on veut faire déplacer le clignotement de la led (toujours à 2hz)sur une autre, mais manuellement, pour cela on utilise le switch S3. Dans le code, on pourra voir la notion très basique de l'anti-rebond
en cours programme 3 : On reprend la notion de constructionchenillard manuel, mais là le désire c'est d'aller dans l'autre sens - donc que l'utilisateur ait le choix de faire clignoter la led de gauche ou la led de droit par rapport à led de basse qui clignote toujours à 2Hz
=== code programme 4 : ===On reprend la base du '''programme 2''', mais ici on va implémenter un mécanisme d'antirepond, c'est-à-dire que l'on veut garantir si la touche est bien pressée ; car un switch à lamelle a des effets "indésirable" du à l'aspect mécanique de la structure de celui-ci (voir explication --> antirepond : '''en construction''')
[[File==== Affichage & ADC :Main.c]]code ====
en cours de constructionprogramme 4 : désire simplement afficher un message sur l'affichage LCD 2x16
programme 5 : afficher un message "Exemple : FIXME" + l'information venant du convertisseur ADC du DSPic
=== code ===
==== Clignotement Led : code ====
programme 1 --> [[File:Main.c]]
programme 2 --> [[File:Main_cligno_led_VB.c]]
programme 3 --> [[File:Main_Led_Cligno_AR_V1.c]]
programme 4 --> [[File:Main_antirebond.c]] & [[File:Antirebond.h.c]] & [[File:Anti_rebond_v01.c]]
==== Affichage & ADC : code ====
programme 5 --> [[File:Main_affichage_simple.c]]
programme 6 --> [[File:Main_ADC.c]]
=== astuce ===
==== Clignotement Led ====
'''WARNING''' :
Pour la partie Timer1, le bit TCS (Timer Clock Source)du registre T1CON doit être placé à 0, ce qui permet d'utiliser la fréquence interne (FCY) que l'on configure dans la partie oscillateur.
Pour ce premier programme, j'ai voulu utiliser pour la fréquence interne la même fréquence du Quart, soit FCY = 8MHz. Voir ci-dessous, le calcul pour déterminer différents paramètres.
Calcul permettant de déterminer les valeurs de bits pour M, N1, N2 (voir page 150 du datasheet):
--> voir image [[:File:Calcul_oscill.jpg]]
On choisit des valeurs pour N1 et N2 et il n'y plus qu'à calculer la valeur pour M
==== Affichage & ADC ====
'''WARNING''' --> pour afficher des caractères, utilisation du header file lcd.h (fournit sur le site de microchip)
== Liens utiles ==
=== liens : documentation PDF ===* [http://ww1.microchip.com/downloads/en cours de construction /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]
== Project Leader = liens : documentation Site Internet ===* [[Userhttp:Philou]//www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024679 Site Microchip - détails sur le DSP]
en cours === liens : lien pour achat board additionnel ===* [http://ch.farnell.com/microchip/ac164126/pictail-plus-prototype-carte-fille/dp/1439835 Carte fille de construction prototypage pour carte Explorer 16]
== Participant ==
* [[User:username]]
en cours de construction
== Participant ==
* [[User:Philoux]]
* you !!??!!