Pages

mardi 27 février 2018

Commande de led "Neopixel" via AI2

Dans ce petit article, on va voir comment commander une matrice de led Neopixel (WS2812) à partir d'une appli AI2 et en utilisant la fonction Serial.parseInt().


Montage utilisé : 
Attention, la broche TX du module Bluetooth doit être déconnectée de l'Arduino pendant le téléversement du programme !!!!

L'application correspondante :

Mode opératoire : on appui sur le bouton correspondant à la led choisie, on règle les couleurs et on appuie sur "Envoyer !"

Fonctionnement basique de la commande Serial.parseInt() :



Le reste du programme est assez commenté pour comprendre le mécanisme...





Le résultat !



dimanche 25 février 2018

Émission (et donc réception...) d'une seule donnée via un HC-12

Parmi l'offre pléthorique des modules émetteurs/récepteurs, on trouve le HC-12. Celui-ci utilise la bande des 433 MHz mais peut émettre à une distance de plus de 1000 m en champ libre. Documentation ici (Doc Elecrow).


HC-12

  • VCC au +5V
  • GNG au GND
  • RXD à D4 (dans mon exemple)
  • TXD à D3 (dans mon exemple)
  • SET non connecté

Premier exemple : transmission d'une seule donnée à la fois 


Câblage de l'émetteur :


J'ai utilisé ici un module TEMT6000 (Doc Sparkfun), capteur de luminosité, pour servir de support d'exemple.

Programme de l'émetteur :



***********


Câblage du récepteur :


Programme du récepteur :



Résultat sur le port série du récepteur :



Ceci met fin au premier exemple avec ce composant.
A suivre des tutos avec des chaines de caractères.




samedi 24 février 2018

Utilisation du traceur série de l'IDE d'Arduino

Quand on veut visualiser une variable, on pense tout de suite au moniteur série de l'IDE. C'est très pratique. Mais il existe également un autre outil, le traceur série. L'usage est rigoureusement identique au moniteur série :

Programme basique pour lire une valeur analogique et l'envoyer sur le port série :


(j'ai simplement connecté un potentiomètre de 10k sur A0)

Le moniteur série :


Le traceur série :

L'échelle verticale s'adapte automatiquement à la valeur mesurée (entre 0 et 1023)

Exemple pour deux entrées analogiques :


 Les valeurs analogiques sont envoyées vers le port série avec un Serial.print et séparées par une virgule. Le dernier envoi est un Serial.println


Certes, c'est rudimentaire, mais ça dépanne bien !

dimanche 18 février 2018

Auto-connexion de deux modules Bluetooth HC-05 et HC-06

Pour certains projets, il peut être utile que deux modules bluetooth se connectent automatiquement dès qu'ils sont à portée l'un de l'autre.
Ci-dessous, vous trouverez la méthode pour auto-connecter un HC-05 (en maître) et un HC-06 (en esclave). Seul un HC-05 pour être maître. On peut aussi faire une paire HC-05/HC-05 avec un maître et l'autre esclave.

Pour cette démonstration, il sera nécessaire d'avoir un adaptateur UART-USB (n'importe quel modèle fait l'affaire, tant qu'il y a du 5 V et du 3.3V)


La procédure va se faire en deux temps : la configuration du HC-06 (débit binaire et mot de passe) puis la configuration du HC-05 (débit binaire, mot de passe et passage en mode maître et liaison avec le HC-06)



Connexion du HC-06 avec un module UART-USB


1) Câbler le module comme ci-dessus

2) Connecter sur le PC le module UART-USB et identifier son port COM (le module BT clignote rapidement)

3) Lancer un logiciel de votre choix pour communiquer en mode AT (ici, j'utilise Termite)

Test de communication : taper AT dans la console, le module doit répondre "OK"


Taper "AT+NAMEESCLAVE", le module répond : "OKsetname" (attention à la syntaxe !). Cela permet de renommer le module.


Taper "AT+PIN1234", le module répond : "OKsetPIN". Cela permet d'être sûr que les deux modules auront le même mot de passe.



Test de reconnaissance sur mon PC : 

C'est fini pour le HC-06, heu, pardon, l'Esclave !







Maintenant, au tour du HC-05.... c'est un peu plus long......

Connexion du HC-05 avec un module UART-USB




1) Câbler le module comme ci-dessus

2) Avant de connecter le module USB, appuyer sur le bouton poussoir qui se trouve sur le HC-05 (non représenté ici) et laisser appuyé pendant la connexion. Une fois alimenté, la DEL doit clignoter lentement.

3) Configurer le logiciel :
Bien respecter les valeurs !!!

Taper "AT", après un premier retour qui indique une erreur (normal), retaper AT, le module répond "OK"


Si on tape "AT+NAME?", on obtient le nom actuel :


Taper "AT+NAME=MAITRE", le module répond "OK". On vérifie par "AT+NAME?" une nouvelle fois :


Taper maintenant "AT+ PSWD=1234" pour affecter le même mot de passe que l'esclave



Il faut indiquer au module qu'il est maître, il faut saisir : "AT+ROLE=1" 


Afin d'être sûr qu'il ne reste pas d'ancien couplage, on tape cette commande afin de les effacer, au cas où..."AT+RMAAD"


Il faut maintenant préciser que le module doit se connecter à un seul autre module, cela se fait par cette commande "AT+CMODE=0"


Nous allons maintenant initialiser le mode qui permet l'appairage et saisissant "AT+INIT"


Attention : A partir de maintenant, il faut alimenter l'Esclave et couper tous les autres modules (sauf le maître) afin de détecter son adresse 

Saisie de la commande "AT+INQ" pour détecter l'Esclave



Selon la réponse du module, après +INQ:, on lit : 98D3:32:308BFF. Ceci est l'information qui nous intéresse. Le reste de l'information n'est pas utile ici.
Pour lier le maître à l'esclave, il faut utiliser la commande "AT+BIND=98D3,32,308BFF". Les deux points doivent être remplacés par des virgules à la main.



On peut contrôler la liaison par "AT+BIND?"



C'est FINI !

A ce niveau, on débranche le maître, on retire le 3.3V et on rebranche sans appuyer sur le bouton poussoir.

Si les deux modules sont alimentés, après quelques secondes, l'esclave ne clignote plus et le maître envoie un clignotement double comme un battement de cœur (c'est une image...)

 Bravo, les deux modules se connectent automatiquement !!!!!















jeudi 15 février 2018

Draw.io, appli en ligne et locale bien utile

Il devient rare de trouver de très bons logiciels gratuits et utilisables en ligne ou installés sur un ordinateur.
Le site draw.io propose un service de création de diagrammes, de dessins, d'illustrations... pour tous les niveaux, tout en proposant des modules bien pratiques comme les IHM Android ou iOS, le Sysml....

Le logiciel est très stable et je n'ai jamais connu de plantage intempestif.

Interface de l'application :

L'import de modules supplémentaires :
 Le menu pour télécharger le logiciel en local :
A noter que les plugins sont les mêmes en local qu'en ligne.

Il est possible d'enregistrer ses travaux sur les nuages ou sur tout support physique...



Prise en main du logiciel Nextion et première IHM

Sur cet article, vous allez pouvoir découvrir les bases de la création d'une IHM avec un écran Nextion et son éditeur.

1) Lancer le logiciel 

2) Cliquer sur "New" et une fenêtre va s'ouvrir pour nommer le fichier (extension hmi): donner un nom...

3) Choisir le modèle d'écran et son orientation :

on change de menu en cliquant sur "DISPLAY"


Bien laisser "iso-8859-1"


Cet écran apparait :


A faire impérativement à cette étape : créer au-moins une police !

Cliquer sur "Tool Font generator"
Si cela n'est pas fait, il y aura des messages d'erreurs lors des compilations

4) A partir de cet écran, choisir une police et une taille :


5) Donner un nom à cette police et cliquer sur "generate font" (et chose bizarre, il faudra à nouveau l'enregistrer au format zi)

Si tout se passe bien, ce message apparait :

En cliquant sur ok, ce message apparait à son tour :
Bien entendu, on clique sur YES !

On peut quitter ce menu pour le moment en cliquant sur la croix en haut à droite.

La police a bien été insérée au projet :

6) Insertion d'un fond (c'est plus joli !) :
Bien choisir une image au format de l'écran

Il faut d'abord charger l'image :
Cliquer sur "+" et choisir une image
Si l'image a bien été insérée, elle apparait dans le gestionnaire d'image :
Cliquer sur l'outil "image" dans la zone d'outils :
Un simple clic suffit pour insérer une zone image :
Il faut affecter notre image à la zone :
Double cliquer sur"pic" et là, un choix peut être fait :
Choisir l'image de notre choix (ok, pas difficile ici) :


6) Insertion d'un texte :

Comme pour une image, cliquer sur l'outil "text" :
Le cadre apparait avec "Newtxt". Il est possible de le déplacer à la souris ou plus précisément en changeant ses coordonnées :
Pour changer le texte, il suffit de changer le champ "txt" : 
Si le texte est coupé, pas de souci, il suffit d'agrandir la zone à la souris :

7) Copier l'IHM générée sur l'écran :


Il y a deux possibilités : soit via un adaptateur UART-USB, soit avec une carte micro SD.

A venir dans un prochain article......