Arduino

installation d'un facilitateur
sudo npm install -g --unsafe-perm node-red installe node red





La Declaration de variables
int Variable1;
int Variable2 = 0;
On déclare un entier et les deux façon sont valables
Les types de variables
Mot clefDescriptionExemple
booleanDéclare une variable de type boolean (booléen ou binaire en anglais) qui ne peut prendre que deux valeurs : true ou false, VRAI ou FAUX, 1 ou 0, HIGH ou LOWboolean ma_variable=false;
charDéclare une variable de un octet de mémoire (8 bits) qui contient une valeur correspondant à un caractère. Les caractères unitaires sont écrits entre guillements uniques, comme ceci 'A' (différent des " " )on peut écrire en chiffre (c.f. table ascii).char myChar = 'A';
char myChar = 65;
byteDéclare une variable de type octet (8 bits) qui stocke un nombre entier non-signé, soit une valeur de 0 à 255. byte mon_byte=128;
byte b = B10010;
intDéclare une variable de type int (pour integer, entier en anglais). Les variables de type int sont votre type de base pour le stockage de nombres, et ces variables stockent une valeur sur 2 octets. Elles peuvent donc stocker des valeurs allant de - 32 768 à 32 767 int x = 2;
x = -32768;
unsigned intvaleur non signé (ne peut être que positif, de 0 à 65535) unsigned int ledPin = 13;
unsigned int x ;[...] x=0;
longDéclare des variables de type long. Les variables de type long sont des variables de taille élargie pour le stockage de nombre entiers, sur 4 octets (32 bits), de -2 147 483 648 à + 2 147 483 647. long speedOfLight = 186000L;
unsigned longdeclare un nombre tres long sur 4 octet : ( 0 à 4 294 967 295 ((2 exposant 32)-1))unsigned long time;
wordcomme un unisgned int word w = 10000;
floatnombres à virgulefloat mavar=2.89
z = (float)x / 2.0;
double un grand nombre a virgule
char xxx[]Les chaînes de caractères; Les chaînes de caractères sont réprésentées sous forme de tableau de variables de type char et se termine par un zéro. char Str1[15];
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str4[ ] = "arduino";
int yyy[ ]Tableau de variables; Un tableau est une collection de variables qui sont accessibles àl'aide d'un numéro d'index. En programmation en langage C, langage sur lequel le langage Arduino est basé, les tableaux peuvent être compliqués, mais utilisé de simples tableaux est relativement simple. int myPins[] = {2, 4, 8, 3, 6};
char message[6] = "hello";
portee des variables
staticLe mot-clé static est utilisé pour créer des variables qui sont visibles uniquement dans une fonction. A la différence des variables locales qui sont détruites et créées à chaque fois qu'une fonction est appelée, les variables static persistent au-delà de l'appel de la fonction, conservant leurs données entre deux appels de la fonction.
volatiledeclare une variable dans la memoire volatile (ram) utilisation peut fréquente
const Le mot clé const signifie constante. C'est un qualificateur de variable qui modifie le comportement de la variable, en en faisant une variable "lecture seule". Ceci signifie que la variable peut être utilisée comme n'importe quelle autre variable du même type, mais sa valeur ne peut pas être changée dans le programme const int PinPWM=3;
exemple
const float pi = 3.14;
float x;
int mavar=33;
char montableau[]="salut cyril";

void setup() {

  Serial.begin(9600);
  pinMode(buttonPin, INPUT);

}

void loop() {
  // ton programme
}





Les Capteurs Analogiques et numériques
Il existes deux types de capteurs, soit analogiques, soit numériques, le premier envoie une valeur comprise entre un min et un max, c'est l'exemple d'un capteur thermique, l'autre envoie une valeur soit 1, (true ou HIGH) soit 0 (false ou encore LOW) c'est le numérique
AnalogiqueLes capteurs analogiques servent à transformer une grandeur physique en un autre type de variation d'impédance , de capacité, d'inductance ou de tension. Un signal est dit analogique si l’amplitude de la grandeur physique qu’il représente peut prendre une infinité de valeurs dans un intervalle donné.un capteur de lumière : 0<x<500
capteur de temperature : -10<x<60
NumériqueLes capteurs numériques donnent en sortie une valeur finie. Par exemple, si une grandeur physique croît de manière linéaire, la sortie du capteur qui va la mesurer donnera soit une information du type “ TOR ”(Tout Ou Rien), un train d’impulsion ou un échantillonnageint a=0
Initialiser un capteur
pinMode(12, INPUT);on déclare le pin 12 comme étant une entrée de donnée,le processeur sauras que sur ce pin ce seras uniqement des entrée
pinMode(3,OUTPUT);On déclare le pin 3 comme une sortie vers laquelle envoyer les donnée
Lire et écrire sur un capteur
digitalRead(3);on veux lire le signal reçu sur la pin 3 (digital=numerique, ce seras donc soit un 0 ou un 1)
analogRead(12);On veux lire la valeur reçu sur le pin 12 (une valeur quelqu'onque )/!\ si la valeur est comprise entre 0.0001 et 0.9999 la récupérer dans un int risque de donner soit 0 soit 0, le processeur forceras l'arondie
digitalwrite(4,0)on écrit 0 sur le pin 4 (on envoie 0 sur le capteur branché sur le pin 4)
analogWrite(13,4);on écrit 4 sur le pin 13 (on envoie 4 sur le capteur branché sur le pin 13)
exemple :
void setup() {
   pinMode(1, INPUT);
   analogWrite(2, LOW);
   pinMode(12, OUTPUT);

   Serial.begin(9600);
}

void loop() {
   int light = analogRead(1); // on recupère la valeur sur le pin 1
   Serial.print("Light = ");
   Serial.println(light);

   if (light > 100) { digitalWrite (12, LOW); } //si le capterur envoie une valeur supérieur à 100 alors on écrit sur le pin 12 LOW
   if (light < 100) { digitalWrite (12, HIGH); }// si c'est inférieur à 100 on écrit HIGH sur le pin 12
  
}





Les Objets
Les objets sont des structure de codes qui permettent de simplifier l'utilisation d'une fonctionnalité, par exemple le port serie :
Serial.println("quelue chose") permet d'afficher sur le port serie tout un tat d'information, mais pas que. Ainsi l'objet Serial possède un enssemble de fonction/attributs pouvant etre utilisés