Ligne 144 : |
Ligne 144 : |
| Du côté Arduino, vous n'avez besoin que d'un simple programme (sketch). Il ouvre la connexion série vers le Pi et envoi les différentes commandes d'affichage. | | Du côté Arduino, vous n'avez besoin que d'un simple programme (sketch). Il ouvre la connexion série vers le Pi et envoi les différentes commandes d'affichage. |
| | | |
| + | === Programme Arduino === |
| + | <nowiki>int pos = 0, width = 1; |
| + | |
| + | void setup() { |
| + | Serial.begin(9600); // Initialize serial connection |
| + | |
| + | // Envoyer la commande d'intialisation du ViewPort au serveur d'affichage du Pi. |
| + | // Cette commande n'est pas encore implémentée sur le serveur python... elle est donc ignorée |
| + | Serial.print("init 500 500\r\n"); |
| + | } |
| + | |
| + | // Fonction d'aide pour enviyer la commande "draw x y w h\r\n" au Pi |
| + | void draw_rect(int x, int y, int w, int h) { |
| + | Serial.print("rect "); |
| + | Serial.print(x); |
| + | Serial.print(' '); |
| + | Serial.print(y); |
| + | Serial.print(' '); |
| + | Serial.print(w); |
| + | Serial.print(' '); |
| + | Serial.print(h); |
| + | Serial.print("\r\n"); |
| + | } |
| + | |
| + | void loop() { |
| + | int n; |
| + | |
| + | if(pos + width > 500) |
| + | return; // Sortir une fois que la commande "exit" est envoyée. |
| + | |
| + | delay(500); // Dessiner un nouveau rectangle toutes les 500 ms |
| + | draw_rect(pos, pos, width, width); // Carré placé à la position (pos, pos) |
| + | |
| + | pos += width; // incrémenter les position x et y |
| + | width++; // Agrandir la largeur (et hauteur) du rectangle |
| + | |
| + | if(pos + width > 500) // Le viewport est maintenant rempli |
| + | Serial.print("exit\r\n"); |
| + | }</nowiki> |
| | | |
| === Upload du programme === | | === Upload du programme === |