mercredi 10 mars 2021

Arduino problème avec le driver du port série de Windows 7

Quel le problème avec le driver série Arduino pour Windows ? Le Driver s'installe avec l'ensemble du logiciel Arduino mais cela ne fonctionne pas bien longtemps.

Vous êtes sans cesse en train de pluguer, déplugguer votre module Arduino et un moment donnée :

Problème port série Windows avec le module Arduino
Problème port série Windows avec le module Arduino

En plus ce n'est pas tout à fait le bon message, depuis il a évolué et j'ai le message suivant :


Alors la solution c'est de réinstaller le driver en désinstallant puis réinstallant tout le logiciel Arduino "correctement". Prendre soin de déplugguer pour que le port série soit "libre" pour désintaller proprement. Un fois résintallé le logiciel complet Arduino, le port est vierge et lors du prochain plugging de votre module Arduino. Windows répondra par un  :

Arduino le pilote de périphérique a été installé
Arduino le pilote de périphérique a été installé

Et vous pourrez continuer à jouer avec votre module Arduino mais ce n'est pas simple avec l'utilisation du port série et des logiciels de développement, il arrivera que le driver "plante" à nouveau et votre module ne sera plus reconnu par Windows !

Ceux qui galèrent :

Un autre Ici :


Ils galèrent mais ils arrivent toujours à faire quelque chose pour le Port_COM refonctionne...

La seule solution ?

Résinstaller le logiciel complet Arduino !!! Ça fonctionne mais c'est curieux non ? 

Attention : ne pas oublier de faire un petit redémarrage de Windows avant de replugguer votre module Arduino sinon il risque de ne pas prendre le bon driver..

Comment le logiciel peut-il se mettre à planter alors que ce n'est "que du soft". Et bien la réponse est dans la question.

Ce n'est pas tout à fait "que du soft", l'UART serial COM est sollicitée et l'on sait que sous Windows avant Windows 10 ce module est très perfectible. Il manque notamment une couche de virtualisation qui vous permettrait de connecté à une machine de cloud mais cela non plus ne fonctionne pas.

Mais j'ai peut-être une autre solution il vous faut savoir que le driver arduino se trouve dans :

\\Program Files (x86)\Arduino\drivers\arduino.inf

Ce qui peut vous permettre de le réinstaller en faisant :

Démarrer -> Périphériques et imprimantes :

Je vois mon module Arduino dans mon système windows

Où dans :

Menu Démarrer -> Panneau configuration -> Système -> Gestionnaire de périphérique 

Vous pouvez alors faire bouton droit mettre à jour et aller chercher le .inf ci-dessus cité. Mais en général si vous voyez votre module dans Windows, c'est que tout va bien ... Grrrrr !

Sinon vous pensez que tous ces caractères chinois ont quelques chose à voir avec ces plantages ...

Mauvaise gestion du port série ce communication avec le module Arduino
Mauvaise gestion du port série ce communication avec le module Arduino

Vous avez le site officiel arduino qui raconte en gros la même chose ...


Le problème c'est que quand votre module n'est pas reconnu "unknown device" vous ne pouvez pas le mettre à jour. Le message que j'ai eu en essayant de mettre à jour c'est :

"il n'existe pas de driver compatible avec windows 64 bits"

Autre dépannage

Si un driver "Unknown device" devait s'installer à la plage de "Arduino ..." n'hésitez pas à désinstaller le driver correspondant et à redémarrer votre machine lorsque vous enficherez votre module dans le port USB, windows devrait reprendre le bon driver ...

Franchement, c'est de très mauvaise augure. Comment peut-on imaginer de réaliser un développement de bonne qualité dans ces conditions... 

Les Athéniens s'atteignirent...

Mise à jour en novembre 2021

Je ne peux pas vous expliquer pourquoi mais depuis, je n'ai plus aucun problème de driver ! Le driver Arduino Bluno Mega est resté stable.

lundi 8 mars 2021

Arduino primordial links

Des liens importants vers les sites arduino ... des liens officiels mais aussi quelques pépites.

Arduino Lien primordiaux
Arduino Lien primordiaux

Sites de référence

https://www.arduino.cc
Site Officiel Open source Arduino

https://www.locoduino.org/
Qui signifie littéralement : "dingue de arduino"

Très bon site Arduino - très complet

Librairies de référence

Information sur les librairies de référence :

https://www.arduino.cc/en/reference/libraries

https://platformio.org/lib/show/5597/ArduinoTrace

Librairie de Traces

Je cherche une librairie Trace :

https://platformio.org/lib/search?query=trace

Arduino Trace dans Github bblanchon :

https://github.com/bblanchon/ArduinoTrace

Mémoire des cartes mères Arduino




Arduino Simulateurs

Si vous développez en C++ pour Arduino et que votre matériel est un peu complexe notamment si ce matériel n'est pas toujours disponible car trop encombrant ou difficile à mettre en oeuvre, vous allez vouloir vous tourner vers un simulateurs qui va vous permettre de "faire tourner" votre code sans avoir tout le bazar autour.

Alors est-ce possible que trouve t-on sur le marché ? Ma recherche Internet débute donc avec : "arduino simulateur" elle me conduit naturellement vers le site suivant :

https://leresteux.net/simulateur-arduino/

Qui nous explique pas à pas le simulateur 123D Circuits mais j'ai l'impression qu'il n'existe plus, même plus chez Autodesk library.io. Chez eux le simulateur de tout cela c'est TINKERCAD.

Vous devez vous enregistrer pour créer un compte d'utilisateur :

Autodesk Tinkercad

Dans le simulateur, si l'on écrit le bon code : 

/*
  Clignotement
  Allume la LED pendant 1 seconde,
  puis l'éteint pendant 1 seconde.

*/

// Numéro de la broche à laquelle est
// connectée la LED

int led = 13;

// le code dans cette fonction est exécuté une fois au début

void setup() {

  // indique que la broche de la LED une sortie :
  // on va modifier sa tension
  pinMode(led, OUTPUT);

}

// le code dans cette fonction est exécuté en boucle

void loop() {

  digitalWrite(led, HIGH);   // allumer la LED (tension 5V sur la broche)
  delay(1000);               // attendre 1000ms = 1s
  digitalWrite(led, LOW);    // éteindre la LED (tension 0V sur la broche)
  delay(1000);               // attendre à nouveau 1seconde

}

Vous verrez clignoter la LED.

Pour poursuivre, je vous propose l'article suivant : 

windowsreport - Les 5 meilleurs simulateurs Arduino pour PC

1 - Autodesk Eagle
Free download, toujours cette même accroche cela signifie que l'on vous donne le droit de télécharger mais après, vous ne pourrez pas faire grand chose que d'acheter une licence.

2 - Proteus
Idem, free donwload mais on vous explique ce qui est limité sur la version "free" là encore on n'ira pas loin vous ne pouvez par exemple pas sauvegarder votre travail.

3 - Virtronics 
Je trouve pas pro ... pas cher non plus 19.99 $ ???

4 - PSpice
Pour le pris il vous faudra contacter le service client, moi je trouve toujours cela gênant on a l'impression d'être un marchant de tapis le commercial en face essaye de vous vendre 100 000 exemplaire alors que vous n'avez besoin que d'un seul !

5 - Fritzing
Initiative Open source deux version à 8 € et une autre à 25 € ... ??? 
Un petit tuto rapide ça à l'air ludique graphique fun sans plus accessible que les autres solutions.

Conclusion sur simulateur Arduino

Oui, il faut investir en temps, en argent, je pense même qu'il faut démarrer un projet Arduino par la simulation plutôt qu'un kit hardware.

Avec mon kit hardware, j'ai actuellement de sérieux problème avec le port COM, je dois vous avouer que je suis avec une machine Windows 7 mais la gestion du port COM avec Arduino est un peu tuchy...

D'où l'utilité d'un simulateur.

Simulateur Arduino en 2022

Je retourne chez TinkerCad, et je constate l'évolution. Il n'est plus question d'écrire du code :

Dans votre compte : Cricuits -> Try Circuits.

Je me retrouve avec une plaque arduino :

Compte chez Autodesk Tinkercad

Je choisi de simuler un circuit je choisie Arduino -> Editer

Tinkercad édition du circuit Arduino

Je clique sur code :

Tinkercad édition du code du circuit Arduino
Tinkercad édition du code du circuit Arduino

C'est énorme, je vois du code sous forme de blocs dans un graphique on parlait de no-code hier c'est bien du no-code.

Il y a même un bouton  "Démarrer la simulation" :

Tinkercad édition démarrage de la simulation sur Arduino
Tinkercad édition démarrage de la simulation sur Arduino

1 - On peut voir l'alimenation par le port USB se brancher à la carte Arduino

2 - La fameuse Led clignote

Dans la liste des kits de démarrage, je vois tout un tas de plaque Arduino.

Tinkercad éléments de simulation Arduino
Tinkercad éléments de simulation Arduino

On trouve tout un tas d'éléments pour réaliser des simulateurs Arduino de quoi faire de petite réalisations électronique avec microcontrôleur.

Ce que je trouve étonnant, c'est la présence parmi les microcontrôleurs d'un ATTiny comme choix de composants, on peut le poser sur une platine d'essai. Mais la programmation de l'ATTiny est pour le moins ardue.

Have fun!


mercredi 3 mars 2021

Connaissez-vous Arduino IDE for Visual Studio (Visual Micro) ?

Je suis à la recherche du meilleur IDE pour Arduino et je trouve : Arduino IDE for Visual Studio (Visual Micro). Un outil d'édition de construction de déploiement et de débogage pour Arduino entièrement compatible cross plateforme et gestionnaire de Librairie. 

Plusieurs moniteurs série. Projets de code partagé, bibliothèques personnalisées, tests unitaires, GIT, CLI. Matériel GDB et débogage WiFi.

Arduino IDE for Visual Studio (Visual Micro)

Franchement, moi j'ai installé l'extension directement depuis Visual Studio Community 2019 :

Gestion des extensions dans Visual Studio Community 2019
Gestion des extensions dans Visual Studio Community 2019

Et bien c'est la même chose ! 

Donc autant installer l'extension depuis Visual Studio dans le menu Extensions -> Gérer les extensions.

Une fois l'extension installée, il s'agit de créer un bout de code et de téléverser dans la carte Arduino. 

Pour cela, j'ai trouvé l'option pour créer directement le Blink project un classique d'Arduino qui consiste à faire clignoter la LED de la Carte :

Nenu Fichier -> Nouveau projet, dans la liste des Templates de Projet :

Visual Studio s'ouvre avec le code et vous accédez au menu vMicro (comme Visual Micro) avec la gestion des cartes, suivant le kit Arduino que vous avez commandé :

Visual Studio Community avec l'extension ArduinoIDE
Visual Studio Community avec l'extension ArduinoIDE 

Vous vous retrouvez devant l'environnement nécessaire et suffisant pour développer en C++ pour Arduino.

Visual Studio Community avec l'extension ArduinoIDE
Visual Studio Community avec l'extension ArduinoIDE 

A vous de jouer, personnellement, je vais installer Visual Studio Code avec les même extension.

Have fun!


lundi 1 mars 2021

Développer en C++ avec Arduino Software (IDE)

Deux ou trois choses à savoir pour bien démarrer avec l'IDE d'Arduino pour Arduino. Pour savoir par exemple lorsque vous instanciez un projet où se trouvent les fichiers comment sont-ils organisés.

Arduino préférences

Le meilleur moyen de savoir comment Arduino IDE fonctionne c'est d'aller dans ses préférences :

Arduino IDE - Préférences

Vous obtenez ainsi l'emplacement du carnet de croquis et plus de préférences encore dans le fichier suivant : Arduino 15\preference.txt

Arduino IDE - Arborescence des répertoires

On voit également un fichier de Log :


\\AppData\Local\arduino15\logs\application.log

A priori l'application IDE Arduino vient écrire dans ce fichier chaque fois qu'elle s'exécute.

D'autres fichiers json library_index.json ce sont les librairies.

Un autre répertoire important, c'est le répertoire d'installation de Arduino, on y trouve tous les exemples et toutes les librairies pour travailler et l'exécutable :

\\Program Files (x86)\Arduino

Vous souhaitez savoir si votre board est correctement connectée ,c'est la commande : Récupérer les informations de la carte :

Arduino IDE - Outils

Un autre article très important c'est le Moniteur série qui vous permet de visualiser des traces émises par votre programme.

Dans tous les environnements Arduino vous retrouvez les exemples :

Arduino IDE - Exemples

Voilà les commandes de base les reste est dans la doc ;-)

Développer en C++ avec Arduino Create Agent

Comment démarrer un développement en langage C++ avec Arduino ? Le plus simple c'est de se retrouver sur la site Arduino et de commencer par le Tutorials dans :

arduino.cc

Arduino Tutoriels

Dans DOCUMENTATION -> TUTORIALS, je clique sur GETTING STARTED



Pour mémoire, voilà l'ensemble des Tutos Arduino, j'accède à la première série de Tutos en cliquant sur Getting Started.

Getting Started with Arduino products

Il vous faut vous enregistrer, créez votre compte d'utilisation chez arduino mais à ce prix, vous pouvez utiliser l'éditeur Web Editor... Code online :


Vous reconnaissez les deux fonctions de base de la plateforme Ardunio setup() et loop().

Pour pouvoir téléverser dans une carte arduino, il faut avoir installer sur votre post : 


Installer sur votre post de quoi communiquer avec le Web Editor

Par la suite dans le Web Editor pour Arduino, vous devrez choisir la carte que vous avez connectée par le port USB à votre ordinateur.


Au passage, un driver demande à s'installer sur votre machine ...


Puis un deuxième liée toujours au contrôle de liaison USB entre le Web Editor et votre carte Arduino ...



Et puis un troisième soft désire s'installer...


Et enfin cela y est, votre carte est connecté au Web Editor Arduino


Vous vous retrouvez avec les boutons classiques Verify et Upload pour téléverser votre code HEXA dans votre carte Arduino... Vous pouvez alors récupérer les exemples au moment d'une modification dans l'éditeur Web Editor.

CQFD !