Ce tutoriel fait partie de: Kit voiture intelligente SunFounder Raspberry Pi Pico Pico 4WD
Les fichiers relatifs à ce groupe seront affichés ensemble. Vous trouverez des liens vers d'autres vidéos plus bas.
Cours Leçon 2 sur 10 : Python de base pour piloter le kit de voiture intelligente 4WD Raspberry Pi Pico
Dans cette deuxième leçon du cours Robojax Raspberry Pi Pico 4WD Smart Car, nous explorons les concepts fondamentaux de la programmation Python qui vous permettront de contrôler votre robot. Ce guide est conçu pour vous faire passer d'une expérience de codage nulle à l'écriture confiante de scripts qui contrôlent le matériel. Au lieu de simplement mémoriser la syntaxe, nous explorerons le « pourquoi » derrière chaque concept, vous donnant les outils pour construire et personnaliser vos propres projets. À la fin de cette leçon, vous aurez une solide compréhension des variables, du flux de contrôle, des fonctions et des listes—les éléments de base pour tous les projets futurs.
Ces connaissances ne servent pas uniquement à une voiture intelligente. Les principes que vous apprendrez ici sont les mêmes que ceux utilisés dans d'innombrables applications réelles. Vous pourriez appliquer ces compétences à :
- Automatiser une serre domestique pour contrôler les ventilateurs, les pompes et les lumières en fonction des données des capteurs.
- Construire un système de sécurité personnalisé qui déclenche des alarmes ou envoie des notifications.
- Créer des installations artistiques interactives qui réagissent à l'environnement.
- Développer vos propres comportements de robot personnalisés au-delà de ceux préprogrammés.
Matériel/Composants
Pour suivre les exemples matériels de cette leçon, vous aurez besoin des composants suivants. Ils font tous partie du kit SunFounder Raspberry Pi Pico 4WD Smart Car, mais peuvent être achetés individuellement pour des expériences autonomes.
- Raspberry Pi Pico : Le cerveau microcontrôleur du projet.
- Une LED : Utilisée pour démontrer le contrôle de sortie numérique.
- Une résistance (150Ω - 330Ω) : Pour limiter le courant et protéger la LED.
- Des fils de connexion : Pour effectuer les connexions sur une plaque d'essai.
- Une plaque d'essai : Pour prototyper votre circuit.
Guide de câblage
Pour la démonstration matérielle de cette leçon, nous allons construire un circuit simple pour contrôler une LED avec un Raspberry Pi Pico. Le câblage est simple et constitue une première étape classique en informatique physique. La clé est d'utiliser une résistance de limitation de courant pour empêcher la LED de griller. La résistance est connectée en série avec la LED. La patte longue de la LED (l'anode) est la connexion positive, et la patte courte (la cathode) est la connexion négative.
Dans la vidéo, l'instructeur utilise une résistance connectée à la broche de masse et à la patte courte de la LED. La patte longue est connectée à la broche GPIO 22. Cette configuration permet au Pico d'envoyer un signal haut (3,3 V) à la broche pour allumer la LED et un signal bas (0 V) pour l'éteindre.
Remarque : Le schéma de câblage est montré dans la vidéo. Veuillez vous référer au guide visuel pour un placement exact.
Explication du code
Cette leçon se concentre sur la syntaxe et la logique Python de base, essentielles pour contrôler votre robot. Décomposons les concepts clés abordés dans la vidéo. Les exemples de code sont écrits en MicroPython, une version de Python conçue pour fonctionner sur des microcontrôleurs comme le Raspberry Pi Pico.
Variables et types de données
Les variables sont comme des boîtes étiquetées où vous stockez des informations. En Python, vous n'avez pas besoin de déclarer le type d'une variable ; il est déduit de la valeur que vous assignez. (dans la vidéo à 03:33)
age = 23 # Ceci est un entier
name = "Ahmad" # Ceci est une chaîne de caractères (texte)
pi = 3.14 # Ceci est un flottant (décimal)
Vous pouvez utiliser ces variables dans des calculs et imprimer leurs valeurs. Par exemple, pour calculer le nombre de jours dans un âge donné, vous pourriez utiliser days = age * 365. La fonction print() est utilisée pour afficher la sortie sur la console.
Instructions conditionnelles (Si/Sinon)
Les instructions conditionnelles permettent à votre code de prendre des décisions. C'est crucial pour qu'un robot réagisse à son environnement, comme s'arrêter lorsqu'il détecte un obstacle. (dans la vidéo à 07:39)
age = 16
if age >= 17:
print("Vous pouvez conduire")
else:
print("Trop jeune pour conduire")
L'instruction if vérifie une condition. Si la condition est True, le bloc de code indenté en dessous est exécuté. Si elle est False, le code sous l'instruction else s'exécute. L'indentation (espaces au début d'une ligne) est critique en Python ; elle définit quel code appartient à quel bloc.
Boucles (Pour et Tant que)
Les boucles sont utilisées pour répéter un bloc de code. C'est idéal pour des tâches comme scanner les valeurs des capteurs ou déplacer un moteur à travers une séquence d'étapes. (dans la vidéo à 09:04)
Boucle Pour : Cette boucle itère un nombre spécifique de fois.
for x in range(5): # x sera 0, 1, 2, 3, 4
print(x)
Boucle Tant que : Cette boucle continue tant qu'une condition est vraie. C'est utile pour créer une boucle de programme principale qui tourne pour toujours jusqu'à ce qu'un événement spécifique se produise. (dans la vidéo à 12:13)
x = 9
while x > 5:
print("La valeur de x est :", x)
x = x - 1 # Décrémenter x
print("Boucle terminée")
Soyez prudent avec les boucles while True:. Elles tourneront pour toujours à moins que vous n'utilisiez une instruction break pour sortir de la boucle ou que vous arrêtiez le programme.
Fonctions
Les fonctions sont des blocs de code réutilisables qui effectuent une tâche spécifique. Elles aident à garder votre code organisé et à éviter la répétition. (dans la vidéo à 14:52)
def calculate_days(years):
days = years * 365
return days
# Maintenant, nous pouvons utiliser cette fonction plusieurs fois
days_in_10_years = calculate_days(10)
print("Jours en 10 ans :", days_in_10_years)
Ici, calculate_days est une fonction qui prend un argument (years) et renvoie une valeur. C'est plus efficace que d'écrire le même calcul encore et encore. La vidéo montre également comment une fonction peut en appeler une autre, ce qui vous permet de construire des opérations complexes à partir de parties simples et testables.
Listes
Les listes sont utilisées pour stocker une collection ordonnée d'éléments. C'est parfait pour stocker une séquence de commandes pour votre robot, comme « avancer », « reculer », « gauche » et « droite ». (dans la vidéo à 19:15)
move = ["forward", "back", "left", "right", "stop"]
print(len(move)) # Affiche le nombre d'éléments dans la liste (5)
print(move[0]) # Affiche le premier élément, "forward"
# Vous pouvez ajouter des éléments
move.append("cliff")
# Vous pouvez supprimer des éléments
move.pop() # Supprime "cliff"
# Vous pouvez modifier des éléments
move[2] = "fly" # Remplace le troisième élément par "fly"
Les listes sont indexées à partir de zéro, ce qui signifie que le premier élément est à l'index 0. La fonction len() vous donne la longueur de la liste, et vous pouvez utiliser une boucle for pour parcourir tous les éléments. La fonction enumerate() est également introduite, qui vous donne à la fois l'index et la valeur pendant une boucle, ce qui est utile pour travailler avec plusieurs broches ou capteurs.
Travailler avec les broches et le temps
C'est ici que vous connectez la logique Python au monde physique. Vous utilisez la bibliothèque machine pour contrôler les broches GPIO du Pico. (dans la vidéo à 25:16)
from machine import Pin
import time
# Configurez la broche 22 comme sortie
led = Pin(22, Pin.OUT)
# Allumez et éteignez la LED
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Vous pouvez également lire une broche en la configurant comme entrée avec Pin(2, Pin.IN). La bibliothèque time est essentielle pour ajouter des délais (time.sleep()) et pour mesurer le temps écoulé en utilisant time.ticks_ms() ou pour convertir entre les formats de temps avec time.localtime() et time.mktime(). C'est crucial pour la logique basée sur le temps, comme la création d'un signal de modulation de largeur d'impulsion (PWM) pour contrôler la vitesse du moteur.
Projet/Démonstration en direct
Dans la vidéo, l'instructeur fournit une démonstration en direct de ces concepts. Il commence par montrer des instructions simples print() et des affectations de variables dans un interpréteur Python. Il passe ensuite à des exemples plus complexes, montrant visuellement comment les instructions if modifient le flux d'un programme en fonction de la valeur d'une variable.
L'instructeur démontre ensuite un exemple matériel pratique en connectant une LED au Raspberry Pi Pico. Il écrit un script MicroPython simple qui allume et éteint la LED avec un délai d'une seconde, montrant le résultat direct du contrôle d'une sortie physique avec du code. Cet exemple pratique consolide le lien entre la logique de programmation et l'action dans le monde réel. La leçon se termine en montrant comment utiliser enumerate pour gérer plusieurs broches et comment utiliser le module time pour des opérations de synchronisation et de planification plus avancées.
Chapitres
- [00:00] Introduction au cours Raspberry Pi Pico Smart Car
- [01:31] Aperçu du cours et capacités du kit
- [03:33] Variables et types de données en Python
- [07:39] Instructions conditionnelles (Si/Sinon)
- [09:04] Comprendre les boucles For
- [12:13] Explorer les boucles While
- [14:52] Définir et utiliser des fonctions
- [19:15] Travailler avec les listes et les structures de données
- [25:16] Contrôler les broches GPIO avec MicroPython
- [29:54] Exemple pratique : Faire clignoter une LED
- [31:15] Contrôle avancé des broches avec Enumerate
- [31:24] Travailler avec les fonctions de temps
Ce tutoriel fait partie de: Kit voiture intelligente SunFounder Raspberry Pi Pico Pico 4WD
- Cours Leçon 1 sur 10 : Kit de voiture intelligente 4WD Raspberry Pi Pico de SunFounder par Robojax
- Cours Leçon 3 sur 10 : Assemblage du kit de voiture intelligente 4WD Raspberry Pi Pico de SunFounder par Robojax
- Cours Leçon 4 sur 10 : Carte d'extension Raspberry Pi Pico pour kit de voiture intelligente 4WD
- Cours Leçon 5 sur 10 : Contrôle de la LED RGB WS2812B à l'aide du Raspberry Pi Pico
- Cours Leçon 6 sur 10 : Contrôle des moteurs à courant continu à l'aide du kit de voiture intelligente 4WD Raspberry Pi Pico
- Leçon 7 sur 10 : Suivi de ligne, détection de falaise Calibrer le capteur de niveaux de gris Voiture Raspberry Pi Pico
- Cours Leçon 8 sur 10 : Voiture intelligente Raspberry Pi Pico – Leçon 8 : Servomoteur et suivi d'objet
- Cours Leçon 9 sur 10 : Évitement d'obstacles avec la voiture intelligente 4WD Raspberry Pi Pico
- Cours Leçon 10 sur 10 : Contrôle du kit de voiture intelligente 4WD Raspberry Pi Pico avec application mobile
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Aucun fichier disponible.