Go Down

Topic: [Résolu] Serial entre Arduino et Pi (Read 1 time) previous topic - next topic

nima3333

May 31, 2014, 09:01 pm Last Edit: Jun 01, 2014, 07:24 pm by nima3333 Reason: 1
Bonsoir,
Dans le cadre d'un projet, je dois faire échanger des données (en UART) entre une arduino due (3.3V je précise) et une raspberry (par les ports 8 et 10). Seulement, j'ai un problème : l'arduino ne reçoit pas ce que j'envoie. (Envoie via Minicom, reception via l'IDE arduino, le moniteur série). J'ai testé en jumpant les ports 8 et 10 : minicom reçoit bien les données envoyées par lui-même. J'ai donc testé en branchant le port TXD du raspberry au port RXD d'une arduino Mega (J'ai pas branché le TXD du Mega car 5V). Avec la raspberry et l'arduino en 9600 Bauds, l'arduino reçoit des ÿ en continu. Je ne sais pas quoi faire ...
Pour info, j'ai commenté la dernière ligne de /etc/inittab et j'ai enlevé toutes les références à ttyAMA0 dans /boot/cmdline.txt, et j'utilise ttyAMA0.
Si quelqu'un pouvais m'aider à résoudre mon problème ... merci d'avance !  :D  

infobarquee

bonjour,
sans code, schéma, un peu dur de répondre.
le port du rap est à combien?
AUCUNE AIDE PAR MP

nima3333

Merci de ta réponse rapide  :D
Alors le schéma: 
Le code ... enfin la commande : minicom -b 9600 -o -D /dev/ttyAMA0 puis je peux entrer des valeurs ...
Et c'est à dire le port ?  :smiley-mr-green:

infobarquee

port=>tu as répondu dans ta ligne de commande ;) ttyAMA0
et le code sur l'atmega?
parce que des yyyy c'est un soucis de vitesse la pluspart du temps
AUCUNE AIDE PAR MP

nima3333

Bonjour, encore merci de ta réponse  :)
J'ai pas mis de code sur l'Atmega, j'utilise juste le moniteur série à 9600Bauds, tu penses que je devrais utiliser un code ?

fdufnews

Comment veux-tu que l'arduino sache ce qu'il doit faire avec les informations qui lui arrivent sur le port série si tu ne mets pas un programme dans la carte?

nima3333

C'était juste pour tester si déjà il recevait ces informations  :)

infobarquee


Bonjour, encore merci de ta réponse  :)
J'ai pas mis de code sur l'Atmega, j'utilise juste le moniteur série à 9600Bauds, tu penses que je devrais utiliser un code ?


ha ben voila le blem :)
ma voiture fonctionne pas, je comprends pas.
t'as mis de l'essence au moins?
ha bon non, c'était juste pour tester si elle rolait :)

fdufnews a raison, comment veux qu'il sache quoi faire si on lui donne pas un prog pour traiter l'arrivée des infos?
AUCUNE AIDE PAR MP

nima3333

#8
Jun 01, 2014, 10:59 am Last Edit: Jun 01, 2014, 11:06 am by nima3333 Reason: 1
Merci de vos réponses !  :)

J'ai testé la réception d'un "a" avec le programme suivant :
Code: [Select]
char cache;

void setup() {
pinMode(A0, OUTPUT);
digitalWrite(A0, LOW);
Serial.begin(9600);
}

void loop() {
if (Serial.available() > 0) {
cache = Serial.read();
 //Diagnostique
 if( cache == 'a' )
 {
 digitalWrite(A0, HIGH);
 }
 else
 {
 digitalWrite(A0, LOW);
 }
}  
}

Et ça marche ! La LED s'allume ! Il n'y avait pas de problème à part ma méthode... Merci beaucoup !!!

infobarquee

un peu normal aussi ;)
content d'avoir aidé
passe en résolu dans ce cas ton topic
AUCUNE AIDE PAR MP

Go Up