Académique Documents
Professionnel Documents
Culture Documents
TP n° 5
1
Table des matières
1 Partie théorique 3
1.1 Etude théorique sur la Communication UART . . . . . . . . . . . . . . . . . 4
1.1.1 UART en général : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1.1 Le protocole UART . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Etude théorique sur la Communication I2C. . . . . . . . . . . . . . . . . . . 5
1.2.1 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Partie pratique 6
2.1 LED avec Raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Code python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Bouton avec Raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Code python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 LDR avec Raspberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 Code python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 LED avec Arduino et Raspberry via UART . . . . . . . . . . . . . . . . . . . 9
2.4.1 Branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Code python dans raspberry . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.3 Code c dans l’arduino . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2
Chapitre 1
Partie théorique
3
1.1 Etude théorique sur la Communication UART
1.1.1 UART en général :
La communication série est simplement un moyen de transférer des données. Les données
seront envoyées séquentiellement, un bit à la fois, contrairement à la communication parallèle,
où plusieurs bits sont envoyés en même temps.
1.1.2 Branchement
Afin d’assurer cette communication il faut s’assurer que les deux carte (Arduino et
Raspberry) sont branchées de la manière suivante :
TX de l’arduino connecté avec RX de Raspberry et
RX de l’arduino avec TX de Raspberry
TX c’est le transmetteur et RX c’est le récepteur
1.1.3 Fonctions
Les fonctions d’écriture sont : ser.write(msg.encode()) //Dans le code python avec ser
c’est le serial de communication, msg c’est le message a envoyer
Serail1.write(msg) //Dans le code c
Les fonctions de lecture sont : ser.read() //Dans le code python avec ser c’est le serial
de communication
Serail1.read() //Dans le code c
4
1.2 Etude théorique sur la Communication I2C.
I²C (Inter-Integrated Circuit), est un bus informatique synchrone, multi-maître, multi-esclave,
à commutation de paquets, asymétrique, inventé en 1982 par Philips Semiconductor (maintenant
NXP Semiconductors). Il est largement utilisé pour connecter des circuits intégrés périphériques
à faible vitesse aux processeurs et aux microcontrôleurs dans les communications intra-carte
à courte distance.
1.2.1 Branchement
5
Chapitre 2
Partie pratique
6
2.1 LED avec Raspberry
2.1.1 Branchement
Figure 2.1
Figure 2.2
7
2.2.2 Code python
1 import RPi . GPIO a s GPIO # Import Raspberry Pi GPIO l i b r a r y
2 GPIO . s e t w a r n i n g s ( F a l s e ) # I g n o r e warning f o r now
3 GPIO . setmode (GPIO .BOARD) # Use p h y s i c a l p i n numbering
4 GPIO . s e t u p ( 1 0 , GPIO . IN , pull_up_down=GPIO .PUD_DOWN)
5 w h i l e True :
6 i f GPIO . i n p u t ( 1 0 ) == GPIO . HIGH :
7 p r i n t ( " Button was pushed ! " )
Figure 2.3
8
2.4 LED avec Arduino et Raspberry via UART
2.4.1 Branchement
Figure 2.4
9
2.4.2 Code python dans raspberry
1 import s e r i a l
2 import time
3
4 i f __name__ == ’__main__ ’ :
5 s e r = s e r i a l . S e r i a l ( ’ / dev / t t y S 0 ’ , 9 6 0 0 , t i m e o u t =1) #c o n f i g u r a t i o n
6 #du s e r i a l de communication
7 ser . reset_input_buffer ()
8 i = 0 ;#i n i t i a l i s e r i
9 w h i l e True :
10 msg = s t r ( i ) #i comme c h a r a c t r e
11 s e r . w r i t e ( msg . encode ( ) )#e n v o y e r l e c h a r a c t r e
12 #i n v e r s e r l e c h a r a c t r e a f i n de c h a n g e r
13 #l ’ e t a t de l a l e d dans l ’ a r d u i n o
14 i f ( i == 0 ) :
15 i = 1
16 else :
17 i = 0
18 time . s l e e p ( 1 )
10