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 :

images/Montage_Horloge_Message_defilant_18F258_8_matrices.jpg

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

images/t_Mise_en_boite_Horloge_defilante_8matrices_V_2020.gif images/t_Horloge_8matrices_V_2020_jour.gif
sans la partie commande MCU mis en boite

images/t_Horloge_8matrices_V_2020_Heure.gifimages/t_Horloge_8matrices_V_2020_temp.gif






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 .

images/t_Modif_alim_8_max_V_Horloge_2022-1209.gif






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



paulfjujo@free.fr


../common/mylogo_CI.jpg


Retour à l'index general