Bonjour, je travaille actuellement sur un petit projet. J’aimerai que mes modules associés à mon Arduino émettent des sons et des images. J’ai donc écris deux codes différents : un pour mon écran OLED qui affiche des animations et l’autre pour mon module carte SD pour émettre des sons. Lorsque que je compile ces deux codes à part tout fonctionne.
J’aimerai maintenant mettre les deux codes ensemble. Lorsque que je fais la manipulation plus rien ne fonctionne.
Je vous mets le début de mon code. Si quelqu’un a déjà rencontré ce type de problème je suis preneur de tout conseil.
Merci
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <SD.h> // Inclure la librairie SD
#define SDPIN 10 // Chip Select du lecteur SD
#include <TMRpcm.h>
File myFile;
TMRpcm tmrpcm;
char caractere;
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define NUMFLAKES 10 // Number of snowflakes in the animation example
#define LOGO_HEIGHT 16
#define LOGO_WIDTH 16
int max_hp = 100;
int max_ammo = 20;
int hp = max_hp;
int ammo = max_ammo;
int last_hp = hp-1;
int last_ammo = ammo-1;
boolean test_disp = 1;
int i =0;
int j =0;
int z =0;
int minutes = 15;
int secondes = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
tmrpcm.speakerPin = 9; // Speaker sur la pin 9
tmrpcm.setVolume(4); // gestion du volume de 0 à 7
tmrpcm.quality(1); // qualitée audio 0 ou 1
display.begin(SSD1306_SWITCHCAPVCC,0x3C);
// Initialisation de la carte SD
if (!SD.begin(SDPIN)) {
Serial.println(“initialization failed!”); // S’il y a un soucis “initialization failed!” s’affichera au moniteur
return;
}
// Show initial display buffer contents on the screen –
// the library initializes this with an Adafruit splash screen.
// Clear the buffer
display.clearDisplay();
testfillrect();
display.display();
delay(10000);
delay(1000);
tmrpcm.play(“net.wav”);
delay(10000);
display.clearDisplay();
delay(1000);
Comme vous pouvez le voir j’aimerai jouer le morceau pendant que les animations s’affichent.