Je suis élève de terminale et j'ai un projet par rapport à la gestion du stockage de l'énergie électrique embarquée sur le karting.
Voila mon sujet: A partir de mesures adaptées calculer et afficher en temps réel la puissance fournie par la batterie d'accumulateur lors des phases de fonctionnement du moteur du karting.J'ai des informations mais je dois utiliser Cubloc pour programmer un voltmètre.
J'ai trouvé des programmes mais ils ne sont pas en langage Cubloc donc j'aimerai avoir de l'aide pour le convertir et le mettre sur Cubloc.J'ai des liens ou il explique pour C++ mais moi je programme encore que sur Cubloc. Merci encore de votre aide. https://www.electronicsblog.net/digital ... rial-port/
http://www.qsl.net/yo5ofh/pic/serial_vo ... tmeter.htm
http://startingelectronics.com/articles ... h-arduino/
- Code: Tout sélectionner
int voltage=0;
int channel =0;
unsigned char incomingByte = 0;
boolean measure=false;
void setup() {
Serial.begin(9600);
}
void loop() {
if (measure) {
voltage=analogRead(channel);
Serial.print(0xAB,BYTE);
Serial.print(voltage>>8,BYTE);
Serial.print(voltage%256,BYTE);
delay(50);
}
if (Serial.available() > 0) {
delay(10);
if(Serial.read()==0xAC) {
incomingByte =Serial.read();
switch (incomingByte) {
case 0x10:
measure=true;
channel=0;
break;
case 0x11:
measure=true;
channel=1;
break;
case 0x12:
measure=true;
channel=2;
break;
case 0x00:
measure=false;
break;
}
Voila un autre programme :
- Code: Tout sélectionner
// Nombre d'échantillons analogiques à prendre par la lecture
#define NUM_SAMPLES 10
int somme = 0; // Somme d'échantillons prélevés
unsigned char sample_count = 0; // Taille de l'échantillon
tension flottante = 0,0; // Tension calculée
void setup ()
{
Serial.begin (9600);
}
void loop ()
{
// Prendre un certain nombre d'échantillons analogiques et les additionner
while (<sample_count NUM_SAMPLES) {
+ = somme analogRead (A2);
sample_count ++;
retard (10);
}
// Calculer la tension
// Utiliser 5.0 pour une tension de référence 5.0V ADC
// 5.015V est la tension de référence étalonné
tension = ((float) / somme (float) NUM_SAMPLES * 5,015) / 1024,0;
// Envoyer tension pour l'affichage sur le moniteur de série
// Tension multipliée par 11 l'utilisation de ce diviseur de tension
// Divise par 11. 11,132 est la fracture de tension calibrée
// Valeur
Serial.print (tension * 11,132);
Serial.println ("V");
sample_count = 0;
sum = 0;
}
Merci encore de votre aide.