Go Down

Topic: Arduino M0 PRO & HC-05 (Bluetooth) (Read 131 times) previous topic - next topic

DominiqueLiard

Bonjour.

Si je travaille avec une carte Elegoo Uno R3, j'arrive à ce que je veux. A savoir, je dois commander une carte Arduino avec une application Android, en passant par le bluetooth. Dans ce cas, tout marche bien.

Par contre, si j'utilise une carte Arduino M0 PRO, çà marche moins bien. A priori, le cablage est Ok et il marche avec la carte Uno. J'arrive à initier la communication, mais il semble que Serial.read et Serial.write ne voient rien passer.

Quelqu'un aurait-il une idée ?

Merci par avance pour votre aide.
Dominique

al1fch

#1
Jan 13, 2018, 10:42 pm Last Edit: Jan 13, 2018, 10:57 pm by al1fch
Bonsoir

"une application..... un module bluetooth... ça marche bien ....ça marche moins bien...."

une idée ?  oui :  "quelque-chose ne se passe pas aussi bien avec le M0 qu'avec la carte UNO"

réponse vague  ?  pas plus que la question...

Quel programme ? Quel module BT ? Alimentation du module BT? Quel port série est utilisé (sans doute soft pour UNO et un des ports matériels pour M0 ?

Informations indispensables pour vérifier si les différences matérielles entre les cartes ont été prises en compte

DominiqueLiard

Module Bluetooth utilisé : HC-05.
L'alimentation est faite en suivant ce schéma : - celà marche très bien avec une Uno.

Pour ce qui est du code, rien que ces quelques lignes ne marchent pas sur la M0 PRO :

Code: [Select]
#define LED_PIN 12

void setup() {
Serial.begin( 9600 );

pinMode( LED_PIN, OUTPUT );
}

void loop() {

if ( Serial.available() > 0 ) {
int code = Serial.read();
if ( code == 'H' ) {
digitalWrite( LED_PIN, HIGH );
} else {
digitalWrite( LED_PIN, LOW );
}
}

delay( 100 );
}


Merci

68tjs

Une petite réflexion sur l'électronique.
Tu peux expliquer comment sont faites les alimentations.
Qui est alimenté en 5V et qui est alimenté en 3,3V ?

Quels niveaux reçoit la carte M0, en particulier  le HC05 envoi quel niveaux ?
A quoi servent les résistances de 1k et de 2k ?

Je ne te cache pas que j'ai une idée derrière la tête (qui peut être juste ou fausse, c'est actuellement une supposition) , mais j'attends ta réponse.

DominiqueLiard

Pour être franc, l'électronique, je débute. Du coup je tatone, et j'ai fait confiance à la doc précédemment cité pour les résistances : l'alimentation est en 5V. Pour autant, çà marche avec l'autre carte.

68tjs

#5
Jan 14, 2018, 12:29 am Last Edit: Jan 14, 2018, 12:31 am by 68tjs
Quote
Pour autant, çà marche avec l'autre carte.
Une réponse comme cela c'est une grosse con**rie.

Si j'ai posé précisément la question sur les alimentations ce n'était pas pour faire du remplissage.
J'attendais des réponses sérieuses et précises à mes questions.

La carte Uno est équipée d'un micro Atmel de la famille avr et qui est alimenté en 5V.
Les niveaux électrique sont 0V pour le 0 logique et +5V pour le 1 logique.

La carte M0 est équipée d'un micro Atmel de la famille ARM qui est alimenté en 3,3 V
Les niveaux électrique sont 0V pour le 0 logique et + 3,3 V pour le 1 logique.
Les micro Atmel ARM ne supportent absolument pas des niveaux de 5V,

Toutes ces données sont disponibles sur le site Arduino, rien n'est caché il suffit de vouloir chercher.

Le HC 05 est probablement alimenté lui aussi en 3,3V et comme l'Atmel ARM il ne doit pas accepter de tension supérieure à 3,3V.
Je dis probablement car le document que tu as fourni n'est pas un schéma électrique mais un dessin de câblage et de plus il est illisible. Fritzing sait établir un schéma électrique à partir du dessin de cablâge, rappelle t-en pour la prochaine fois.

C'est sans doute pour cela qu'avec la UNO il y a 2 résistances sur le TX qui font pont diviseur (rapport 2/3) pour ne pas tuer le HC05.
Mais si tu laisse ces résistances avec le M0 le signal  ne fait plus 3,3V mais 2V et c'est sans doute insufisant pour le HC05.

Go Up