Lecture d'un port digital

La carte "Grove PI+" dispose de sept ports digitaux (D2, D3, D4, D5, D6, D7 et D8) tandis que la carte "Grove PI zero" dispose seulement d'un port digital (D3). Ces ports étant configurables en lecture ou en écriture, il faut leur spécifier le mode de fonctionnement désiré. C'est l'ATmega328p (µContrôsleur figurant sur la carte et communiquant avec le Raspberry PI via un Bus I2C) qui va, en fait, piloter ces ports en fonction des ordres qu'il reçoit.

Depuis le µContrôleur, on spécifie la direction de fonctionnement d'un port en lecture via la fonction C :

int pin = 3; /* pour le port D3 */
pinMode(pin, INPUT);
	

Toujours depuis le µContrôleur, on lit l'état d'un port digital via la fonction C :

int pin = 3; /* pour le port D3 */
int state = digitalRead(pin);
	

Le firmware du "Grove PI" contient un programme qui, sur réception d'un ordre de lecture d'un port digital via l'I2C, fournit en retour l'état de ce port.

La blibliothèque Python du "Grove PI" contient également deux fonctions :

Sur le Raspberry PI, on effectuera donc la lecture d'un port digital de la manière suivante :

pin = 3
grovepi.pinMode(pin,"INPUT")
state = grovepi.digitalRead(pin)
	

Remarque : Il n'est pas nécessaire de repréciser, à chaque lecture digitale, le sens de fonctionnement du port.