Bonjour, je suis en STI2D et je doit récupérer des données depuis une carte Arduino qui est, elle,est relié a un panneau solaire. J'aimerais savoir comment envoyées ces données sur un tableur sachant que je suis sur un ordinateur du lycée qui nous prive de certaines fonctionnalités.
Voici mon code pour l’instant:
#define VOLTAGE_PIN A0 // broche analogique utilisée pour mesurer la tension (en volts)
#define CURRENT_PIN A1 // broche analogique utilisée pour mesurer le courant (en ampères)
#define VOLTAGE_REF 5.0 // tension de référence de l'Arduino (en volts)
#include <SD.h>
const int chipSelect = 10; // Pin pour le CS du lecteur de carte SD
File dataFile;
void setup() {
Serial.begin(9600);
// Initialisation de la carte SD
if (!SD.begin(chipSelect)) {
Serial.println("Erreur lors de l'initialisation de la carte SD.");
return;
}
Serial.println("Carte SD initialisee.");
// Ouverture du fichier de donnees
dataFile = SD.open("donnees.csv", FILE_WRITE);
if (!dataFile) {
Serial.println("Erreur lors de l'ouverture du fichier de donnees.");
return;
}
Serial.println("Fichier de donnees ouvert.");
// Ecriture de l'en-tête du fichier CSV
dataFile.println("courant,intensité,puissance");
}
void loop() {
float voltage = analogRead(VOLTAGE_PIN) * VOLTAGE_REF / 1024.0; // mesure de la tension
float current = analogRead(CURRENT_PIN) * VOLTAGE_REF / 1024.0; // mesure du courant
float puissance= voltage * current; // calcul de la puissance (en watts)
float energie = puissance / 3600.0; // calcul de l'énergie produite par seconde (en joules)
energie= energie * 3600.0; // conversion de l'énergie en joules par heure (en joules/heure)
Serial.print("Puissance: ");
Serial.print(puissance);
Serial.print(" W\tEnergie produite par heure: ");
Serial.print(energie);
Serial.println(" J/h");
delay(1000); // attendre 1 seconde avant de mesurer à nouveau
// Lire les données du capteur
// Ecriture des donnees dans le fichier CSV
dataFile.print(puissance);
dataFile.print(",");
dataFile.print(energie);
// Envoi des donnees au moniteur serie
Serial.print("Puissance ");
Serial.print(puissance);
Serial.print("energie: ");
Serial.print(energie);
// Pause de 5 secondes avant la prochaine lecture
delay(5000);
Merci