Vous êtes sur la page 1sur 8

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE

MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA


RECHERCHE SCIENTIFIQUE
ÉCOLE NATIONALE SUPÉRIEURE D’INFORMATIQUE

2ème Année Cycle Supérieur (2CS)


2022-2023

TP n° 6

Communication Série I2c-UART-Bluetooth partie 02

Réalisé par : Encadré par :

- ZERROUK Ahmed (SIL1) - SEHAD Abdenour

Année universitaire : 2022-2023

1
Table des matières

1 Partie théorique 3
1.1 Etudier Module ADS1115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Partie pratique 5
2.1 LDR avec raspberrypi et ADS . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Code python : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Capteur de force avec raspberrypi et ADS . . . . . . . . . . . . . . . . . . . 7
2.2.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Code python : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Comparaison avec CAN de arduino . . . . . . . . . . . . . . . . . . . 7
2.3 Conclusion du TP : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2
Chapitre 1

Partie théorique

3
1.1 Etudier Module ADS1115
Tout d’abord : qu’est-ce qu’un ADS1115 ? En fait, il s’agit simplement d’une puce électronique
de chez TEXAS INSTRUMENT (datasheet ADS1115), permettant de faire de la conversion
analogique numérique. Ainsi, par exemple, il est courant de s’en servir pour faire de la mesure
de tension à intervalle régulier, et transmettre ces infos à un microcontrôleur.
Les avantages à utiliser une telle puce sont multiples : précision, rapidité, amplification au
besoin, et surtout, optimisation des entrées sorties. Car en effet, seuls deux fils suffisent pour
contrôler cette mini plaquette ADC, et relever jusqu’à 4 tensions différentes (ça économise
donc bien des entrées sur un microcontrôleur !) Pour l’adresse i2c avec ce module ADC, on
peut choisir parmi 4 adresses différentes possibles, suivant où l’on raccorde la broche ADDR.

Figure 1.1

4
Chapitre 2

Partie pratique

5
2.1 LDR avec raspberrypi et ADS
2.1.1 Configuration
Afin d’assuer une bonne communication il faut activer i2c dans en suivant la commande
"sudo raspi-config". Et effectuer la branchement suivant :

Figure 2.1

Assuer la configuration avec la commande "sudo i2cdetect -y 1", pour visualier les adresses
i2c

2.1.2 Code python :


1 import time
2 import board
3 import b u s i o
4 import a d a f r u i t _ a d s 1 x 1 5 . ads1015 a s ADS
5 from a d a f r u i t _ a d s 1 x 1 5 . analog_in import AnalogIn
6 # C r e a t e t h e I2C bus
7 i 2 c = b u s i o . I2C ( board . SCL , board .SDA)#c a n a l de communication i 2 c
8 # C r e a t e t h e ADC o b j e c t u s i n g t h e I2C bus
9 ads = ADS. ADS1015 ( i 2 c )
10 ads . g a i n = 1
11 # C r e a t e s i n g l e −ended i n p u t on c h a n n e l 0
12 chan = AnalogIn ( ads , ADS. P0 )
13 p r i n t ( " {: >5}\ t {: >5} " . format ( ’ raw ’ , ’ v ’ ) )
14 w h i l e True :
15 p r i n t ( " {: >5}\ t {: >5.5 f } " . format ( chan . v alue , chan . v o l t a g e ) )#a f f i c h e r l e s v a l e u r s
16 time . s l e e p ( 0 . 5 )

Figure 2.2

6
2.2 Capteur de force avec raspberrypi et ADS
2.2.1 Configuration
Afin d’assuer une bonne communication il faut activer i2c dans en suivant la commande
"sudo raspi-config". Et effectuer le montage suivant :

Figure 2.3

2.2.2 Code python :


1 import time
2 import board
3 import b u s i o
4 import a d a f r u i t _ a d s 1 x 1 5 . ads1015 a s ADS
5 from a d a f r u i t _ a d s 1 x 1 5 . analog_in import AnalogIn
6 # C r e a t e t h e I2C bus
7 i 2 c = b u s i o . I2C ( board . SCL , board .SDA)#c a n a l de communication i 2 c
8 # C r e a t e t h e ADC o b j e c t u s i n g t h e I2C bus
9 ads = ADS. ADS1015 ( i 2 c )
10 ads . g a i n = 1
11 # C r e a t e s i n g l e −ended i n p u t on c h a n n e l 0
12 chan = AnalogIn ( ads , ADS. P0 )
13 p r i n t ( " {: >5}\ t {: >5} " . format ( ’ raw ’ , ’ v ’ ) )
14 w h i l e True :
15 p r i n t ( " {: >5}\ t {: >5.5 f } " . format ( chan . v alue , chan . v o l t a g e ) )#a f f i c h e r l e s v a l e u r s
16 time . s l e e p ( 0 . 5 )

2.2.3 Comparaison avec CAN de arduino


Le CAN externe (ADS) est plus précis que le CAN interne d’Arduino, il nous permet
d’obtenir des i/o optimisées et le plus important il nous permet d’économiser les entrées sur
le microcontrôleur. Mais avec arduino on ne configure pas la communication i2c. Donc pour
un travail rapide CAN d’arduino est plus utile, pour l’optimisation et l’économie d’énergie le
CAN externe est plus efficace.

7
2.3 Conclusion du TP :
Les protocoles de communication (uart,i2c,spi) nous donnent la main de controler les
systèmes communicant, ils nous permettent d’installer une approche procédurale sur les
systèmes ou les composants sans séparés mais liés avec un protocole de communication bien
précis et sure. Et comme on a vu dans ce tp il nous permettent aussi d’économiser l’énergie des
microcontrôleurs, qui est un facteur principal dans la conception des système communicants.

Vous aimerez peut-être aussi