Projet à microcontrôleur PIC 16F84A / 16F628A

Diapason pour guitare 6 cordes

Ce diapason permet de générer 7 notes :


Vidéo réalisée par Marc Paradis (version buzzer) :
http://www.youtube.com/watch?v=oSRbKADzRLw



N.B. Le son est meilleur avec un haut-parleur.


 

C'est le même principe que dans le projet "diapason électronique" qui permettait de générer un la1, la2 et la3.

A l'aide de l'interruption du module TMR0 en mode timer, le microcontrôleur génère une temporisation d'une durée correspondant à la demi-période de la note.

Ainsi, pour avoir un sol2 (195,998 Hz), la temporisation est égale à 12755 cycles d'horloge (avec un quartz de 20 MHz).

Un bouton poussoir permet de sélectionner la note, en balayant du mi1 au la3.

La note active est visualisée par une LED (sorties RB1 à RB7).

Le bouton poussoir utilise l'interruption RB0/INT sur front descendant.

L'interruption RB0/INT est prioritaire sur l'interruption TMR0.




N.B. On pourra remplacer le haut-parleur par un buzzer 5 volts (supprimer alors le condensateur C5).


 

Une mesure avec un fréquencemètre étalon (Agilent 34401A) a donné :

note
hauteur de la note (Hz)
fréquence mesurée (Hz)
mi1
82,407
82,415
la1
110
110,011
ré2
146,832
146,847
sol2
195,998
196,019
si2
246,942

246,960

mi3
329,628
329,671
la3
440
440,025

soit un écart inférieur à 0,02 %.

Cet écart dépend principalement de la tolérance sur la fréquence du quartz.

Il est très inférieur à la limite de résolution de l'oreille humaine.



Le code source a été écrit en langage assembleur avec l'environnement de développement gratuit MPLAB IDE de Microchip.

(C) Fabrice Sincère ; Révision 1.2.6