Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Les afficheurs pilotés par TM1637


Les afficheurs pilotés par TM1637 sont une alternative aux afficheurs MAX7219.
On trouve sur eBay des afficheurs 4 digits horaires pour moins de deux euros.
On trouve aussi très facilement des modules Grove.
Cet afficheur trouve sa place dans toutes les applications de comptage horaire, chronomètres, minuteries, et toutes les applications de comptage en général

 Grove ou sur eBay, ce sont les mêmes:


Le TM1637:
La seule doc disponible est ICI . Comme vous pouvez le voir, ça aide....très peu.
Màj 13/06/17. Ben non, c'est pas la seule, et si vous n'avez pas fait chinois en première langue, Maurice m'a communiqué une version anglaise que voici:


Heureusement, GM39 (acteur sur le forum Picaxe français), a traduit les routines en C, et ce qui suit est surtout le fruit de son travail.

Voici ce que j'en déduis, si vous voyez des erreurs, merci de me les communiquer.

Le TM1637 est un driver d'afficheur de 1 à 6 digits destiné (principalement) à équiper des équipements électroménagers.
Il est commandé par des poussoirs ou par µC (ici un picaxe).
Le pilotage par µC se fait par deux liaisons (sorte de 12C sans adresse):
Une liaison horloge : CLK
Une liaison E/S : DIO

Explication (personnelle):
Les données sont constituées d'octets. Il n'y a pas de table de caractères (comme dans le max7219). Les octets de données sont donc la description  des segments du caractère à afficher, on peut écrire tout caractère affichable avec 7 segments.
Chaque caractère devra être décrit dans une table de correspondance.

Les octets transmis sont normalement encadrés par deux balises ( séquences particulières des niveaux CLK et DIO).
La basise START annonce une séquence.
La balise STOP ferme la séquence

 

Le TM1637 répond par un signal d'accusé de réception ACK (acknowledge) en maintenant DIO au niveau bas. Lorsque le niveau repasse haut, il est prêt pour un nouvel envoi.
On retrouve ces fonctions dans les sous programmes des applications ci dessous.

Les commandes:
Les  trois commandes utilisent les deux bits de poids fort (B7 et B6) de l'octet.

 
 - Le mode de controle de l'affichage (B7=0 ; B6=1)
Mon niveau de chinois ne m'a pas permis de rentrer dans les détails.

$40 (01000000) définit l'adressage avec incrémentation automatique.
Dans ce mode, on envoie les octets de données (chiffre à afficher) en séquences, sans balise, le TM1637 envoie un ACK à la fin de chaque octet
C'est le mode par défaut, qu'il n'est pas utile de préciser.

$44 (01001000) définit l'adressage fixe. (non testé)

 
- L'adresse de départ (B7=1 ; B6=1)
Définit le digit intéressé ou le premier digit de la séquence de l'incrémentation automatique.
 
De : 11000000 = $C0 pour le premier digit (digit n° 0)
A  : 11000101 = $C5 pour le dernier (digit n° 5)

 
Les autres notations sont ignorées
Ex: En incrémentation automatique, il faut synchroniser le début chaque séquence avec le premier digit de l'afficheur.

- Le niveau de luminosité (B7=1 ; B6=0)
Définit le niveau de luminosité de l'afficheur en 8 paliers et éventuellement  l'éteint.


Résumé des commandes:
$80 éteint l'afficheur.
de $88 à $8F, allumage de l'afficheur sur 8 niveaux selon les valeurs du tableau ci-dessus.

 

Définition des caractères:
Sur le picaxe, la table de conversion fera appel à une commande "lookup" ,  "readtable", ou logée en EEPROM.
La commande lookup est disponible sur tous les picaxes et l'EEPROM est laissée libre pour d'autres utilisations, le lookup est la solution choisie pour l'application  minuterie ci-dessous.

La numérotation des segments:
Dans un octet, chaque bit représente un segment. Si un bit est à 1, le segment correspondant est allumé.

Les deux points centraux sont le 8ème segment du digit n°2.

Ex: description du chiffre 3
Il faut allumer les segments : a, b, c, d, g

 
L'octet du chiffre 3 est donc %01001111

Dans le programme, la table de conversion est une commande "lookup"

lookup  chiffre, (%00111111, %00000110, %010110011, %01001111), octet

Le premier octet représente le chiffre 0. Pour chiffre 3, lookup prend le 4ème octet de la liste et le place dans la variable "octet".
Les octets peuvent être écrits en hexadécimal ou en décimal, c'est plus court.


Résultat:
Voir la vidéo de l'application complète, avec mémorisation sur la page de la minuterie ICI
Une autre application: le chronomètre longue durée, jusqu'à 99h:59mn
 
 

Application complète, minuterie pour insoleuse

La minuterie alimente des modules électroniques pour lampes fluocompactes de 15 ou 8 Watts, suivant les tubes UV utilisés (mais choisissez plutôt des 15 W). Voir une insoleuse ici

Le schéma:

Le typon:
Le circuit tient sur une plaque de 10 cm x 4 cm
Alimentation traditionnelle par transfo et fusible, plus sécure que l'alimentation par condensateur, une récupération de circuit de bloc secteur à découpage est aussi possible.
 

 



Créé avec Créer un site
Créer un site