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