Pages

dimanche 10 décembre 2017

Créer des potentiomètres par Programmation Orientée Objet avec Processing

Comme tous les langages évolués, Processing, qui fonctionne sous Java (entre autres), permet de programmer en POO, c'est-à-dire, en Programmation Orientée Objet.
Je ne propose pas de cours de POO, j'en suis bien loin, mais ci-dessous, vous verrez à quoi cela ressemble et quel usage on peut en faire.....

Vont suivre des tutoriels pour créer ses propres "class".




Ici, les objets sont "fait maison"



mercredi 6 décembre 2017

Changer le thème de l'IDE Arduino en "sombre"

Sur cette page, vous trouverez de quoi changer le thème de l'IDE "classique" en "Dark" :


Avant :

Après :

C'est vraiment très agréable pour les yeux..... et on reste toujours dans l'IDE, sans passer par d'autres logiciels....

Toutes les infos ici :


lundi 4 décembre 2017

Exploiter une chaîne de caractères en Arduino-Partie 1

Utilisation d'un tableau de caractères

De très nombreux périphériques communiquent avec les microcontrôleurs via le port RS232-UART. C'est très facile de lire une seule valeur comme "A" pour "allume" ou "S" pour "stop".
Mais qu'en est-il des envois de données complexes ? C'est-à-dire, des chaînes de caractères.....


Il existe plusieurs méthodes, plus ou moins simples et plus ou moins efficaces ou pratiques.

La plus simple est de récupérer les données entrantes dans le port série dans un tableau déclaré comme cela :

 ici, le tableau est constitué de caractères inconnus et sa taille est indéfinie. Pas évident à gérer, le compilateur ne connaît pas la taille mémoire à allouer et donc on risque d’avoir des surprises lors de la compilation (et à l'usage) si le programme total est très lourd.....

On peut aussi déclarer ainsi :

Maintenant, on a limité l'occupation mémoire à 12 emplacements (+1 avec le caractère "null").
Cette méthode fonctionne très bien quand on connaît précisément la taille et l'emplacement des valeurs que l'on veut récupérer. Il faut que tout soit figé à l'avance.
Par exemple, on reçoit cette chaîne :
"AAAASSSAAAAS"
ou bien :
   "SSSAAASSSSSS"


Dans ces deux cas, il est facile de trouver l'emplacement d'un caractère et de le traiter :


Il suffit dans ce cas de donner l'emplacement du caractère et on teste, on traite, on transforme...... Ici, c'est le quatrième emplacement.

Exploiter une chaîne de caractères en Arduino-Partie 2

Utilisation de la bibliothèque String

On va ici utiliser les fonctions de String, c'est sans doute un peu plus compliqué, et encore.... mais nettement plus souple et efficace :


En détail :

reception est une chaîne fictive, ici, je ne présente pas la partie réception. Je considère que la chaîne est bien reçue.

***


***


***

Sur le port série :
La chaîne réception est bien divisée en sous-chaînes....

L'avantage de cette technique est simple à comprendre : on peut manipuler des chaînes ayant des champs de taille variable comme des noms de famille, des valeurs analogiques sur 10 bits (de 0 à 1023)..... cela ne pose aucun problème, à chaque fois que la chaîne de réception sera analysée, les nouveaux index de virgules seront mis à jour.

En changeant la chaîne dans le programme : 
String reception = "Start,123,bonjour,AZERTY";





Sauvegarder des données entre écrans avec AI2-version simplifiée

Ci-dessous la version simplifiée de l'utilisation de la TinyDB avec un seul champ sauvegardé entre deux écrans :

Ecran 1 :

Écran 2 :