V.O: 2019
last rev : 09/12/2022
Affichage défilant sur 8 Matrices 8x8
avec MAX7219 , en
connectique Verticales !
1ere Version
de Test sur Matrices 8x8 V : avec PIC18F252 et DS1307 (2019)
Version
Speciale Horloge
defilante : réalisée avec PIC18F258 (2019)
Version Horloge defilante 8 matrices Verticales
+ date + temp. avec 18F26K22 (30/10/2020)
Revision Software Horloge 8
matrices Verticales 18F26K22 (21/05/2022)
Diminution du tems de boucle
complet : passé de 30sec à 13sec
Revision
Hardware Horloge 8 matrices Verticales 18F26K22 (09/12/2022)
* Remplacement DS1307 par DS3231
* Doublage des fils d'alimention du bloc de 8 Max7219
Rappel :
connections
bluetooth via BlueSoleil
Version de Test : PIC 18F252
Message Defilant sur 8 matrices 8x8
version : connections Verticales
Programme adapatée depuis la version PIC 18F26K22
ICI .
Montage Hardware idem ...
ce vieux MCU 18F252
possede moins de RAM et seulement 256 bytes EEPROM ( 1024 sur 18F26K22!)
Le SPI reste en SOFTWARE SPI pour la commande des MAX7219
La RTC DS1307 est sur le bus I2C1 hardware
Le capteur OWS DS18B20 sur l'entrée RA0
pas d'oscillateur interne => (oscillateur RC ..Boof!)
j'ai préféré l'utilisation d'un quartz ....Q=20MHz
Vcc=4.2V (et non 5V, pour reduire la consommation et luminosité)
schema minimal :
Reprise de la commande RTC DS1307 ,pour Weed Day en dernier
parametre
Necessité due au format de la Date avec Appinventor 2 ...
L'application Android renvoyant la date et heure du telephone ->
dans la RTC gérée par le PIC
sur BP "MAJ RTC"
Presentation :
Langage Mikroc V 7.60
MCU : 18F252
Directory : C:\_MikroC\_MesProjets_MikroC8F252_Msg_Defil_8_Matrices_V
Projet : Message_Defilant_8xMax7219_Matrices_V_18F252.mcppi
Source : Message_Defilant_8xMax7219_Matrices_V_18F252_2020_01.c
Config Bits P18F252_Q_20MHz.cfgsch
SPI1 Softw -> MAX7219, I2C1 HW -> DS1307, UART1 1900,8,N,1,
OWS->DS18B20
Power Supply 5V
EEPROM :..._EEPROM.ihex
8 Matrices 8x8 raccordement vertical HAUT vers Bas sur MAX7129
Saisir un nouveau Msg avec le terminal via Msg=
Clock initiale in =20000 Khz
Recup Parametres en Eeeprom PIC :
Speed=30
Rep=04
PLM=19:05
AnNeuf=21
Test reg. DS18B20
Family Code : 28 ID1= AA0D82381401 CRC= CD
Init SPI Software RC2 (SCK), RC1 (SDO,) et RC0 (CS)
Clear Matrice 8x 8x8
Init I2C2 (RC3=SCL et RC4=SDA )400Khz
Init RTC DS1307
Re-Lecture RTC
DS1307 Date : 04-01-20 Time: 15:55:01
Display <01234567> sur 8 matrices Leds
Cpt= 0
Date &t1 Now = 04-01-20 15:55:31 1578153331
Date &T2 = 1609459200
Difference = 31305869 soit => 45197 -> 8696 Heures
18.68°C
Le nombre d'heures est le decompte en heures jusqu'u jour de l'AN
2021
avec affichage special , 5 Minutes avant l'echeance..
Par defaut on affiche la Date,heure et temperature capteur DS18B20
On peut envoyer un message qui sera repété Rep fois..
MAJ RTC DS1307 via commande manuelle clavier ou via appli Android
SOFTWARE :
mikroC 7.60
Message_Defilant_8xMax7219_Matrices_V_18F252_2020.zip
Message_Defilant_8xMax7219_Matrices_V_18F252.hex
Message_Defilant_8xMax7219_Matrices_V_18F252_2020_01_04.c
Message_Defilant_8xMax7219_Matrices_V_18F252_Eeprom.ihex
Version avec PIC18F258
HARDWARE :
Prototype de tests :
Matrices à connections
Verticales !
Circuit Imprimé pour les tests : BASE 18F PDIP28
RTC DS1307 et HC05 bluetooth
alim DC/DC pour reduire le 5V à 3,8V
![]() |
![]() |
avec Batterie CR2016 ... 3,45V !
Connecteur ICSP pins males (logé sous l'ensemble
des matrices leds)
* nota: si connection Pickit3 recalcitrante , abaisser la tension
d'alim à 3,3V au lieu de 5V
Pin 1 ----- Noir ---- 3 ICSP Gnd , 0V
Pin 2 ----- Violet ----2 ICSP VDD
Pin 3 ----- Orange -- 1 ICSP VPP
Pin 4 -----Bleu ----- 4 ICSP Data
Pin 5 ---- Blanc ---- 5 ICSP Clock
Connecteur gauche Matrices <- >PIC:
Pin1 Orange = +Alim
Pin 2 Bleu = 0V (Gnd)
Pin 3 Jaune= Din-------- RC1
Pin 4 Orange= CS ------ RC0
Pin 5 Vert = Clock ----- RC2
module alim à decoupage pour passer de Bloc secteur USB 5V 1A ->
3,8V
Module HC05
Name : HC05_4180V (pastille Verte)
adresse Mac: 98:D3:51:F9:41:80
Petits deboires avec la pile CR2016 ..qui se mettait en
courcircuit à cause d'un defaut du support de pile
il faut une CR2016 sur ce module DS1307
ancien ( une CR2032 est trop epaisse!)
Recup Parametres en Eeeprom PIC :
Speed=95 | parametre de 1 à 99 pour la vitesse défilement |
Rep=04 | nombre de repetition d'un message emis |
PLM=22 : 05 | Plage Horaire de Luminosité Minimale |
AnNeuf=22 | Date du futur nouvele An 20xx (ici 2021) |
Lum=02 | valeur de la luminosité de Jour 01 à 14 |
le capteur temperature est bien reconnu ..
Test reg. DS18B20
Family Code : 28 ID1= AA7695411401 CRC= 0F
l'init de la liaison SPI aux 1er Max7219 , afficheur #1 à gauche
..#8 à droite
Nota: L'alim. des Max7219 + Matrices est prise en amont de l'alim
MCU
Init SPI Software RC2 (SCK), RC1 (SDO,) et
RC0 (CS)
Clear Matrice 8x 8x8
Init I2C2 (RC3=SCL et RC4=SDA )100Khz
Init RTC DS1307
Re-Lecture RTC
DS1307 Date : 13/01/20 Time: 18:55:58
Display <01234567> sur 8 matrices
Leds
Luminosité Minimale
Test special :
Luminosité Croissante de la gauche vers la droite : 15,14,11,8,6,3,2,0
Cpt= 0 ;13/01/20;18:56:22; 18.12°C
à noter que le 1er parametre (d'une commande
globale SPI pour 8 matrices ) concerne le dernier digit
à droite.
principe du chainage de module -> pile FILO .. First IN ..last
OUT
Remise à l'heure RTC, via application Android ..&
BlueTooth
Touche MAJRTC sur
appli Appinventor2 ou via clavier
Cpt= 11 ;01/01/20;10:11:40; 18.31°C
Cpt= 12 ;01/01/20;10:12:10; 18.31°C
U;13;01;20;17;58;02;#
Ecriture dans DS1307... OK
RTC UpDated
New DS1307 Date :13/01/20 New Time: 17:58:00
Rappel des commandes possibles
Help
<Help> cette aide !
<Msg=> L maxi=120 cars
<Reset> Re-Init afficheurs MAX7219
<TEMP_ON> Affiche la Temp. DS18B20
<TEMP_OFF> Enleve Affichage DS18B20
<Speed=30> Vitesse defilement :valeur de 10 à 99
<Lum=04> Luminosité Maxi 02 à 14
<Eeprom=2> Message en eeprom de 32 cars ,avec indice 1 à 6
<PLM=18:06> Plage Luminosité Minimale
<Rep=01> Repetition Message 01 à 10
<AnNeuf=21> Nouvel AN = 2000+
AnNeuf 21 à 98
<U;04;06;19;20;59;04#> ou ...04;#> Maj de la RTC U;JJ;MM;AA;HH;MM;JS#
<Demo> affiche tous les messages en EEPROM PIC
Exemple d'envoi d'un message sur Horloge
Numerique via un module HC05 MAITRE
+ terminal PC
Hardware :
mini interface USB/TTL 5Vou 3,3V USBSerial CHG340
Ne peut pas etre utilisé en 3,3V ,car le module HC05 demande +5V
!!
mais niveaux en 3,3V !
donc , protection pins RX et EN .
DTR USB CH340G --------> R =1K -----> EN HC05 et R=2,2K
vers Gnd
TX USB CH340G --> relié via R=2,7K à -->RX HC05
RX USB CH340G <--- relié direct <-------- TX HC05
test du HC05 avec terminal YAT à 9600bds ...avec Bouton Poussoir HC05 Maintenu
appuyé!
modif vitesse HC05:
AT+UART=115200,0,0
OK
modif vitesse terminal YAT 9600-> 115200
passage HC05 en MAITRE
AT+ROLE=1
OK
Association de l'esclave
Mini HORLOGE 4 Matrices H 18F26K22 at 00:18:E4:40:00:06
AT+BIND=0018,E4,400006
OK
Le HC05 se connect automatiqement
le terminal affiche
Mes1?
Mes1?
Mes1?
Mes1?
données en provenance de
SOFTWARE :
derniere MAJ 23/05/2020
*correctif sur Jour Semaine
Horloge_Message_Defilant_8xMax7219_Matrices_V_18F258_2020_05_23.zip
source mikroC : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F258_2020_05_23.c
chargeur : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F258_2020_05_23.hex
Eeprom : Message_Defilant_8xMax7219_Matrices_V_18F258_Eeprom.ihex
config : P18F258_Q_20MHz.cfgsch
Video:
prototype : Horloge_Message_defilant_8_Matrices_V_2020.webm
Mise en boite :
17/02/2020
Préparation via image de synthese, voir : RAY/ray.htm#Horloge_8matrices_V
La réalité :
dimensions hors tout : 390x98x52
plexiglass 390x98x4mm
Revision Software Horloge 18F26K22 avec 8
matrices V (21/05/2022)
But : Diminution de la
duree du cycle d'affichage .. moins attendre , pour VOIR L'essentiel
! l'affichage de l'heure
* raccourcissement libellée des Jours et des Mois
* enlevé l'année 2022
*augmenté la vitesse : Speed=01 à 99
rappel : 99 => delay ms de (100-Speed) soit 1mS entre chaque
pixel horizontal
La Boucle s'effectue en : * delay fixe de 500mS + durée
execution du programme + (100 - Speed value) mS
* Le delay de 500ms permet de capturer plus facilement un message
provenant de l'UART, sans perturber l'affichage
durée Boucle complete passée ainsi de presque 30sec.. à 13 sec.
Projet :
zip:
_Horloge_defilante_8_matrices_Verticales_18F26K22_2022-05.zip
Source : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F26k22_Fosc_Interne_64MHz_2022_0521.c
Chargeur : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F26k22_Fosc_interne_64Mhz_2022-05.hex
Eeprom : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F26k22_2022-05_EEPROM.ihex
Config : Horloge_Message_Defilant_8xMax7219_Matrices_V_18F26k22_Fosc_interne_64Mhz_2022-05.cfg
nota :
mon vieux PICKIT 3 ne permet la programmation de mes 18F26K22 qu'avec
VCC <3,3V
(pas de probleme avec un Pickit4 et Vcc=5V)
La RTC et LE HC05 ne fonctionnent qu'à partir de 3,6V
Alim Horloge =5V depuis un module USB 230V/5V 2 A .. mais
consommation <60mA en regime établi
La partie 8 Afficheurs MAX7219 est alimentée via le +5V et 2
diodes 1N4007 chutrices
Trop for appel de courant sous 5V , en cas d'allumage complet des
8 matrices !
niveau de lumiere Lum=02 ... Tres, Trop lumineux au delà de 10
Renomage du module BT : "Horloge_8V"
Modifs hardware
du 08/08/2022 et du 08 /12/2022
08/08/2022
remplacement RTC DS1307 par DS3231
car trop de derive de l'heure dans le temps
Nota : pas de modif soft de cette
horloge ! (prévue pour DS1307)
Mais préparation préalable de la DS3231 ( avant installation
dans HORLOGE 8V )
.. preinitialisée au 8/08/2022 14H00 + sortie QSWE 1Hz
Nota : module trop HAUT ( 1cm de plus que DS1307 !)=> mis la
carte en diagonale
pour faire entrer la DS3231 verticale
Remise à l'heure via mon appli android BlueTooth MAJ RTC ->
OK
08/12/2022
Doublage fils Alimentations du bloc de 8
Max7219
Suite au Constat suivant :
Baisse de luminosité sur les MAX de Droite , à cause TAmb<17°C
L'ensemble était alimenté par le coté Gauche, à partir du 5V
alim secteur USB , via 2 diodes 1N4007 en serie
pour diminuer la tension Vcc Gnd (mesuré 3,8V
en charge)
sur le 1er Max et 2,9V sur le
dernier MAX!
Nota : Avec 5V direct , trop de probleme dùs à la consommation
excessive des afficheurs .. même au réglage mini de luminosité..
Rappel :
ce modele (Ancien) de matrice à connections verticales impose
globament de tres longues connections ..
donc à exclure pour tout
nouveau projet.
Rajout de 2 liaisons d'alimentation (section 0.8mm2),
entre 0V et +V de l'entrée du 1er MAX et la sortie du dernier (8em)
MAX
L'eclairement des matrices est maintenant uniforme .
Rappel connection via BlueSoleil à
Terminal PC YAT
Bluesoleil fait le lien bluetooth entre
la Cle BlueTooth APM ou clé Konig sur PC ))) ....... ((( HC05
sur PIC UART
(faux HC05=HC06)
via le service port serie.
Nota:
il faut autoriser aussi BlueSoleil dans NORTON (parre-feu) et
valider aussi les "services BT"
![]() |
![]() |
Vue d'ensemble de tous les peripheriques BlueTooth vu par BlueSoleil | liste des peripheriques ayant déja été reconnus,connectés... |
Le HC05_4180V est celui du monrtage Horloge defilante 8
matrices V
Le port COM11 virtuel est utilisé pour connecter le terminal YAT
Video :
(apres mide en boite) : Horloge_8matrices_V_2020.webm
nota : le filtre marron inrtercalé entre les matrices et le
plexiglass est strié/quadrillé sembllait occasionner des effest
indesirables d'optique
avec le defilement pixel par pixel ....je l'ai remplacé ensuite
par un autre filtre SANS quadrillage, LISSE ...
Questionement :
peindre le boitier en Noir .?.
cacher aussi la partie electronique ?
on voit bien les rouages dans certaines Pendule Franche Comtoises
!
on peut voir aussi le clignotement du HC05 si le bluetooth n'est
pas activé
la led s'eteint, si connection Bluetooth active.
Nota : si vous commandez des
modules Bluetooth HC05 ou HC06 , veillez à ce qu'ils n'aient pas
la meme adresse MAC
c'est problematique .. ( dans mon cas, ayant 3 horloges avec
modules HC06 et meme @ Mac, pour le changement heure ete / hiver)
il n'y a malheureusement pas de commande Broadcast ( pour tous
les module à la fois)
..si c'etait à refaire ?
usage d'un ESP01 + PIC
ou d'un ESP32 .. pour mise à l'heure via Internet ..
A suivre :
adaptation de l' application Appinventor2 Horloge pour android
rescents >8.0 ??
Retour à l'index general