Document a verifier

Electronique aide Arduino 
pinMode(XXX,INPUT_PULLUP);  plus besoin de mettre une résistance en entrer du BP puis de l’Arduino
digitalRead(XXX);  lit la valeur digital de la pin 
Serial.write(XXX); affiche le code ascii
millis() fonction qui compte le temps en ms peut être utiliser pour faire qqch pendant X temps
analogRead(XXX); lit une valeur analogique sur une de pin Ax 
map(variable,valeur analogique min , valeur analogique max ,new min,new max);
la fct map permet de faire une conversion par exemple :
intensiterX=map(valX,512,1023,0,255);
on va dire que Valx varie entre 512 et 1023 grâce au map cette valeur va varier en 0 et 255.

analogWrite(X,intensiterX); ecrit une valeur en PWM sur les pin PWM de l’Arduino intensiterX varie entre 0 et 255.
tone (nomDuBuzzer,freqBuzzer) ; utiliser pour faire fonctionner un buzzer
noTone(nomDuBuzzer); éteint le buzzer
ParseInt() ; récupère des entiers dans une une chaise de caractère écrite dans le moniteur série
Serial.available() > 0 .  buffer pas vide
On lit que s’il y a un caractère
Serial.read() ;réception d’un caractère 
Serial.readStringUntil() ; pour la réception d’un string, pas oublie de mettre \n 
serialEvent () ; fct appeler quand un évènement apparait dans le moniteur serial
lcd.print() ; imprime un message sur le lcd 
lcd.begin (16,2) ; taille de l’écran a mettre dans le setup
lcd.setCursor(x,y) ; position du curseur avec X les ligne et Y les colonnes
lcd.home() ; position le curseur a la position de base
lcd.clear() ; efface le lcd
lcd.display() ; affiche le texte
lcd.noDisplay() ; cache le texte
lcd.blink() ; fait clignoter le curseur
lcd.scrollDisplayLeft () ; fait allez le texte sur la gauche 
lcd.scrollDisplayRight();; fait allez le texte sur la droite 

Front descendant
Besoin de 1 mémoire en plus pour mémoriser l’état 
char etatBP1Mem=1;  on l’initialise a 1 comme comme ça on sais comparer ensuite on lit l’etat
etatBP1=digitalRead(BP1); 

if ((etatBP1==LOW)&&(etatBP1Mem==1)) on teste avec un if avec 2 conditions si le bp est bien presser et si la mémoire est a 1 
{
   Instruction a faire ;
}
etatBP1Mem=etatBP1;  on mémorise l’état du BP pour le comparer au prochain cycle 
Fonction millis() pour faire un delay
unsigned long  CurrentTime=0;
unsigned long  previousTime=0;
unsigned long  DeltaTime=0;
const int tempo=1500; ici un delay de 1500 ms soit 1,5 sec


void setup() 
{

}

void loop() 
{
  CurrentTime=millis();  on compte le temps d’où current time 
  DeltaTime=CurrentTime-time;  on fait un delta de temps 
  if (DeltaTime>tempo)  on teste si le temps est écouler si oui on rentre dans le if 
  {
    previousTime=CurrentTime; on met à jour previous time pour recommencer a compter 
    //instruction a faire
  }






Interrupt
LOW pin état bas
FALLING front descendant
RISING front montant
CHANGE la pin change de valeur

void setup() 
{
 attachInterrupt(0,nomFonction,LOW);  0 ou 1 pour les pin utiliser , LOW la pin état bas

}
void loop()
{
 					       On appelle pas la fonction dans le loop
}

void Interrupt()
{
   // instruction a faire 
}



























Utilisation capteur VMA 320

On doit utiliser la fonction suivante pour obtenir la température

double Thermistor(int Val_ADC) 
{
 double Temp;
 //Temp = log(10000.0*((1024.0/Val_ADC-1))); // for pull-down configuration
 Temp      = log(10000.0/(1024.0/Val_ADC-1)); // for pull-up configuration
 Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );// Conversion
 Temp = Temp - 273.15;              // Convert Kelvin to Celcius
 //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
 return Temp;
}

Il faut lui donner int Val_ADC est la valeur analogique lue de la pin ou est câblé le capteur 
void setup() 
{
valThermistor=analogRead(thermistor);
temp=Thermistor(valThermistor) ;
// autre instruction a faire avec la température ex : un hystérésis.
erreur=consigne-temp;  
    if(erreur<-1)
    {
      
    }
    if(erreur>1)
    {
      
    }
}
Comparé deux chaines de caractère
if (chaine1 == chaine2)
{
}	

Ou si on veut comparer avec une constante 

if (chaine1 == "laConstante")
{
}	







Utiliser capteur DHT 11
Pas oublier de faire ceci au début : pinMode(dataPin, OUTPUT);
int readDHT11() {
  uint8_t recvBuffer[5];	
  uint8_t cnt = 7;
  uint8_t idx = 0;
  for(int i = 0; i < 5; i++) recvBuffer[i] = 0;	
  
  // Start communications with LOW pulse
  digitalWrite(dataPin, LOW);
  delay(18);
  digitalWrite(dataPin, HIGH);

  delayMicroseconds(40);	
  pinMode(dataPin, INPUT);
  pulseIn(dataPin, HIGH);   
  // Read data packet
  unsigned int timeout = 10000; // loop iterations
  for (int i=0; i<40; i++)	
  {
          timeout = 10000; 
          while(digitalRead(dataPin) == LOW) {
                  if (timeout == 0) return -1;
                  timeout--;
          }
          unsigned long t = micros();	// <6>

          timeout = 10000;
          while(digitalRead(dataPin) == HIGH) {	
                  if (timeout == 0) return -1;
                  timeout--;
          }
          if ((micros() - t) > 40) recvBuffer[idx] |= (1 << cnt);	
          if (cnt == 0)   // next byte?
          {
                  cnt = 7;    // restart at MSB
                  idx++;      // next byte!
          }
          else cnt--;
  }
  humidity = recvBuffer[0];	// %	
  temperature = recvBuffer[2];	// C
  uint8_t sum = recvBuffer[0] + recvBuffer[2];
  if(recvBuffer[4] != sum) return -2;	
  return 0;
}



SerialEvent()
Const char led=4 ;
Void setupt()
{
   pinMode(led,OUTPUT)
{

Void loop()
{
  digitalWrite(led,LOW) ;

}

void serialEvent ()   quand il y a eu un évènement, on allume une led pendant 500 ms
{
  digitalWrite(led,HIGH) ;
  delay(500) ;
}


Est ce que quel qu'un peut me dire si c'est fonction / explication sont correctes ?
Bien a vous,

Bonjour,
Désolé mais ton code est difficilement compréhensible.
Si tu veux commenter ton code, il faut utiliser par exemple //
cela permet justement d'avoir des commentaires dans un code qui est fonctionnel ou du moins compilable.
Là on est obligé de déchiffrer et de supposer ce que tu essaye vraiment de compiler.
De plus ta question est assez vague, si tu as un problème, il est plus efficace de le décrire précisément.
La chose qui me choque dans ton code est la ligne suivante, ou ne sait pas si il y a du code ou uniquement un commentaire:
Fonction millis() pour faire un delay

Je pense que ce n'est pas un code mais plutôt une sorte de pense-bête pour indiquer à quoi servent certaines fonctions.
Mais, le plus simple pour savoir ça est de se référer à l'aide en ligne ou à des sites spécifiques :

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.