Bonjour,
J’ai voulu reproduire un projet de matice de LED qui affiche du texte voir Projet
Du coup j’ai réalisé ce projet avec un arduino UNO (officiel) et tout a bien fonctionné.
Pour une question d’encombrement, j’ai voulu passé sur un Arduino NANO(officiel) et là surprise, rien ne se passe, j’essaye sur une 2ème NANO mais rien ne se passe non plus.
J’ai essayé plusieurs téléversement mais rien n’y fait.
Bonjour et merci de prendre du temps pour mon problème,
Pourquoi l’affichage sur la matrice fonctionne très bien avec l’UNO c’est à dire les transferts autant par le PC que par le Bluetooth alors que rien ne s’affiche avec le NANO??
J’ai changé les pins du port série(7,8), je téléverse sur UNO, ça marche très bien, et je téléverse sur NANO et toujours rien…
Je viens de me rendre compte que sur le moniteur série j’ai des infos (Texte, Couleur rgb…) pour le UNO
Alors que pour le NANO je n’ai rien (pour le bon port COM et la bonne vitesse de transfert…)
Mon NANO(officiel) est reconnu dans les gestionnzire de periph comme USB SERIAL PORT, est-ce un problème???
À part le circuit qui fait l’interface entre le RX, le TX et l’USB, la pièce essentielle, c’est-à-dire le microcontrôleur, est le même → atmega328p.
La réaction des deux cartes au même programme devrait être identique sauf s’il y avait d’autres modifications que nous ne connaissons pas.
USB sur UNO soit : atmega16U2 ( fabricant arduino) soit ch340 (clones), exceptionnellement un CI prolific
USB sur nano soit : FT232 (rare et fab arduino), ch340 (très courant), exceptionnellement un CI prolific
Attention, il existe des vendeurs “truands” en Asie qui vendent sous l’appellation “nano” des cartes identiques, mais avec un microcontrôleur atmega168 qui est légèrement différent et surtout qui possède moins de mémoire. Elles sont (très) légerement moins chères.
Salut,
J’essaye de résumé avec les éléments que j’ai pu rassembler depuis mon 1er post.
Matériels utilisés: Arduino nano v3 Arduino UNO REV3 Module bluetooth DSD Tech HC-05 Schema de branchement
Donc lorsque je fais ce branchement sur le UNO, tout se passe bien et lorsque que je le fais sur le NANO rien ne se passe.
Donc j’ai fais plusieurs essais avec J-M-L Jackson(que je remercie) et rien n’y a changé. pour mon dernier essai j’ai changé la ligne:
“SoftwareSerial ESP_BT(0,1); //Define PIN11 & PIN12 as RX and TX pins”
en
“SoftwareSerial ESP_BT(7,8); //Define PIN11 & PIN12 as RX and TX pins”
et après recâblage, tout fonctionne sur le UNO mais pas sur le NANO.
Petite précision, j’ai 2 UNO(genuine) et 2 NANO(genuine) donc j’ai aussi fait l’essai sur les autres board et même résultat, UNO → Ok, NANO → NOK.
Autre précision, j’ai aussi fais l’essai de ne pas alimenter le UNO par l’usb et ça marche(pas de conflit Tx-Rx, et en reproduisant cette opération sur le NANO, toujours rien.
D’autres solutions??
commencez par faire simple pour voir si la communication BT fonctionne bien
débranchez TOUT du Nano
connectez les pins Arduino D2 <–> BT Tx et Arduino D3 <–> BT Rx
Alimentez le HC-05 à par sa pin Vcc connectée au 5V de l’Arduino et joignez les GND
branchez l’Arduino avec votre câble USB à votre PC
lancez l’IDE, choisissez le bon type de carte et le port de communication
compilez et chargez ce code
#include <SoftwareSerial.h>
const byte rxPin = 2; // la pin de réception des données Arduino D2 <--> BT Tx
const byte txPin = 3; // la pin d'émission des données Arduino D3 <--> BT Rx
SoftwareSerial BTSerial(rxPin, txPin);
void setup() {
Serial.begin(115200);
BTSerial.begin(9600);
}
void loop() {
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
}
Ouvrez le moniteur série à 115200 bauds et jouez avec l’application qui doit être appairée avec le module BT.
testez la même chose sur le UNO
hello
effectivement, je suis tombé sur ce cas
une nano dans laquelle je ne pouvais pas téléverser. pour finalement regler le choix arduino sur 168 et non sur 328P ou 328P ancien bootloader
arnaque ou pas, en tous cas, c’est prévu par arduino
Re tout le monde,
Je viens de tester avec la manip de J-M-L et tout fonctionne, que ce soit sur le UNO ou le NANO les même valeurs s’affiche dans la console…
Donc on peut en deduire que la liaison BT fonctionne bien sur les 2 et que le téléversement aussi.
Du coup j’ai réessayé mon 1er code sur les 2 mais même résultat, UNO → OK, NANO -->NOK
Je vais essayer de faire d’autre test maintenant que je sais tout ça. n’hésitez pas si vous avez d’autres pistes.
Bonne nouvelle, c’est que le montage de base fonctionne
donc soit il y a un soucis dans le logiciel fourni (je n’ai pas regardé leur code), soit il y a un souci matériel lié au ruban
pouvez vous confirmer que sur le Nano vous connectez bien le GND de la carte avec le GND du HC05 ET le GND du ruban ? pouvez aussi confirmer que le ruban est alimenté séparément et pas à partir de la pin 5V de la carte ?
Alors je confirme que tous les GND sont connectés ensemble, je confirme aussi que l’alimentation du ruban est à part mais que les GND sont connectés ensemble…
Du coup j’ai fais un autre essai avec une nano elegoo et même résultat je précise que sur l’elegoo j’ai essayé le prog de base bluetooth cité plus haut et ça marche.
Du coup j’ai mis un voltmètre entre la sortie de cde du ruban, sortie 7 et le GND: pour le UNO j’ai 0.67v et pour le NANO j’ai 0.17v est-ce possible que ce soit une histoire de voltage de sortie???
Même si j’imagine que c’est une fréquence en sortie pour l’adressage du ruban.
Il vous faudrait un oscilloscope pour tracer ce qu’il se passe sur la pin data. La tension que vous. Oyez ne veut pas dire grand chose c’est une sorte de tension moyenne d’une broche qui oscille vite.
Ça ne vient sans doute pas de là
Bonjour,
J’ai fait de nouveaux tests…
Je connecte le UNO sur une alim, et le ruban à LED sur une autre avec les GND connectés ensemble. Je ne connecte pas le module HC-05(Bluetooth) et je téléverse le prog cité plus haut et tout fonctionne à merveille le text par défaut défile bien sur le ruban.
Je fais la même chose, même branchement même téléversement avec le NANO et là, plus rien sur le ruban!!!
Donc on ne peut pas dire que cela vient du module HC-05(Bluetooth)…
De plus pour aller plus loin j’ai essayé plusieurs librairies sur le NANO, dont Adafruit neoPixel titletest qui fonctionnent très bien!!! donc pas un problème de puissance en sortie du NANO ni de téléversement.
Je ne vois vraiment pas ce qui cloche!!! J’ai remarqué que les pins TX et RX sont inversés entre un UNO et un NANO est-ce que cela pourrait provoquer un problème dans le programme???
Du coup j’ai trouvé !!! A grand coup de Serial.println() comme moyen de debuggage…
Je pense que le problème venait du fait que l’on essaye de lire des valeurs dans l’EEPROM à l’initialisation du programme alors que l’EEPROM était vierge vu que ma NANO était neuve… alors que j’ai déjà fait plein de projets avec ma UNO(du coup des valeurs dans l’EEPROM).
Du coup j’ai mis en commentaire toute la partie de lecture de L’EEPROM pour le 1er téléversement ce qui à permis d’afficher le texte par defaut, puis je me suis connecté en bluetooth et j’ai envoyé un texte, par l’appli sur le mobile, pour qu’il soit écrit dans l’EEPROM. Ensuite j’ai “dé-commenté” la partie lecture de l’EEPROM dans le programme et retéléversé le programme de base et là; la magie à opérée!!! Ca marche!!!
Voici la partie que j’ai mise en commentaire…
Je pense qu’il y a un problème dans le while si quelqu’un a une idée pour m’éviter de faire cette manip pour chaque Arduino neuf cela serait vraiment super cool.
char data[100]; //Max 100 Bytes
int len=0;
char k;
String Text= "";
k=EEPROM.read(50);
Serial.println(k);
while(k != '\0' && len<500) //Read until null character
{
k=EEPROM.read(50+len);
data[len]=k;
Text+=k;
len++;
}
data[len]='\0';
Si cela peut aider quelqu’un c’est avec grand plaisir que je réexpliquerai la solution à mon problème.