Académique Documents
Professionnel Documents
Culture Documents
Informatiques. Il s’agit d’ailleurs d’un des langages de programmation les plus utilisés
Aujourd’hui. Chaque programme en C doit être écrit en respectant des règles d’écriture très
Strictes que nous étudierons petit à petit.Le C est un langage compilé : pour écrire un tel
Programme, il faut commencer par écrire un ou plusieurs fichiers source. Ensuite, il faut
Programme hexadécimal. Cette phase s’appelle la compilation. Les fichiers sourcessont des
Fichiers texteslisibles dont le nom se termine en général par .c ou .h. Les fichiers
Nombreux compilateurs : on peut citer par exemple MPLAB, Mikro, arduino IDE qui sont
Desexcellentscompilateurslibres.
I.Notions de base
#include « F:\sssss\DHT.h »
#include <rtctiny.h>
Void setup()
Void loop()
Objets, types ou fonctions. Le nom du fichier peut être soit à l’intérieur des chevrons < et >,
Même répertoire que le fichier source, puis dans les chemins configurés.
Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de code.
a. Fonction setup
Cette fonction setup() est appelée une seule fois lorsque le programme commence. C’est
Pourquoi c’est dans cette fonction que l’on va écrire le code qui n’a besoin d’être exécuté une seule
b. FonctionPrincipale Loop( )
Notre programme contient une fonction appelée loop : c’est à cet endroit que va
Fonction loopde ce programme. Tout programme en C doit donc comporter une fonction
Void loop()
Chaque instruction, dans l’ordre, les unes après les autres.Après avoir créé une fonction
Setup(), qui initialise et fixe les valeurs de démarrage du programme, la fonction loop ()
(boucle en anglais) fait exactement ce que son nom suggère et s’exécute en boucle sans fin,
Permettant à votre programme de s’exécuteret de répondre.Il faut savoir que cette fonction
Est appelée en permanence, c’est-à-dire qu’elle est exécutée une fois, puis lorsque son
Il s’agit du flux de sortie du programme. Ce flux de sortie est envoyé par défaut vers
Exemple1 : Serial.begin(9600) ;
Serial.println(« Salut ») ;
P=45 ;
Serial.println(p) ;
II.Notions de variable
Les variables
Une variable est un certain endroit en mémoire permettant de stocker une valeur. En C, les
Variables sont typées : elles contiennent soit un entier, un réel, un caractère, … Le type va
Exprimer la nature des données contenues dans notre variable. Les variables portent un nom
Appelé identificateur. Le nom de variable accepte quasiment tous les caractères sauf :
. (le point)
, (la virgule)
Avant d’utiliser une variable, il faut la déclarer, c’est-à-dire fournir son nom et son
L’identificateur. Le type de la variable indique la nature des données que va contenir cette
Exemple :int a ;
En C, les variables ont une valeur quelconque après leur déclaration. Le programmeur
Doit donc initialiser les variables de son programme, sinon elles contiendront n’importe quoi.
Identificateurs valides
Identificateur ne peut pas commencer par un chiffre. Il ne peut pas contenir d’espaces, ni
Contenir le caractère-(tiret) qui serait interprété comme un moins. Il doit être explicite c’est
A-dire qu’il doit être en rapport avec ce que contient la variable. Si une variable contient le
Le type int
Il s’agit d’un type de base prédéfini dans le langage C. Il permet de manipuler des
L’affectation
L’affectation permet d’effectuer des calculs et de transférer le résultat dans une certaine
Variable.
Identificateur. L’écriture d’une valeur dans une variable remplace la valeur précédente qui est
Serial.begin(9600) ;
Int b=0 ;
Int a=10 ;
B=50 ;
B=a +b ;
Serial.println(b) ;
Conditionnelle ou répétitive. Nous verrons dans ce chapitre les structures de contrôles de type
Conditionnelles :
L’instruction if,
L’instruction if else,
L’instruction switch.
1.Le if
Cette structure de contrôle permet d’exécuter
Syntaxe :
If (condition) {
Instruction ;
On évalue la condition :
L’instruction peut être remplacée par une suite d’instructions entre accolades
Les conditions
Exemple :
Serial.begin(9600) ;
Char a[] ;
A=Serial.read() ;
If (a==’p’){
Serial.println (« Gagné ! ») ;
2.Le if … else
Cette structure de contrôle permet d’exécution soit l’instruction 1,
Syntaxe :
If (condition) {
Instruction1 ;
Else {
Instruction2 ;
L’instruction1 ou l’instruction2 peuvent être remplacées par une suite d’instructions entre
Accolades.
Serial.begin(9600) ;
Chara[] ;
A=Serial.read() ;
If (a==’p’){
Serial.println (« Gagné ! ») ;
Else {
Serial.println(« Perdu ») ;
Il est souvent nécessaire d’écrire des conditions assez compliquées. Il faudra alors utiliser le
ET logique et le OU logique.Il faudra une certaine habitude pour ne pas confondre ces
Différents opérateurs.
Le ET logique
Syntaxe
Les instructions ;
Le OU logique
Les instructions ;
4.Le switch……case
Syntaxe :
Switch(identificateur)
Sémantique du switch :
Suivante. Idem s’il vaut c3. Si elle ne vaut ni c1, ni c2, ni c3 alors on exécute l’instruction après default
et on passe à l’instruction suivante. Le default est facultatif. On peut remplacer
Les instructions instruction 1, instruction 2, instruction 3 par des suites d’instructions sans mettre
Exemple :
Serial.begin(9600) ;
Char a[] ;
Switch(a)
Une LED est relié au PIN 5 d’un microcontrôleur et est commandée par le code ci-dessous.
Int i= 0 ;
while (I<8) ;
Delay (1000) ;
Delay (1000) ;
I++ ;
Le but de ce problème est de mettre en place un système automatique de distribution d’eau pour
approvisionner différentes zones de culture à partir d’une rigole. Le système est composé d’une
pompe permettant d’aspirer l’eau de la source, d’un réservoir pour stocker l’eau et d’une
automatisation de contrôle.
Lorsque le réservoir est vide (le capteur NB n’est pas activé) et qu’il y a de l’eau disponible dans la
source (le capteur CO est activé), le réservoir se remplit d’eau jusqu’au niveau maximum (capteur
NH).
Le cycle de remplissage recommence chaque fois que le niveau d’eau atteint le niveau minimum
(capteur NB). Il n’est pas nécessaire de gérer la vidange d’eau.
Les capteurs de niveau d’eau, NH, NB et CO, fournissent une tension de 5 volts en présence d’eau et 0
volt en absence d’eau. Ils sont connectés au microcontrôleur de la manière suivante : D3 pour NB, D4
pour NH et D2 pour CO. La force motrice de la pompe est contrôlée à partir du pin D13.
A) Veuillez illustrer dans un tableau les entrées, sorties et rôles des différents éléments du système.
b) Proposez un schéma électronique utilisant une carte Arduino Uno pour représenter le système.
|------------------|---------------|-------------------------------------------|
b) Schéma électronique utilisant une carte Arduino Uno pour représenter le système :
```
+5V
|
|
R1
GND
```
c) Organigramme du système :
```
Début
Si oui
Si oui
Activer la pompe
Désactiver la pompe
Sinon
Ne rien faire
Sinon
Ne rien faire
Fin
```
```c
Void setup() {
Void loop() {
Informatiques. Il s’agit d’ailleurs d’un des langages de programmation les plus utilisés
Aujourd’hui. Chaque programme en C doit être écrit en respectant des règles d’écriture très
Strictes que nous étudierons petit à petit.Le C est un langage compilé : pour écrire un tel
Programme, il faut commencer par écrire un ou plusieurs fichiers source. Ensuite, il faut
Programme hexadécimal. Cette phase s’appelle la compilation. Les fichiers sourcessont des
Fichiers texteslisibles dont le nom se termine en général par .c ou .h. Les fichiers
Nombreux compilateurs : on peut citer par exemple MPLAB, Mikro, arduino IDE qui sont
Desexcellentscompilateurslibres.
I.Notions de base
#include « F:\sssss\DHT.h »
#include <rtctiny.h>
Void setup()
Void loop()
Même répertoire que le fichier source, puis dans les chemins configurés.
Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de code.
a. Fonction setup
Cette fonction setup() est appelée une seule fois lorsque le programme commence. C’est
Pourquoi c’est dans cette fonction que l’on va écrire le code qui n’a besoin d’être exécuté une seule
b. FonctionPrincipale Loop( )
Notre programme contient une fonction appelée loop : c’est à cet endroit que va
Fonction loopde ce programme. Tout programme en C doit donc comporter une fonction
Void loop()
Chaque instruction, dans l’ordre, les unes après les autres.Après avoir créé une fonction
Setup(), qui initialise et fixe les valeurs de démarrage du programme, la fonction loop ()
(boucle en anglais) fait exactement ce que son nom suggère et s’exécute en boucle sans fin,
Permettant à votre programme de s’exécuteret de répondre.Il faut savoir que cette fonction
Est appelée en permanence, c’est-à-dire qu’elle est exécutée une fois, puis lorsque son
Il s’agit du flux de sortie du programme. Ce flux de sortie est envoyé par défaut vers
Serial.println(« Salut ») ;
Exemple 2 : Serial.begin(9600) ;
P=45 ;
Serial.println(p) ;
II.Notions de variable
Les variables
Une variable est un certain endroit en mémoire permettant de stocker une valeur. En C, les
Variables sont typées : elles contiennent soit un entier, un réel, un caractère, … Le type va
Exprimer la nature des données contenues dans notre variable. Les variables portent un nom
Appelé identificateur. Le nom de variable accepte quasiment tous les caractères sauf :
. (le point)
, (la virgule)
Avant d’utiliser une variable, il faut la déclarer, c’est-à-dire fournir son nom et son
L’identificateur. Le type de la variable indique la nature des données que va contenir cette
Exemple :int a ;
En C, les variables ont une valeur quelconque après leur déclaration. Le programmeur
Doit donc initialiser les variables de son programme, sinon elles contiendront n’importe quoi.
Identificateur ne peut pas commencer par un chiffre. Il ne peut pas contenir d’espaces, ni
Contenir le caractère-(tiret) qui serait interprété comme un moins. Il doit être explicite c’est
A-dire qu’il doit être en rapport avec ce que contient la variable. Si une variable contient le
Le type int
Il s’agit d’un type de base prédéfini dans le langage C. Il permet de manipuler des
L’affectation
L’affectation permet d’effectuer des calculs et de transférer le résultat dans une certaine
Variable.
Identificateur. L’écriture d’une valeur dans une variable remplace la valeur précédente qui est
Serial.begin(9600) ;
Int b=0 ;
Int a=10 ;
B=50 ;
B=a +b ;
Serial.println(b) ;
Conditionnelle ou répétitive. Nous verrons dans ce chapitre les structures de contrôles de type
Conditionnelles :
L’instruction if,
L’instruction if else,
L’instruction switch.
1.Le if
Syntaxe :
If (condition) {
Instruction ;
On évalue la condition :
L’instruction peut être remplacée par une suite d’instructions entre accolades
Les conditions
Exemple :
Serial.begin(9600) ;
Char a[] ;
A=Serial.read() ;
If (a==’p’){
Serial.println (« Gagné ! ») ;
2.Le if … else
Syntaxe :
If (condition) {
Instruction1 ;
Else {
Instruction2 ;
L’instruction1 ou l’instruction2 peuvent être remplacées par une suite d’instructions entre
Accolades.
Serial.begin(9600) ;
Chara[] ;
A=Serial.read() ;
If (a==’p’){
Serial.println (« Gagné ! ») ;
Else {
Serial.println(« Perdu ») ;
ET logique et le OU logique.Il faudra une certaine habitude pour ne pas confondre ces
Différents opérateurs.
Le ET logique
Syntaxe
Les instructions ;
Le OU logique
Les instructions ;
4.Le switch……case
Syntaxe :
Switch(identificateur)
Sémantique du switch :
Suivante. Idem s’il vaut c3. Si elle ne vaut ni c1, ni c2, ni c3 alors on exécute l’instruction après default
et on passe à l’instruction suivante. Le default est facultatif. On peut remplacer
Les instructions instruction 1, instruction 2, instruction 3 par des suites d’instructions sans mettre
Exemple :
Serial.begin(9600) ;
Char a[] ;
A= Serial.read() ;
Switch(a)
1) Définir les expressions suivantes : structure alternative complète , structure alternative, réduire,
boucle, loop , boucle infinie, structure linéaire et structure itérative.