Carte SD sur Adafruit Feather 32u4 RFM95 LoRa Radio 915Mhz branché en SPI

Bonjour

J'ai besoin de votre expérience pour me débuger. J'ai VRAIMENT des bugs blizzard, ça marche de temps en temps puis je change un petit bout de programme et plus rien ne marche... En programmation, ça marche ou ça ne marche pas. Il y a une petite logique qui m'échappe.

J'ai simplifier le code à l'extrême et ça ne marche toujours pas???? Bug d'ordinateur? Bug de mise à jour? bug de branchement? Bug de pièces? je ne sais plus où chercher et j'aimerais comparer avec d'autres personnes qui ont les mêmes modules.

Ça fait plusieurs mois que je tourne en rond. J'aimerais montrer physiquement mon montage à quelqu'un et parler réellement de vive voix avec une personne ici à Montréal.

Y a-t-il quelqu'un à Montreal (Québec) qui connaisse bien les carte Adafruit Feather 32u4 et qui pourrais prendre 30 minutes pour me rencontrer. JE VEUX COMPRENDRE. (pouvez-vous m'écrire j'aimerais vous rencontrer).

Je cherche et recherche, j'ai lu et relu la Doc sur Adafuit et sur les branchement SPI sur les cartes SD.

Il doit y avoir qq chose qui m'échappe. (sans doit à cause de l'anglais...)

MERCI d'avance.

Voici mon code simplifié pour mieux voir l'erreur.

Des fois il peut lire la carte SD des fois non...
Des fois il peut envoyer des message en RF des fois non...
Je redémarre mon ordi, des fois ça marche mieux des fois non...
Ce matin il ne veut rien savoir, je suis découragé. Hier ça marchait bien.

Je suis découragé.

J'en peut plus de jouer à l'essai erreur c'est nul et en plus ça n'avance pas.

Je croyez que c'était un problème de mémoire, mais non.

Sans doute un problème de maitre/esclave avec le communication SPI.

En effet la carte RFM95 LoRa Radio intégré sur le module Adafruit Feather 32u4 est branché sur les mêmes connections que la carte SD. Je croyait que la pin CS faisait le travaille de sélection d'information de l'un à l'autre. Mais il faut croire que non. Mais je ne suis sûr de rien.

J'ai :

  1. une carte Adafruit Feather 32u4 RFM95 LoRa Radio - 868 or 915 : Adafruit Feather 32u4 RFM95 LoRa Radio- 868 or 915 MHz [RadioFruit] : ID 3078 : $34.95 : Adafruit Industries, Unique & fun DIY electronics and kits

  2. une carte lecteur de carte SD.

Les deux sont branchées avec le protocol SPI

j'ai donc branché ma carte SD de la façon suivante :

Carte SD Adafruit Feather 32u4 RFM95 LoRa Radio 915Mhz.

Miso -----------------------> Miso
Mosi -----------------------> Mois
Sck -----------------------> SClk
CS -----------------------> 6
Gnd -----------------------> Gnd
vcc -----------------------> 3,3V

#include <SPI.h>
#include <SD.h>


File fichierSD;
char chaine;

void setup()
{
  Serial.begin(9600);
  delay(10); 
  
  SD.begin(6);
  String nomFichier="1.csv";
  fichierSD = SD.open(nomFichier);

 
}

void loop()
{
  chaine = fichierSD.read();
  Serial.println(chaine);
}

deux choses

1/ assurez vous d'avoir assez de puissance pour à la fois le module radio et la carte SD quand vous voulez utiliser les 2 (comment alimentez vous la carte et le module SD? )

2/ essayez avec le code ci dessous:

#include <SPI.h>
#include <SD.h>

void setup()
{
  Serial.begin(115200);  // port série à 115200 Bauds (changer la console)
  while (!Serial); // à enlever si l'Adafruit Feather n'est pas connecté au PC

  // on n'utilise pas la radio, on désactive son chip select
  pinMode(8, OUTPUT); // RFM69_CS = pin 8 (on peut sans doute utiliser  RFM69_CS au lieu de 8)
  digitalWrite(8, HIGH);

  delay(10);
  SD.begin(6);

  File fichierSD;

  fichierSD = SD.open("1.csv"); // ouvre en lecture par défaut
  while (fichierSD.available())  Serial.println((char) fichierSD.read());
  fichierSD.close(); // ne pas oublier de fermer le fichier

}

void loop()  {}

est-ce que la partie SD fonctionne avec cela? sinon comme vous tournez à 8MHz ça peut être un soucis de vitesse et faut essayer de changer la SPI clock frequency ?

C'est un bug connu (voir google), il provient du fait que le bus SPI (MISO) n'est pas toujours relâché.

L'une des solution que j'avais trouvé a l'époque c'est d'avoir créé deux bus SPI mais le microcontrôleur était un ARM.

Merci Standby

Comment créer 2 bus SPI?

En utilisant d'autres pins pour la carte SD?

Quel sont les sites que tu as visité sur Google ou quels mots clé as tu entré pour trouver la solution du bug?

Merci J-M-L Toujours là pour aider, ça fait du bien et je teste toujours et vais toujours vérifier tes pistes.

1.1 Côté puissance, ma carte Adafruit Feather 32u4 RFM95 Lora est branché directement sur mon ordinateur avec un câble USB.

1.2 voltage de VCC de ma carte SD est de 3.3V C'est une carte Catalex ce qui est bien ce que la carte demande. la carte Adafruit Feather 32u4 RFM95 Lora ne peut pas produire du 5V.

2.1 du côté de ton programme, Merci. Mais rien à faire ça ne marche pas. si je lit tous le fichier avec la boucle je n'est aucune information qui sort : il ne lit pas le fichier, page blanche(le fichier est bien là pourtant)..

2.2 Si je lit un seul caractère, il me donne un "?" dans un losange noir. Donc il ne lit pas non plus....

Quel sont les sites que tu as visité sur Google ou quels mots clé as tu entré pour trouver la solution du bug?

http://forum.arduino.cc/index.php?topic=276274.0

Comment créer 2 bus SPI?

"L'une des solution que j'avais trouvé a l'époque c'est d'avoir créé deux bus SPI mais le microcontrôleur était un ARM."

l'ATmega 32u4 n'est pas d'architecture ARM.

Merci. MERCI

Finalement j'ai pris une autre carte Adafruit Feather 32u4 RFM95 LoRa Radio et j'ai branché directement la carte sd sur le pins de la carte Adafruit.... Et devinez quoi... Ça marche... Grrr.. Il y avait donc un faut contact dans ma plaquette de montage...

Et bien non encore tous faut. Ça marchait hier et ce matin plus rien... j'ai même racheté un lecteur de carte SD pour être sûr. mais Ça ne marche pas...

Bonjour, as tu trouvé une solution? J'ai exactement le même comportement avec ma feather lora M0 (rfm95) et ma carte SD.