De nombreux débutants (absolus) reçoivent un Raspberry Pi en cadeau, mais ont souvent peu ou pas de connaissances en programmation. Par conséquent, je voudrais éliminer cet obstacle dans cette série de didacticiels et encourager l’apprentissage de la programmation avec le Raspberry Pi. Le gros avantage est que nous pouvons également écrire un code 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.
Hardware requis
Une note à l’avance: la série de didacticiels est destinée à faciliter le démarrage de 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. En particulier, je peux recommander l’un de ces deux livres pour l’apprentissage:
Matériel
Pour commencer, nous avons besoin des pièces matérielles suivantes:
Préparation
Avant de commencer la programmation, nous devons prendre quelques mesures pour configurer l’environnement. Tout d’abord, il est nécessaire que le Raspberry Pi dispose d’un système d’exploitation. La Fondation Raspberry Pi fournit ce que l’on appelle Raspbian OS, 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 Raspberry Pi Raspbian OS 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 un câble HDMI, nous pouvons le démarrer. Cela se fait simplement en connectant le câble micro USB et en le connectant à l’alimentation. L’écran devrait maintenant 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 maintenant la console Python, dans laquelle nous pouvons immédiatement saisir le code du programme. Ouvrez-le en cliquant 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 -> Logiciel recommandé), soit également utiliser l’EDI Thonny Python.
Tout d’abord, on vous demande le mode éditeur. Sélectionnez Python 3.
La console Python s’ouvre maintenant et ressemble à ceci. Nous allons écrire notre code dans ceci:
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 de détail, vous pouvez lire Cet article.
Hello World Plus
Assez de mots, nous commençons! Dans la console, nous voulons commencer avec une application «Hello World» typique. Il vous suffit de taper la ligne suivante et de l’envoyer avec Enter:
print("Hello World")
Avec cela, nous obtenons notre première sortie:
Print
est la fonction que nous appelons ici. Dans les parenthèses, nous donnons les paramètres dont la fonction a besoin. Puisqu’il s’agit d’une chaîne de caractères, nous devons également mettre les guillemets au début et à la fin, car d’autres mots sont interprétés comme des variables, que nous aborderons dans un instant.
Nun ist es recht langweilig einfach nur einen Satz auszugeben. Daher erstellen wir nun eine sog. Variable. Dies ist quasi ein Platzhalter, der verschiedene Werte annehmen kann und über ihren Namen angesprochen werden kann. Beispiel gefällig? Hier:
number = 7 print(number)
L’avantage des variables est que l’on peut 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 deuxième variable – nous le remplaçons donc):
number_1 = 7 number_2 = 3.5 number_2 = number_1 + number_2 print(number_2)
Mais attention: en plus des nombres (entiers), les variables peuvent aussi par ex. contiennent des chaînes. Un ajout n’est pas possible ici et entraînerait une erreur.
Soit dit en passant: la variable peut être nommée comme vous le souhaitez, mais ne doit pas commencer par un nombre. De plus, aucun caractère spécial (à l’exception du trait de soulignement) ne peut être utilisé. Il n’y a pas non plus deux variables pouvant avoir le même nom.
commentaires
Une autre fonctionnalité utile est les commentaires qui expliquent le code au cas où quelqu’un d’autre ou vous reverriez le code plus tard. Ces commentaires sont disponibles dans tous les langages de programmation et peuvent également être utilisés pour «couper» des parties du code afin qu’elles ne soient pas exécutées. Ce processus s’appelle commenter.
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 la ligne 1 et la ligne 3 sont sorties car nous avons commenté la commande du milieu.
Premières requêtes
Comme déjà dit, les variables peuvent avoir des valeurs différentes. Afin que nous puissions les interroger à nouveau, il existe également une possibilité pour cela. 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 à considérer ici:
- À la fin de
if
,elif
ouelse
il doit y avoir deux points car nous disons que la condition est terminée. Nous pouvons également associer 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 signe égal simple ne doit pas être utilisé, car il affecte uniquement des variables. - Les commandes qui sont exécutées si la condition est vraie doivent être mises en retrait avec des espaces. Tout doit être au même niveau ou en retrait également. La valeur par défaut est de 4 espaces à mettre en retrait.
Je vais maintenant montrer un exemple étendu pour que la syntaxe soit un peu plus facile à comprendre (personne fictive avec une date de naissance au 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 voir, il est très facile d’imbriquer des requêtes. Il est seulement important que vous gardiez toujours un œil sur les indentations, sinon vous obtiendrez une erreur (ou le programme sera mal exécuté).
Boucles
Maintenant, nous allons plus loin et examinons les soi-disant boucles. Fondamentalement, ceux-ci représentent des répétitions simples, grâce auxquelles, après chaque répétition (également appelée itération), il est vérifié 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 initialement si la requête est vraie. Voici un exemple:
x = 0 while x < 5: print(x) x += 1
Dans chaque répétition, il est initialement vérifié si x est inférieur à 5 et si c’est le cas, la partie en retrait est exécutée. Nous sortons le nombre une fois, puis ajoutons 1 à x. Les nombres 0 à 4 sont donc sortis.
En revanche, la structure de la boucle for 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 deuxième paramètre est par ex. 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 voir, une boucle for est meilleure pour un comptage facile.
Externalisation du code dans des fichiers
Comme dernière étape de ce tutoriel, je veux vous montrer comment écrire le code dans un fichier et l’exécuter. Étant donné que vous écrivez généralement des blocs de code entiers, vous souhaitez également les exécuter de manière séquentielle. Le soi-disant 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 faites un clic droit sur l’espace libre. Sous « Créer nouveau »> « Fichier vide », vous pouvez créer un nouveau fichier:
Nommez-les, par exemple «Program1.py» (sans guillemets). N’oubliez pas l’extension «.py», il est donc clair qu’il s’agit d’un script Python.
Vous pouvez ouvrir le fichier créé en double-cliquant. Ici, vous pouvez écrire votre code et l’enregistrer via le menu. J’ai collé le code d’en haut:
Après l’enregistrement, nous pouvons déjà démarrer le fichier. Cela se produit via le terminal / la 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 s’exécutera désormais 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. Ensuite, il se termine.
C’était tout avec la première partie de mon petit aperçu pour commencer la programmation avec le Raspberry Pi. Dans la partie suivante, nous nous concentrerons sur la lecture et l’écriture des broches GPIO, que nous pouvons utiliser pour contrôler les composants électroniques tels que les LED et les boutons de lecture.
PS: Aucun code Python ne peut être vu dans l’image d’entrée car il ne doit s’agir que d’une image de symbole ?
PPS: Les commentaires / suggestions (en particulier des débutants) sont les bienvenus afin que je puisse adapter les autres parties en conséquence.