Notes d'applications pour Cubloc

Notes d'applications pour les CUBLOC 

Afin de vous aider à vous initier et à développer encore plus rapidement avec les modules CUBLOC™ et pour vous donner une idée de leur potentiel, vous trouverez ci-dessous une sélection complète de notes d'applications EN FRANCAIS (les réalisations concernent aussi bien le domaine ludique, la robotique, la mesure, que le domaine professionnel).  
   
     
Notes d'application CUBLOC


Liste des notes d'applications


New         - Réalisation d'un "classique du jeu vidéo" 
                   Petite vidéo de l'application     Autre vidéo de l'application

Note #47 
 - Pilotez un module infrarouge de suivie de ligne "I2CLF"
 
Note #46  - Réalisation d'un jeu vidéo type "Serpent" avec une matrice à Leds multicolores
                    Petite vidéo de l'application     
  
Note #45  - Réalisation d'un jeu vidéo type "casse briques" 
                    Petite vidéo de l'application     Autre vidéo de l'application
    
Note #44  - Ajoutez une connexion Bluetooth™ à votre module CUBLOC 

Note #43  - Ajoutez une connexion Wifi à votre module CUBLOC 

Note #42  - Réalisation d'un robot ludique télémétrique "Circular-Bot"  
                    Petite vidéo de l'application     
   
Note #41  - Réalisation d'une télécommande "GSM" expérimentale 

Note #40  - Réalisation d'un robot "marcheur" 
                    Petite vidéo de l'application     
    
Note #39  - Pilotage d'un module "uMP3" pour restitution de fichier MP3 

Note #38  - Expérimentation d'un transmetteur d'alarme "GSM" 

Note #37  - Pilotage d'une base robotique "DS-X4" avec un CB220 

Note #36  - Décodage de trames "GPS" avec un CUBLOC 

Note #35  - Interfaçage avec un modem radio ZigBee™ "XBee™" 

Note #34  - Utilisez un "CB220" sur une platine PICBASIC "PBStudy Board" 

Note #33  - Pilotage d'un petit moteur "cc" à l'aide d'un circuit "LB1630" 

Note #32  - Interfaçage avec un modem radio FHSS "X24-009" 

Note #31  - Interfaçage avec un module ultrason "MS-EZ1" 

Note #30  - Interfaçage avec un accéléromètre 2 axes "Accel" 

Note #29  - Gestion d'une matrice à Led à commandes séries "EFN" 

Note #28  - Utilisez un afficheur LCD 4 x 20 en LCD graphique 100 x 32 

Note #27  - Utilisation d'un afficheur LCD 128 x 128 couleur "Micro-LCD"  

Note #26  - Utilisation d'une base robotique "Araignée" 
                    Petite vidéo de l'application     
  
Note #25  - Utilisation d'une base robotique "Rogue Blue" 
                    Petite vidéo de l'application     
  
Note #24  - Interfaçage avec un afficheur LCD "Demmel products" 

Note #23  - Interfaçage avec un module horloge temps réel "RTCBoard"  

Note #22  - Interfaçage avec un module de gestion de servos "SMCPRO" 

Note #21  - Interfaçage avec modules télémètres SRF10 et SRF235 

Note #20  - Pilotage de 2 servomoteurs via des signaux "PWM" 

Note #19  - Expérimentations avec différents types de capteurs 

Note #18  - Interfaçage avec module de gestion de moteurs 'cc' "MD-22" 

Note #17  - Interfaçage avec module de gestion de souris "ezMOUSE" 

Note #16  - Interfaçage modules de gestion moteurs 'cc' "MCM1/MCM2" 

Note #15  - Interfaçage avec un module de gestion de servos "SSC03A" 

Note #14  - Mise en oeuvre d'un module RFID "UM005" 

Note #13  - Interfaçage avec un module de gestion de clavier "ezKEY" 

Note #12  - Configuration d'un modem radio "TDL2A-433-9" 

Note #11  - Gestion d'un modem radio "TDL2A-433-9" 

Note #10  - Réalisation d'un mini jeu vidéo "CUBLOC ATTACK" 

Note #9    - Gestion d'un capteur thermique "MTP81" 

Note #8    - Gestion d'un module synthétiseur vocal "SP03"  

Note #7    - Gestion d'un afficheur LCD graphique "ezDISPLAY" 

Note #6    - Gestion d'un module boussole électronique "CMP03" 

Note #5    - Gestion d'un module sonar à ultrason SRF08 

Note #4    - Gestion d'un clavier matricé 4 x 4 

Note #3    - Gestion d'un capteur FSR (application gradateur + ON/OFF) 

Note #2    - Lecture de 10 boutons-poussoirs via une entrée 

Note #1    - Bargraph de précision sur écran LCD à commande I2C™
 
 

Notes d'applications pour "CB210" (Part 1) 

Afin de vous aider à vous initier et à développer encore plus rapidement avec le module CUBLOC "CB210" et pour vous donner une idée de son potentiel, vous trouverez ci-dessous une sélection complète de notes d'applications (les réalisations concernent aussi bien le domaine ludique, la robotique, la mesure, le domaine professionnel...).
 
 

APPLICATION # 4
Horloge / Thermomètre / Datalogger

Présentation:
Cette application montre comment s'interfacer avec un capteur de température "TMP36" afin de réaliser un thermomètre avec fonction datalogger sur écran graphique.


Matériel nécessaire:

- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 capteur de température "TMP-36" (réf.: SEN-10988)
- Afficheur graphique 128 x 64 pixels (réf.: GHA-126A)


Câblage de l'application:
  

Montage APP4

Description du programme:

Ce programme va afficher la température ambiante ainsi que l'heure sur un écran graphique (lequel est spécialement conçu pour les modules "CUBLOC"). L'écran va également afficher une représentation graphique de l'évolution de la température en temps réel (toutes les secondes).

Concernant l'heure, à ce jour seul les modules CUBLOC "CB290" et "CB405RT" intègrent une "vraie" horloge temps réelle (bénéficiant d'une stabilisation très précise grâce à l'utilisation d'un composant dédié embarqué). Il est toutefois possible d'utiliser les timers Internes des autres modules CUBLOC (y compris le "CB210") afin de disposer d'une fonction horloge (laquelle sera néanmoins un peu moins précise (prévoir une dérive possible < 1% par 24 h) ... mais laquelle sera suffisante dans de nombreux cas. C'est cette solution que nous avons retenue. Il sera toutefois nécessaire de tester cycliquement la valeur du registre des heures afin de le remettre à zéro lors du passage au delà des 24h.

Concernant la mesure de température, nous avons utilisé un capteur de type "TMP36", lequel délivre une tension dont la variation est proportionelle à la température (10 mV / °C). Cette variation étant très faible, il en résulte que le capteur est très sensible à toutes perturbations électriques et radioélectriques externes (les valeurs retournées seront alors fausées ou fluctuantes). Il conviendra donc de câbler ce dernier au plus près du CB210 (et si possible d'utiliser un condensateur de découplage additionnel - non présent dans notre note d'application). La tension en sortie du capteur est calculable via la formule: Tension = (Temp/100) + 0,5. On en déduit que la température mesurée sera Temp = (Tension - 0,5) x 100. Notre programme va calculer la tension issue de l'entrée de conversion "A/N" du "CB210" en prenant en compte que 1 unitée retournée par le convertisseur "A/N" correspondra à une tension de 5/1023 V (5 étant la tension de référence du convertisseur et 1023 la résolution de conversion du convertisseur). Nous avons arrondi cette valeur à 0.004882 et l'avons appliquée dans la formule donnée ci-avant.


Ecran


Le programme va ensuite (environ toutes les secondes) afficher la variation de la valeur de la température sur un axe horizontal (le positionnement du pixel correspondant à la valeur de la température). Lorsque la courbe arrive complètement à droite de l'écran, l'affichage est réitinialisé pour qu'une nouvelle courbe puisse être tracée.


Code source:


'###############################################################
' Datalogger temperature a base de TMP36
' @Lextronic 2012 - 11/06/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################

Const Device = CB210 ' Initialisation de modele de Cubloc

Dim TMP36 As Integer ' Registre recuperation entre analogique
Dim Temperature As Single ' Registre calcul temperature
Dim x As Byte ' Registre position courbe

Delay 300 ' Tempo RAZ mise sous tension
Set Display 1, 0, 0, 50 ' Declaration afficheur
Delay 300
Light 1 ' Activation retroeclairage
Delay 100
Font 1,1 ' Selection grand caracteres
Timeset 10,00 ' Initialise les secondes a 0
Timeset 11,00 ' Initialise les minutes a 0
Timeset 12,10 ' Initialise l'heure a 10
Gosub RazEcran ' Presentation de l ecran

Do
TMP36 = Tadin (0) ' Recupere tension du TMP36
Temperature = ((TMP36 * 0.004882)-0.50)*100 ' Calcule la temperature
TMP36 = Temperature ' Transfert Registre Single -> Integer
If Time(12)=24 Then Timeset 12,00 ' Passage 23h59 a 00h00
Locate 0,0 ' Affiche la temperature
Print dec02 TMP36
Locate 11,0 ' Afficheur heure et minute
Print Dp(Time(12),2,1),":",Dp(Time(11),2,1)
Delay 1000
Pset x, 62 - TMP36 ' Place un point sur le graphe
x = x + 1 ' Incremente coordonnee du graphe
If x = 128 Then Gosub RazEcran ' Si on arrive au bout du gaphe -> RAZ ecran
Loop

RazEcran: ' Initialise l ecran
Cls ' Efface l'ecran
Delay 300
Locate 3,0 ' Affiche le C de Celcius
Print "C"
Line 0, 63, 127, 63 ' Trace axe x
Line 0, 28, 0, 63 ' Trace axe y
x = 1 ' Initialise coordonee courbe
Delay 500
Return
 
    

APPLICATION # 3
Réalisation d'une station météo expérimentale

Présentation:
Cette application montre comment gérer un capteur météo (SEN-08942) afin de pouvoir afficher une représentation de la vitesse du vent, du niveau de pluviométrie et de la direction du vent sur un afficheur LCD 2 x 16 caractères. Un bouton-poussoir permet d'afficher successivement ces 3 informations à l'écran.


Matériel nécessaire:

- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 ensemble capteur météo (réf.: SEN-08942)
- 4 résistances de 10 Kohms - code couleur: marron - noir - orange (réf.: R)
- 1 bouton-poussoir (réf.: KRS0615)
- 1 afficheur LCD 2 x 16 lignes (réf.: CLCD162-BL)
- En option: 3 x interfaces RJ45 (réf.: BOB-00193) + 3 x connecteurs femelles (réf.: BTWF6)


Câblage de l'application:

* ATTENTION * Les capteurs de la station météo devront être reliés au plus près du module "CB210" afin de ne pas ramener de perturbation sur les entrées de ce dernier. Les commutateurs Dils de l'afficheur devront être tous sur la position "OFF" (sauf le DIL N°3). Les interfaces BOB-00193 et les connecteurs BTWF6 (voir ci-dessus) sont optionnels (ils vous permettrons de récupérer les signaux des prises RJ45 sur des fils).

 

Station Météo

Description du programme:

L'anémomètre génère la femeture cyclique d'un contact lors de sa rotation. Ce dernier est câblé entre la masse et l'entrée 0 du "CB210" (avec une résistance de tirage au +5V afin de pouvoir récupérer son signal). Le programme va détecter le front descendant du signal, puis décrémenter un compteur dont la valeur sera affichée sous la forme d'un bargraph lors de la détection du front montant du signal. Plus la vitesse de rotation sera important, moins le compteur aura le temps de diminuer et plus sa valeur sera importante (donc plus le bargraph sera "long").

Le bargraph utilisé permet d'afficher une représentation de la vitesse avec une résolution horizontale de 80 segments sur une ligne d'un afficheur LCD (ceci est possible grâce à une redéfinition de caractères - le principe de fonctionnement de ce bargraph est expliqué dans une note d'application précédente).

Le programme gère les cas de figure dans lesquels la durée de l'impulsion (de niveau logique haut ou bas) de l'anémomètre est trop longue (afin que les boucles d'attente des fronts montant et descendant ne bloquent pas l'affichage du bargraph).

Le programme vérifie également l'appui sur le bouton-poussoir (relié sur l'entrée 3 du "CB210"). A chaque sollicitation, le mode d'affichage basculera sur l'afichage des données de l'anémomètre, puis du pluviomètre, puis de la girouette, pour revenir à l'anémomètre... et ainsi de suite.

 Ecran LCD


Le pluviomètre génère également la femeture impulsionnelle d'un contact à chaque remplissage complet de son godet. Ce dernier est câblé entre la masse et l'entrée 1 du "CB210" (avec une résistance de tirage au +5V afin de pouvoir récupérer son signal). Le traitement de ce type d'information nécessiterait normalement de disposer d'une entrée d'interruption ou d'une entrée de comptage sur le microcontrôleur. Ces fonctions n'étant présentent que sur les autres modules "CUBLOC", notre programme est obligé d'effectuer une lecture cyclique de l'entrée du pluviomètre. Cette solution technique n'offre toutefois pas une lecture effective à 100 % (raison pour laquelle nous avons appelé notre application: station météo expérimentale). Il peut en effet arriver suivant le déroulement du programme qu'une impulsion (arrivant par exemple lorsque le "CB210" envoi des informations sur l'écran LCD) ne soit pas captée ou que l'impulsion génère 2 détections. Ces cas sont râres et ne remettent toutefois pas en cause l'aspect ludique et éducatif de la réalisation. L'activation cyclique du godet du pluviomètre va être visualisée via la progession d'un bargraph (le bargraph se bloque au bout de 80 basculements du godet). En fonction des zones (plus ou moins pluvieuses), vous pourrez être amené à modifier cette valeur max. Une remise sous tension ou un Reset du "CB210" permettra de remettre à zéro le bargraph lié à la pluviométrie.

La girouette génère une variation de la valeur de sa résistance en fonction de son orientation. Cette variation n'est pas proportionelle à la direction (consultez la notice de la girouette pour plus d'infos). La résistance de la girouette est utilisée en pont diviseur avec une résistance de 10 K ohms afin de pouvoir générer une tension appliquée sur l'entrée du convertisseur "A/N" A0 du "CB210". Nous avons relevé les valeurs des tensions des 16 positions de la girouette et nous les avons stockée dans une variable de type "tableau". Le programme va ensuite récupérer la valeur de la tension analogique de la girouette et soustraire cette valeur à celles (des tensions des 16 positions) que nous avions stocké. Si la différence de cette soustraction est faible (nous avons choisi une tolérance de 6 unités pour couvrir la tolérance de la conversion "A/N"), le programme en déduit alors la position de la girouette et l'affiche via un pavé en dessous d'une échelle (N E S O).


Code source:


'###############################################################
' Realisation d une station meteo experimentale
' @Lextronic 2012 - 11/06/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################

Const Device = CB210 ' Initialisation de modele de Cubloc
Set Display 2,0,1,50 ' Initialisation de l'afficheur LCD

Const Anemometre = 0 ' Anemometre connecte sur le port 0 du CB210
Const Pluviometre = 1 ' Pluviometre connecte sur le port 1 du CB210
Const Bouton = 2 ' Bouton-poussoir connecte sur port 2 du CB210
Const Integer Posgir = (787,406,460,83,93,65,185,126,289,1022,630,600,945,829,887,703)

Dim Vent As Integer ' Compteur mesure vitesse du vent
Dim Pluie As Integer ' Compteur mesure de pluie
Dim Mode As Byte ' Mode d affichage sur le LCD
Dim Valide As Byte ' Regsitre validation mesure
Dim MemPluie As Byte ' Registre memoire action godet pluie
Dim Anemo As Integer ' Registre lecture valeur analogique girouette

Cls ' Effacement ecran LCD
Csroff ' Suppression de l affichage du curseur
Print &H1B,&H44,8,0,0,0,0,0,0,0,0 ' Redefinition des caracteres du LCD pour gestion bargraph
Print &H1B,&H44,9,16,16,16,16,16,16,16,16
Print &H1B,&H44,10,24,24,24,24,24,24,24,24
Print &H1B,&H44,11,28,28,28,28,28,28,28,28
Print &H1B,&H44,12,30,30,30,30,30,30,30,30

Input Anemometre ' Configure le port de l anememotre en entree
Input Pluviometre ' Configure le port du pluviometre en entree
Input Bouton ' Configure le port du bouton poussoir en entree
Mode = 0 ' Selection affichage donnes de l anemometre
Pluie = 0 ' Initialise compteur Pluie
MemPluie = 0 ' Initialise action mmoire godet Pluie
Gosub AffMode ' Affiche titre du mode

Do
SYNCHRO1: ' Debut etape attente front descendant anemometre
Vent = 500 ' Initialise valeur compteur
Do While In(Anemometre) <> 0
Vent = Vent - 1 ' Decompte du Compteur
If In(bouton) = 0 Then Gosub AffMode ' Bouton selection mode affichage sollicite
If Keyin(Pluviometre,10) = 0 Then MemPluie = 1 ' Detection action godet Pluie
If Vent = 0 Then ' L anemometre ne tourne pas assez vite
bargraph 1 ' Affichage du bargraph
Goto SYNCHRO1 ' Attend toujours front montant anemometre
Endif
Loop
Vent = 500 ' Initialise valeur compteur
Valide = 0 ' On valide la mesure duree niveau bas
SYNCHRO2: ' Debut etape calcul duree impulsion basse
Do While In(Anemometre) <> 1
Vent = Vent - 1 ' Decompte du Compteur
If In(bouton) = 0 Then Gosub AffMode ' Bouton selection mode affichage sollicite
If Keyin(Pluviometre,10) = 0 Then MemPluie = 1 ' Detection action godet Pluie
If Vent = 0 Then ' L anemometre ne tourne pas assez vite
bargraph 1 ' Affichage du bargraph
Vent = 500 ' Initialise valeur compteur
Valide = 1 ' On ne tient pas compte de la duree niveau bas
Goto SYNCHRO2 ' Attend fin niveau bas
Endif
Loop
If Valide = 0 Then bargraph 1 ' Duree valide on peu afficher le bargraph
Goto SYNCHRO1 ' Attend a nouvau synchro niveau bas
Loop

'##################################
' Sous routine affichage des titres
'##################################

AffMode:
Do While Keyinh(Bouton,3) = 0 ' Attend relachement de la touche
Delay 25
Loop
Mode = Mode + 1 ' Selectionne mode affichage suivant
If Mode = 4 Then Mode = 1 ' Revient au mode 1 si depasse mode 3
Select Case Mode
Case 1
Locate 0,0 ' Affichage mode Anemometre
Print "Vitesse du vent "
Case 2
Locate 0,0 ' Affichage mode Pluviometre
Print " Pluviometrie "
Case 3
Locate 0,0 ' Affichage mode Girouette
Print "N E S O "
Locate 0,1
Print " " ' Efface 2eme ligne
End Select
Return

End

'###############################
' Fonction affichage du Bargraph
'###############################

Sub bargraph(ligne As Byte)
Dim i As Byte
Dim J As Byte
Dim K As Long
Dim valmax As Single
Dim barre As String*16
Dim vide As String*16
Dim segment As String*1
If MemPluie= 1 Then ' Ajoute segment Pluie si Godet Pluie active
Pluie = Pluie + 1
If Pluie > 80 Then Pluie = 80
MemPluie = 0 ' RAZ Action godet Pluie
Endif

If Mode = 3 Then ' Va afficher position girouette
Anemo=Adin(0) ' Lecture position girouette
barre=""
For i = 0 To 15
K = Abs (posgir(i)-Anemo)
If K < 6 Then ' Calcul position affichage sur LCD
barre = barre + Chr(&HFF)
Else
barre = barre + Chr(20)
Endif
Next
Locate 0,1
Print barre
Else
If Mode = 1 Then ' Affiche Bargraphe vent
valmax=(Vent/6.25)/5
Else
valmax=Pluie/5.0 ' Affiche Bagraph pluie
Endif
i=valmax
barre=String(&HFF,i)
J=16-i
vide=Spc(J)
i=((valmax-i)/0.2)+8
segment=Chr(i)
barre=barre+segment+vide
Locate 0,ligne
Print barre
Endif
End Sub

APPLICATION # 2
Réalisation d'une serrure codée

Présentation:
Cette application montre comment réaliser une serrure codée (type alarme) à partir du module CUBLOC "CB210" et d'un clavier matricé. Ainsi en saisissant un code d'accès à 4 chiffres pré-définie, l'utilisateur pourra faire changer l'état de la Led du module "CB210" (avec un contrôle sonore réalisé via un buzzer).


Matériel nécessaire:

- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 clavier matricé 12 touche (réf.: EC83)
- 4 résistances de 10 Kohms - code couleur: marron - noir - orange (réf.: R)
- 1 buzzer sans oscillateur (réf.: TV4) ou un buzzer avec oscillateur (réf.: SV4/5-SN)
- En option: 1 plaque d'essai sans soudure (réf.: PRT-08801)
- En option: 1 jeu de straps flexibles M/M (réf.: PRT-08431)
- En option: 1 jeu de straps flexibles M/F (réf.: PRT-09140)

A noter que la plupart de ces composants (sauf le module CUBLOC "CB210" et le câble USB)
sont compris dans le pack "APP1-CB210".


Câblage de l'application:

* ATTENTION * Le clavier devra être relié au plus près du module "CB210" afin de ne pas ramener de perturbation sur les entrées de ce dernier.

  

Clavier codé



Description du programme:

Le "CB210" bénéficie d'une instruction spéciale Keypad(0) capable de récupérer le N° de la touche (0 à 15) sollicitée sur un clavier matricé 16 touches (dont les lignes et les colonnes devront être raccordées sur les ports P0 à P7 du "CB210").

Du fait que notre application utilise un clavier matricé composé uniquement que de 12 touches, il y aura un décalage entre la valeur retournée par l'instruction Keypad(0) et le marquage de la touche. La liste ci-dessous donne la correspondance entre le maquage indiqué sur la touche (en rouge) et la valeur (en noire) eur retournée par l'instruction Keypad(0).

Touche 1 -> retourne 0 / Touche 2 -> retourne 1 / Touche 3 -> retourne 2
Touche 4 -> retourne 4 / Touche 5 -> retourne 5 / Touche 6 -> retourne 6
Touche 7 -> retourne 8 / Touche 8 -> retourne 9 / Touche 9 -> retourne 10
Touche * -> retourne 12 / Touche 0 -> retourne 13 / Touche # -> retourne 14

En absence de touche sollicitée, l'instruction Keypad(0) retourne la valeur 255.

Le programme consite à l'appel succesif d'une sous-routine (utilisée pour détecter l'appui sur une touche du clavier, générant alors un bip sonore, puis la mémorisation de la touche sollicitée et enfin le relachement de la touche).

A chaque sollicitation d'une touche, le programme va vérifier si la séquence de touches saisies correspond à un code pré-défini (2 4 3 7 pour notre exemple). Donc selon le tableau de correspondance ci-dessus, la séquence attendue devra être en fait: 1 4 2 8.

A la moindre erreur de saisie, le programme attend une nouvelle saisie dans le bon ordre. Si l'ordre de saisie est respecté, la Led du module "CB210" changera d'état et le buzzer émettra un double "bip" sonore.


Code source:


'###############################################################
' Realisation d une serrure codee (type alarme)
' @Lextronic 2012 - 07/06/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################

Const Device = CB210

Const Buzzer = 8 ' Port P8 attribue a la commande du buzzer
Const LedCB210 = 30 ' Port P30 attribue a la commande de la Led
Dim Clavier As Integer ' Memoire saisie clavier
Dim Touche As Integer ' Memoire de la touche sollicitee

Low buzzer ' Stop le buzzer
Low LedCB210 ' Led eteinte
Clavier = Keypad(0) ' Recupere etat initial du clavier

Do
DEBUT:
Gosub SAISIE ' Attend saisie 1ere touche
If Touche <> 1 Then Goto DEBUT ' Si 1ere touche saisie <> touche 2 (valeur 1)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 4 Then Goto DEBUT ' Si 2eme touche saisie <> touche 4 (valeur 4)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 2 Then Goto DEBUT ' Si 3eme touche saisie <> touche 3 (valeur 2)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 8 Then Goto DEBUT ' Si 4eme touche saisie <> touche 7 (valeur 8)
Reverse LedCB210 ' Change l'etat de la Led du CB210
Delay 200
Beep Buzzer,200
Delay 80
Beep Buzzer,200
Goto DEBUT
Loop

SAISIE:
Do While Clavier = 255 ' Attend qu'on appui sur une touche
clavier = keypad(0) ' Lecture du clavier matrice
Loop
Touche = Clavier ' Memorise la touche qui a ete sollicitee
Beep Buzzer,100 ' Bip sonore
Do While Clavier <> 255 ' Attend qu'on relache la touche
Clavier = Keypad(0) ' Lecture du clavier matrice
Loop
Return


APPLICATION # 1
Pilotage d'une Led RGB

Présentation:
Cette application montre comment piloter une Led "RGB" à partir du module CUBLOC "CB210".


Matériel nécessaire:

- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 led "RGB" (réf.: COM-00105) ou led "RGB" (réf.: COM-009264)
- 3 résistances de 220 ohms - code couleur: rouge - rouge - marron (réf.: R)
- En option: 1 plaque d'essai sans soudure (réf.: PRT-08801)
- En option: 1 jeu de 1 straps flexibles (réf.: PRT-08431)

A noter que tous les composants nécessaires (sauf le module CUBLOC "CB210" et le câble USB)
sont compris dans le pack "APP1-CB210".


Câblage de l'application:

Led RGB


Description du programme:

Le programme d'application ci-dessous propose une boucle sans fin dans laquelle le module "CB210" pilote une Led selon 3 cycles:

- Au cours du cycle 1, le "CB210" pilotera successivement les 3 anodes (bleu, vert, rouge)
de la Led "RGB" au moyen de 3 sorties (chacune des sorties étant reliée à une anode
de la Led). Ainsi la Led va s'allumer succesivement en bleu, vert puis rouge avec une
temporisation de 500 ms entre chaque couleur.

- Au cours du 2ème cycle, le "CB210" pilotera successivement les 3 anodes (bleu, vert, rouge)
de la Led "RGB" toujours au moyen de 3 mêmes sorties, lesquelles généreront cette fois ci
des signaux PWM dont le rapport cyclique évoluera au cours du temps afin que la Led s'allume
avec une couleur bleue "pâle", puis devienne de plus en plus de couleur bleue "foncée" (et
ainsi de suite pour les couleurs verte et rouge).

- Au cours du 3ème cycle, le "CB210" pilotera simultanément les 3 anodes (bleu, vert, rouge)
de la Led "RGB" au moyen des 3 mêmes sorties, lesquelles généreront cette fois ci des
signaux PWM dont le rapport cyclique prendra des valeurs "pseudo-aléatoires" afin d'obtenir
des couleurs "pseudo-aléatoires" de la Led. Une fois dix couleurs différentes obtenue avec
une pause de 800 ms entre, le programme recommence au cycle 1.


Code source:


'###############################################################
' Gestion Led RGB
' @Lextronic 2012 26/05/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################

Const Device = CB210
Const BLEU = 3 ' Attribution port 3 - PWM3 (anode bleue)
Const VERT = 4 ' Attribution port 4 - PWM4 (anode verte)
Const ROUGE = 5 ' Attribution port 5 - PWM5 (anode rouge)
Dim a As Integer

Low BLEU ' Initialise port PWM3 en sortie (anode bleue)
Low VERT ' Initialise port PWM4 en sortie (anode verte)
Low ROUGE ' Initialise port PWM5 en sortie (anode rouge)

Do
' Pilotage de la Led via des tensions sur les anodes

High BLEU ' Alimente anode bleue
Delay 500 ' Tempo 500 ms
Low BLEU ' Eteind anode bleue

High VERT ' Alimente anode verte
Delay 500 ' Tempo 500 ms
Low VERT ' Eteind anode verte

High ROUGE ' Alimente anode rouge
Delay 500 ' Tempo 500 ms
Low ROUGE ' Eteind anode rouge

Delay 500 ' Tempo 500 ms

' Pilotage de la Led via des signaux PWM sur les anodes

For a = 0 To 499 ' Allumage progressive anode Bleue
Pwm BLEU,a,500
Delay 10
Next
Pwmoff BLEU ' Stoppe signal PWM anode bleue

For a = 0 To 499 ' Allumage progressive anode verte
Pwm VERT,a,500
Delay 10
Next
Pwmoff VERT ' Stoppe signal PWM anode verte

For a = 0 To 499 ' Allumage progressive anode rouge
Pwm ROUGE,a,500
Delay 10
Next
Pwmoff ROUGE ' Stoppe signal PWM anode rouge

' Pilotage signaux PWM pseudo aleatoires sur les anodes

For a = 1 To 10 ' Generation 10 couleurs pseudo aleatoires
Pwm BLEU,Rnd(0),65535 ' Niveau bleu pseudo aleatoire
Pwm VERT,Rnd(0),65535 ' Niveau vert pseudo aleatoire
Pwm ROUGE,Rnd(0),65535 ' Niveau rouge pseudo aleatoire
Delay 800 ' Tempo 800 ms
Next
Pwmoff BLEU ' Stoppe signal PWM anode bleue
Pwmoff VERT ' Stoppe signal PWM anode verte
Pwmoff ROUGE ' Stoppe signal PWM anode rouge

Loop


APPLICATION # 0
Test du module "CB210"

Présentation:
Cette application montre comment tester le module CUBLOC "CB210" en faisant clignoter sa Led.


Code source:


'###############################################################
' Programme de test platine CB210B
' @Lextronic 2012 26/05/2012 - version Cubloc Studio 3.3.4
'###############################################################

Const Device = CB210
Const LedCB210 = 30 ' La Led du CB210 est sur le port P30

Do
Out LedCB210,1 ' Allume Led CB210
Delay 100 ' Temporisation 100 ms
Out LedCB210,0 ' Eteind Led CB210
Delay 1000 ' Temporisation 1000 ms
Loop


 
  
Notes d'applications pour "CB210" (Part 2) 

Afin de vous aider à vous initier et à développer encore plus rapidement avec le module CUBLOC "CB210" et pour vous donner une idée de son potentiel, vous trouverez ci-dessous une sélection complète de notes d'applications (les réalisations concernent aussi bien le domaine ludique, la robotique, la mesure, le domaine professionnel...).

  
 
APPLICATION # 13 : 
Transmission radio à l'aide d'un modem "CLX2-433"

Présentation:
 
Cette application montre comment interfacer un modem radio "CLX2-433" avec un module "CB210" afin de réaliser une télécommande radio avec accusé de réception via une communication sans fil bi-directionnelle entre le "CB210" et un compatible PC. Pour ce faire un second modem "CLX2-433" devra également être raccordé au port série du PC (avec un circuit intégré MAX3232 pour assurer la compatibilité électrique des signaux TX/RX).
  
 
Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 2 modems radio (réf.: CLX2-433
- 1 résistance de 10 Kohms 
- 1 diode zener 3,3 V 
- 1 étage de mise à niveau de type MAX3232
 
 
Câblage de l'application:



Montage CLX2-433 avec CB210


Le raccordement du modem radio "CLX2-433" au module "CB210" est très simple. Celui-ci se limite à son alimentation (via le +3.3 V) ainsi qu'au raccordement des signaux TX et RX au port série du "CB210". On utilisera une diode zener 3,3 V pour limiter la tension en sortie de la broche TX du "CB210" vers l'entrée RX du modem radio. Le schéma du second modem "CLX2-433" à raccorder au port série du PC n'est pas représenté.
  
  
Description du programme:


L'application consiste à piloter à distance l'état de la Led présente sur la platine du "CB210" à l'aide des touches (1) et (2) du clavier du PC. Pour ce faire on utilisera un terminal de saisie (type Hyperterminal par exemple à configurer avec le débit 19200 bds) afin d'envoyer à distance le code ASCII des touches (1) et (2) - via le modem relié sur le port série du PC).
 
Lorsque l'autre modem réceptionne les codes ASCII, il les communiquera au port série du module "CB210", qui en fonction du code reçu (49) pour la touche (1) ou (50) pour la touche (2) allumera ou éteindra sa Led... De plus en fonction de l'état de sa led, le module "CB210" enverra un message ASCII en retour au PC via le modem "CLX2-433" afin d'afficher "en clair" l'état de sa Led dans le terminal de saisie. Vous disposez ainsi d'une télécommande radio avec accusé de réception. 


 
Code source:


'###############################################################

' Pilotage d'un modem radio CLX2-433 à l'aide d'un CB210  
' @Lextronic 2012 - 06/03/2013 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
'  cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################  

            

   Const Device = CB210
   Dim reception As Byte            ' Variable reception port serie
   Const LedCB210 = 30            ' La Led du CB210 est sur le port P30 
   Delay 200
   Opencom 1,19200,3,30,30     ' Ouvre le port com du CB210
   Low LedCB210                       ' Eteind Led du CB210
  
   D
o
     reception=Get(1,1)              ' Lecture buffer reception serie
     S
elect Case reception
        Case 49
           O
ut ledcb210,1             ' Allume la led du CB210
           Putstr 1,"La Led du CB210 est allumee.",Cr
        Case 50
           Out ledcb210,0               ' Eteind la led du CB210
           Putstr 1,"La Led du CB210 est eteinte.",Cr
      End Select
    Loop        

       

Représentation du CB210 sous Fritzing  
Remerciements à Mr Patrice pour sa contribution 
   

CB210 et module RTC
    

    
 APPLICATION # 12 :  Célèbre jeux vidéo 
 

Matrice à leds et module CB210
 
Présentation: 
Cette application montre comment réaliser un célèbre jeu vidéo à l'aide d'un "CB210" associé à 2 mini matrices à Leds à commande I2C™. 
 
Ce jeu consiste à empiler judicieusement des pièces géométriques afin de former des lignes horizontales dans le but d'éviter que ces pièces ne montent jusqu'en haut de la surface de jeu (ce qui signifie alors la perte de la partie). 

A chaque fois que vous arrivez à réaliser une ligne horizontale pleine, celle-ci disparait en faisant descendre les pièces vers le bas (afin de retarder la perte de la partie). La surface du jeu est composée de 2 mini matrices sur lesquelles les pièces de formes géométriques différentes évoluent. 5 entrées du CUBLOC sont mises à contribution pour gérer les déplacements des pièces sur la surface de jeu.
 

Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 2 matrices à Leds miniature (réf.: ADA869454
- 2 x résistances de 4,7 Kohms 
- 5 x résistances de 10 Kohms 
- 1 condensateur de 0,1 uF   
- 1 condensateur de 10 uF   
- 5 boutons-poussoirs  (réf.: KRS0615)
 
 
Câblage de l'application:



Montage jeu vidéo avec CB210 et matrice à leds



Description du programme:


2 boutons sont utilisés pour déplacer la pièce horizontalement (de la droite vers la gauche et de la gauche vers la droite). 2 autres boutons sont utilisés pour effectuer une rotation à 90 ° de la pièce (dans le sens des aiguilles d'une montre, ou inversement).  
       

Video matrices à led + CB210
 
Afin de ne pas allonger cette description de façon excessive, nous avons choisi de ne pas publier le code source dans cette page. Celui-ci sera envoyé sur simple demande (par émail) à tous les acquéreurs d'un module CB210". 
 
N'hésitez pas à visualiser la vidéo de cette application. 


Le dernier bouton sert à accélérer la chute de la pièce. A la mise sous tension toutes les Leds des matrices s'allument. En sollicitant un bouton, les Leds s'effacent et la partie commence. A ce stade une pièce apparait en haut de la surface de jeu et celle-ci descend tout doucement vers le bas de la surface de jeu. Il existe 7 types de pièces (aux formes géométriques différentes). La sélection du modèle de pièce est aléatoire. Déplacez les pièces aux mieux pour favoriser leur empilement afin de réaliser des lignes pleines. Le principe du programme est assez simple et repose sur l'utilisation d'une variable de type tableau reprenant l'aire de jeu. A chaque Led de la matrice correspond un emplacement dans la variable de type mémoire. En sollicitant les boutons-poussoir, le programme gère les données de la variable mémoire en effectuant des tests sur l'état des données de la variable afin de détecter la formation d'une ligne pleine, la possibilité ou non d'empiler ou de modifier la position de la forme géométrique, etc...
          
                  
APPLICATION # 11: Pilotage d'une base robotique à l'aide d'un "CB210"Présentation: 

Cette application montre comment piloter une base robotique "ROB-09207" à partir d'un module Cubloc "CB210" afin de lui faire réaliser plusieurs mouvement basiques.
  
  
Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 1 base robotique (réf.: ROB-09207
- Pile 9 V ou accumulateur, fils et prise DC  
 
 
Câblage de l'application:


Base robotique simple CB210     Base robotique avec CB210

 

Il n'y a pas de câblage proprement dit à réaliser pour cette application. La platine du "CB210" venant directement s'enficher sur la base robotique. Il vous faudra juste prévoir un onnecteur DC et une pile 9 V (ou un accumulateur pour alimenter l'ensemble).

 
Description du programme:


Le programme est très simple. Ce dernier se contente d'activer alternativement 4 ports du CB210 (2 ports par moteur) afin que le robot réalise différents mouvements de base. Attention: il est impératif de couper l'alimentation de la platine et de la débrocher de la base robotique avant la phase de chargement de votre programme - sans quoi le port USB de votre ordinateur pourrait subir une sur-consommation lors du pilotage des moteurs.
 

Vidéo CB210 et base robotique

La base robotique pourra également recevoir une multitude de capteurs additionnels optionnels.
 
N'hésitez pas à visualiser la vidéo de cette application. 


Code source:


'###############################################################

' Pilotage d'une base robotique à l'aide d'un CB210  
' @Lextronic 2012 - 07/07/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic décline toute responsabilité en
'  cas de préjudice résultant de l'utilisation de cette note d'application.
'###############################################################  

  

   Const Device = CB210
   Low 5             ' Initialise les sorties de commande moteur  
   Low 3              
   Low 9
   Low 6
   Do
     Gosub stop      ' Stop le robot
     Out 5,1           ' Roule vers l avant
     Out 6,1  
    Gosub stop       ' Stop le robot
    Out 9,1            ' Roule vers l arriere
    Out 3,1
    Gosub stop       ' Stop le robot
    Out 6,1            ' Tourne a droite
    Delay 1000
    Out 5,1            ' Puis continue tout droit
    Gosub stop       ' Stop le robot  
    Out 5,1             ' Tourne a gauche
    Delay 1000
    Out 6,1             ' Puis continue tout droit
    Gosub stop       ' Stop le robot  
    Out 6,1            ' Demi-tours sur lui-meme
    Out 3,1   
  Loop

  stop:
  Delay 2000
  Out 5,0
  Out 3,0
  Out 9,0
  Out 6,0
  Delay 2000
  Return

      
 

APPLICATION # 10 :  Pilotage d'une boussole électronique"CMPS03" à commande I2C™   
 
Présentation: 

Cette application montre comment piloter une boussole électronique "CMPS03" à commande I2C™ à partir d'un module Cubloc "CB210" afin d'afficher la direction de la boussole via une aiguille fictive sur un écran LCD graphique couleur.
  
  
Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 2 x résistances de 4,7 Kohms 
- 1 afficheur LCD couleur miniature (réf.: UL-144G2SGC)   
- 1 module boussole (réf.: CMPS03)  
 
 
Câblage de l'application:


  
Application avec CMPS03 et CB210

 
Description du programme:


CMPS03 + afficheur + CB210

Le programme est très simple. Ce dernier se contente de récupérer la valeur de l'angle de la position de la boussole via le bus I2C™. Cet angle est mémorisé dans une variable de type Interger sous la forme d'un nombre compris entre 0 et 359 (soit un angle de 0 à 359 °). Le programme va ensuite afficher une aiguille "virtuelle" sur un écran LCD couleur à commande série. Le tracé de cette aiguille utilise les mêmes formules que celles utilisée pour la notre d'application N° 8 Ci-dessous. 
 

Le programme affiche également un petit rond "plein" au bout de l'aiguille afin que l'on puisse bien distinguer sa position.
  

Vidéo CMPS03 + CB210

On prend soin de mémoriser l'ancienne position de l'aiguille afin d'effacer son tracé avant de redessiner celle-ci sur sa nouvelle position.
 
N'hésitez pas à visualiser la vidéo de cette application. 


Code source:


'###############################################################

' Pilotage d'une matrice miniature à Leds à commande I2C  
' @Lextronic 2012 - 07/07/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic décline toute responsabilité en
'  cas de préjudice résultant de l'utilisation de cette note d'application.
'###############################################################  

  

Const Device = CB210 

Dim x As Integer            ' Registre coordonne aiguilles
Dim y As Integer            ' Registre coordonne aiguilles
Dim xm As Integer         ' Registre mémoire coordonne aiguilles
Dim ym As Integer         ' Registre memoire coordonne aiguilles
Dim angle As Integer      ' Variable angle
Dim mangle As Integer   ' Variable mémoire angle
Dim errorcom As Byte      ' Registre communication I2C

Delay 500 
Opencom 1,230400,3,10,70
Delay 500
Putstr 1,"U"                    ' Envoi caractère de synchronisation
Delay 500
Putstr 1,"E"                    ' Efface l'écran
Delay 100 
Putstr 1,"p",&h01            ' Selection objet non plein
Delay 1
Putstr 1,"C",64,64,63,&h07,&hE0 ' Trace contour cercle boussole
Delay 100 
Set I2c 8,9                     ' Configure ports pour liaison I2C
Putstr 1,"p",&h00            ' Selection objet plein
Delay 500

Do 

' ####### Recuperation donnee de la boussole ############## 
I2cstart ' Condition Start I2C
errorcom = I2cwrite (&HC0)              ' Adresse du module CMPS03
errorcom = I2cwrite (0)                    ' Selectionne adresse registre a lire
I2cstart ' Condition Start I2C
errorcom = I2cwrite (&HC1)              ' Selectionne condition de lecture I2C
angle = I2cread(0)                         ' Lecture N° revision module CMPS03
angle = I2cread(0)                         ' lecture valeur angle (0 - 255)
angle.Byte1=I2cread(0)                  ' Recupere octet poids fort angle
angle.Byte0=I2cread(0)                  ' Recupere octet poids faible angle
errorcom = I2cwrite (&HC1)             ' Selectionne condition de lecture I2C
I2cstop                                         ' Condition Stop I2C

' ####### Dessine aiguille boussole ##############

x = 64 - Cos(((angle/10) * 3.141593) / 180.0) * 43
y = 64 - Sin(((angle/10) * 3.141593) / 180.0) * 43

If xm <> x Or ym <> y Then
  Putstr 1,"C",127-xm,127-ym,4,&h00,&h00         ' efface rond
  Delay 5
  Putstr 1,"L",xm,ym,127-xm,127-ym,&h00,&h00 ' efface aiguille
  Delay 3
  Putstr 1,"L",x,y,127-x,127-y,&h0FF,&hE0            ' Affiche aiguille
  Delay 3
  Putstr 1,"C",127-x,127-y,4,&h0FF,&hE0
  Delay 50 
  xm = x                                                         ' Memorise ancienne coordonee x 
  ym = y                                                          ' Memorise ancienne coordonee y 
Endif
Loop

    
     
APPLICATION # 9 :  Pilotage d'une mini matrice à Leds   

Présentation: 
Cette application montre comment piloter une mini matrice à Leds à commande I2C™.
  
 
Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 1 matrice à Leds miniature (réf.: ADA869454
- 2 x résistances de 4,7 Kohms 
- 1 condensateur de 0,1 uF  


Câblage de l'application:


Montage CB210 + Mini matrice à Led

 
Note: Le circuit intégré utilisé par la mini matrice à Leds a tendance à générer des parasites qui remontent via les fils d'alimentation vers la platine du "CB210" (ces perturbations sont causées par la génération des  signaux PWM permettant d'allumer les Leds de la matrice). Afin d'éviter tout disfonctionnement lors des phases de téléchargement du "CB210" il sera nécesaire d'ajouter un petit condensateur de découplage entre le + et le moins de la matrice. 
 
 
Description du programme:


Le programme est très simple. Ce dernier se contente d'envoyer 3 ordres consécutifs à la matrice (via le bus I2C™ - Une fonction a été crée à cet effet). Le premier ordre permet l'activation de l'oscillateur interne de la matrice, le second ordre configure le niveau de luminosité de la matrice, le 3ème ordre configure l'autorisation d'activation des Leds de la matrice.
  
Ensuite le programme va envoyer les données dans la mémoire RAM de la matrice afin d'afficher un petit smiley". Chaque octet envoyé à la matrice correspond à l'affichage d'une ligne de la matrice. Bit à 0 -> led éteinte et Bit à 1 -> Led allumée. Le ciruit intégré gérant la matrice passe automatiquement à l'adresse mémoire suivante lorsqu'il a reçut un octet. Sachant que le ciruit intégré de la matrice est en fait prévu pour piloter une matrice de 16 x 8 Leds (mais que la matrice ne dispose que de 8 x 8 leds, notre programme envoi les données 2 fois de suite (afin de renseigner l'état de l'autre partie de la matrice - même si elle n'est pas visible... dans le seul but de ne pas avoir de décalage en mémoire RAM).
 

 

A noter que les Leds de la matrice ne sont pas rangées dans le même ordre qu'un octet binaire. Voici la correspondance du mot  binaire à transmettre avec la position des Leds.
 
PF8 Pf1 Pf2 Pf3 Pf4 PF1 PF2 PF3  
L1   L2  L3   L4  L5  L6   L7   L8
   
L1 étant la led la plus à gauche de la notice et L8 la Led la plus à droite.
PF = bits de poids fort   Pf = bits de poids faibles
   
Ceci oblige à une petite "gymnastique" intellectuelle pour afficher le motif désiré !
  
Le programme se termine enfin en envoyant un odre de clignotement à 1 Hz à la matrice.  

   
N'hésitez pas à visualiser la vidéo de cette application.
  
   
  
Code source:


'###############################################################

' Pilotage d'une matrice miniature à Leds à commande I2C  
' @Lextronic 2012 - 07/07/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
'  cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################
  
  
   Const Device = CB210 
   
   Const Byte DATA = (&H1E,&H21,&HD2,&HC0,&HD2,&HCC,&H21,&H1E)  
 ' Donnees affichage 

   Dim x As Byte                                                  ' Registre divers
   Dim errorcom As Byte                                      ' Registre erreur communication I2C
   Set I2c 8,9    ' Configure ports pour liaison I2C
   Delay 500
 
   matrice &H21                                       ' Activation oscillateur interne de la matrice
   matrice &HE0                                       ' Relage luminosite
   matrice &H81                                       ' Display ON - pas de clignotement 
 
 
   I2cstart        ' Condition Start I2C
   errorcom = I2cwrite (&HE0)                 ' Adresse I2C de la matrice
   errorcom = I2cwrite (&H00)                 ' Adresse debut RAM matrice
   For x = 0 To 7                                      ' Affichage lignes de la matrice
      errorcom = I2cwrite (DATA(x)) 
      errorcom = I2cwrite (DATA(x))
   Next
   I2cstop 
 
   Delay 2000                                          ' Tempo 2 secondes
   matrice &H85                                       ' Clignotement 1 Hz
   Do
   Loop
 
   End
  
   Sub matrice (DATA2 As Byte)
   I2cstart         ' Condition Start I2C
   errorcom = I2cwrite (&HE0)                  ' Adr
Publié dans: Default category

Laisser un commentaire

Chargement...
Retour en haut