De nombreux débutants (absolus) reçoivent un Raspberry Pi en cadeau, mais ont souvent peu ou pas de connaissances en programmation. C’est pourquoi j’aimerais, dans cette série de tutoriels, lever cet obstacle et encourager l’apprentissage de la programmation avec le Raspberry Pi. Le grand avantage est que nous pouvons également écrire un code lié au matériel, ce qui nous permet d’utiliser les broches GPIO du Raspberry Pi.
Nous utilisons Python comme langage de programmation, car c’est l’un des langages les plus faciles à apprendre pour les débutants et il y a aussi généralement le plus de références et d’exemples disponibles.
Pièces de matériel requises
Une remarque préalable : Cette série de tutoriels a pour but de faciliter les premiers pas dans la programmation sur le Raspberry Pi, mais ne doit pas être considérée comme un cours indépendant. Un livre est très utile pour approfondir vos connaissances et rechercher des choses. Je peux notamment vous recommander l’un de ces deux livres pour apprendre :
- les bases pures de Python : Python Crash Course (Eric Matthes )
- Programmer le Raspberry Pi : Débuter avec Python (Simon Monk)
Logiciel
Pour commencer, nous avons besoin des matériels suivants :
- Raspberry Pi (le modèle n’a pas d’importance – je ne recommande pas le Model Zero)
- micro SD card (min. 8 GB)
- Keyboard
- Mouse
- câble hdmi
- Adaptateur électrique USB + Câble Micro USB
- adaptateur wlan usb si nécessaire
Préparation
Avant de commencer à programmer, nous devons prendre quelques mesures pour configurer l’environnement. Tout d’abord, il est nécessaire que le Raspberry Pi reçoive un système d’exploitation. La Fondation Raspberry Pi fournit le système d’exploitation Raspbian, que nous devons télécharger. Ensuite, nous transférons le fichier inclus sur la carte micro SD. Vous pouvez trouver des instructions détaillées ici :
Transférer le système d’exploitation Raspberry Pi Raspbian sur une carte SD (Windows)
Une fois l’image sur la carte SD, nous l’insérons dans le Raspberry Pi. Dès que le clavier, la souris et l’écran sont connectés via le câble HDMI, nous pouvons le démarrer. Pour ce faire, il suffit de brancher le câble micro USB et de le mettre sous tension. L’écran devrait ensuite s’allumer et quelques lignes de code devraient apparaître sur un fond noir.
Peu de temps après, le processus de démarrage est terminé et nous voyons le bureau :
Nous ouvrons ensuite la console Python, dans laquelle nous pouvons immédiatement entrer le code du programme. Pour l’ouvrir, cliquez d’abord sur le symbole Raspberry Pi en haut à gauche, puis sous Programmation sur « mu ». Si vous ne voyez pas cette option, vous pouvez soit l’installer (Préférences -> Logiciels recommandés), soit utiliser l’IDE Thonny Python.
Premièrement, on vous demande de choisir le mode d’édition. Sélectionnez Python 3.
La console Python s’ouvre ensuite et ressemble à ceci. Nous allons écrire notre code dans cette console :
Cliquez sur « REPL » dans la barre supérieure, afin que nous puissions voir notre sortie immédiatement.
Si vous vous demandez pourquoi nous avons pris Python 3 et si vous pouvez utiliser Python 2, la réponse est que les deux sont possibles. Il existe quelques différences entre ces deux versions, mais elles n’ont pas d’importance pour commencer. Le code que nous écrivons est exécutable sur les deux versions.
Si vous êtes intéressé par les différences en détail, vous pouvez lire cet article.
Hello World Plus
Assez de mots, nous commençons ! Dans la console, nous voulons commencer par une application typique « Hello World ». Tout ce que vous avez à faire est de taper la ligne suivante et de l’envoyer avec Entrée :
print("Hello World")
Avec cela, nous obtenons notre première sortie :
Print
est la fonction que nous appelons ici. Entre les parenthèses, nous donnons les paramètres dont la fonction a besoin. Comme il s’agit d’une chaîne de caractères, nous devons également mettre les guillemets au début et à la fin, car les autres mots sont interprétés comme des variables, ce que nous verrons dans un instant.
Maintenant, c’est assez ennuyeux de sortir une simple phrase. C’est pourquoi nous créons maintenant ce que l’on appelle une variable. Il s’agit d’un espace réservé qui peut prendre différentes valeurs et qui peut être adressé par son nom. Vous voulez un exemple ? Ici :
number = 7 print(number)
L’avantage des variables est que nous pouvons facilement écraser leur valeur. Dans l’exemple suivant, nous créons deux variables et ajoutons la première à la seconde (et enregistrons le résultat dans la seconde variable – nous l’écrasons donc) :
number_1 = 7 number_2 = 3.5 number_2 = number_1 + number_2 print(number_2)
Mais faites attention : En plus des nombres (entiers), les variables peuvent aussi, par exemple, contenir des chaînes de caractères. Une addition n’est pas possible ici et conduirait à une erreur.
A propos : La variable peut être nommée comme vous le souhaitez, mais ne doit pas commencer par un chiffre. De même, aucun caractère spécial (hormis le trait de soulignement) ne peut être utilisé. De même, deux variables ne peuvent pas avoir le même nom.
Commentaires
Une autre fonction utile est celle des commentaires qui expliquent le code au cas où quelqu’un d’autre ou vous-même regarderiez à nouveau le code plus tard. Ces commentaires sont disponibles dans tous les langages de programmation et peuvent également être utilisés pour « couper » certaines parties du code afin qu’elles ne soient pas exécutées. Ce processus est appelé « commenting out ».
En Python, les commentaires commencent par un hashtag (#). Le reste de la ligne n’est alors plus exécuté. Voici un exemple :
# This is a comment print("Line1") # another comment #print("Line2") print("Line 3")
Comme vous pouvez le voir, seules les lignes 1 et 3 sont affichées car nous avons commenté la commande du milieu.
Premières requêtes
Comme déjà dit, les variables peuvent avoir des valeurs différentes. Pour que nous puissions les interroger à nouveau, il existe également une possibilité à cet effet. Nous pouvons le faire avec if .. else
. Voici un exemple :
number = 7 # assuming an unknown number is added here if number == 10: print("number = 10") elif number < 10: print("less than 10") else: print("greather than 10")
Il y a beaucoup de choses à considérer ici :
- A la fin de la
if
,elif
ouelse
il doit y avoir un deux-points car nous disons que la condition est terminée. On peut aussi lier plusieurs conditions. - Pour les requêtes, les options suivantes existent
==
(égalité),<
(plus petit),>
(plus grand),<=
(plus petit/égal),>=
(plus grand/égal). Lors de la vérification de l’égalité, le simple signe égal ne doit pas être utilisé, car il ne fait qu’attribuer des variables. - Les commandes qui sont exécutées si la condition est vraie doivent être indentées par des espaces. Tout doit être au même niveau ou indenté de manière égale. Par défaut, l’indentation est de 4 espaces.
Je vais ensuite montrer un exemple étendu pour que la syntaxe soit un peu plus facile à comprendre (personne fictive avec une date de naissance le 30 juillet 1980) :
birth_day = 30 birth_month = 7 birth_year = 1980 output = "" # empty string if birth_year < (2017 - 18): # user is old enough output = "age > 18" else: if (birth_month >= 6) and (birth_month <= 9): output = "child has birthday in the summer" else: # here e.g. there is another command output = "not a summer child" print(output)
Comme vous pouvez le constater, il est très facile d’imbriquer des requêtes. Il est seulement important de toujours garder un œil sur les indentations, sinon, vous obtiendrez une erreur (ou le programme sera exécuté incorrectement).
Loops
Nous allons ensuite faire un pas de plus et nous intéresser aux « boucles ». Il s’agit en fait de simples répétitions, au cours desquelles on vérifie après chaque répétition (également appelée itération) si la condition spécifiée est (toujours) vraie.
Les deux types de boucles sont appelés ForLoop et WhileLoop. La boucle while vérifie d’abord si la requête est vraie. Voici un exemple :
x = 0 while x < 5: print(x) x += 1
À chaque répétition, on vérifie d’abord si x est inférieur à 5 et si c’est le cas, la partie en retrait est exécutée. On sort le nombre une fois, puis on ajoute 1 à x. Les nombres 0 à 4 sont ainsi sortis.
En revanche, la structure du for loop est un peu différente. En Python, sa définition est for .. in .. :
où le premier paramètre est une variable (qui est disponible dans la boucle) et le second paramètre est par exemple une liste. Nous avons les options suivantes pour sortir les nombres de 0 à 4 :
# first alternative for number in range(5): # range(x) outputs the numbers from 0 to x-1 print (number) # second alternative for number in [0,1,2,3,4]: print (number)
Comme vous pouvez le constater, un for loop est préférable pour faciliter le comptage.
Externalisation du code dans les fichiers
Comme dernière étape de ce tutoriel, je veux vous montrer comment écrire le code dans un fichier et l’exécuter. Comme vous écrivez généralement des blocs entiers de code, vous souhaitez également qu’ils soient exécutés de manière séquentielle. Le compilateur, qui traduit le code lisible (compréhensible par l’homme) en code machine, peut exécuter des commandes individuelles ou des fichiers entiers.
Cliquez sur le symbole du dossier dans la barre de navigation et cliquez avec le bouton droit de la souris sur l’espace libre. Sous « Créer nouveau »> « Fichier vide », vous pouvez créer un nouveau fichier :
Nommez-les par exemple « programme1.py » (sans guillemets). N’oubliez pas l’extension « .py », pour qu’il soit clair qu’il s’agit d’un script Python.
Vous pouvez ouvrir le fichier créé par un double clic. Vous pouvez y écrire votre code et le sauvegarder via le menu. J’ai collé le code ci-dessus :
Après la sauvegarde, nous pouvons déjà lancer le fichier. Cela se fait via le terminal/console. Pour ce faire, cliquez sur l’icône à droite du dossier dans la barre des tâches. Une fenêtre noire s’ouvre dans laquelle vous pouvez saisir quelque chose.
Ici, vous écrivez ce qui suit (envoyer avec Enter) :
python3 program1.py
Le programme va ensuite s’exécuter du début à la fin. Toutes les requêtes sont exécutées jusqu’à ce que le programme ait atteint la fin où il n’y a plus de commandes. Il se termine alors.
Voilà, c’était la première partie de mon petit aperçu pour commencer à programmer avec le Raspberry Pi. Dans la prochaine partie, nous nous concentrerons sur la lecture et l’écriture des broches GPIO, que nous pouvons utiliser pour contrôler des composants électroniques tels que les LEDs et les boutons de lecture.
PS : Aucun code Python ne peut être vu dans l’image d’entrée puisqu’elle ne doit être qu’un symbole 🙂
PPS : Les commentaires/suggestions (surtout ceux des débutants) sont les bienvenus pour que je puisse adapter les autres parties en conséquence.
8 commentaires
Ja, jetzt solltest nur noch französisch können!
Malheureusement, je ne parle pas français. Par conséquent, s’il vous plaît, pas d’autres informations dans cette belle langue.
Ich bin leider des Französischen nicht mächtig
Enfin j’apprecie lw contenu de ce tutorial dans cette belle langue qui ne me pose aucun problème. S’il vous plait Felix continuez.
man sollte es lernen, in ein paar Jahren wird es die germanische Sprache nicht mehr geben.
Ich spreche die Sprache, aber wenn ich das auf frz. lesen will, dann abonniere ichdas. E ben non, je n’ai pas apprecie, d’entre invader pas cette langue, j’ai abonné un FORUM GERMANOPHONE. Aucun idéé pourquoi j’ai reçu ce texte sur mon compte.
Vu la propagation plutôt limitée du français dans nos parages, je soupçonne que l’apparition de cet article résulte d’une petite panne, sympathique d’ailleurs. Evidemment, des articles en français n’apportent et n’apporteront guère grand avantage à la majoritée des emportés sur le « raspi » en Allemagne.
Merci quand-même.
Your blog post was really helpful and informative. I enjoyed reading your insights on the topic. If you want to learn more about this subject, simply click here.