Acheter aux États-Unis | Acheter au Royaume-Uni | Acheter en Allemagne | Acheter en Italie | Acheter en France | Acheter en Espagne | ここでご購入を! |
Nous avons appris les concepts d’entrée analogique ADC et de sortie analogique PWM dans la leçon 3. Cette fois, nous utilisons de nouveaux dispositifs d’entrée analogique et de sortie PWM.
Dans cette leçon, nous allons vous montrer comment lire un signal analogique à partir d’un potentiomètre (résistance variable) via une broche ADC Pico (GP28). Nous allons également connecter un moteur Servo à GP16 qui peut générer un signal PWM. Le servo fera tourner son bras lorsque vous ferez tourner le potentiomètre.
Sur le schéma de circuit ci-dessus, vous pouvez voir que :
Le fil rouge du servo est connecté à la broche Vbus de Pico (5V)
Le fil brun du servo est connecté à la broche GND de Pico
Le fil jaune du servo est connecté à la broche PWM de Pico (GP16)
La broche GND du potentiomètre est connectée à la broche GND de Pico
La broche VCC du potentiomètre est connectée à la broche 3,3V de Pico
La broche centrale du potentiomètre est connectée à la broche ADC de Pico (GP28)
Vous pouvez télécharger le code Python de la leçon 5 à partir de https://osoyoo.com/driver/pico/lesson5/pico-lesson5.py.
Vous pouvez utiliser Thonny pour ouvrir pico-lesson5.py et le charger ultérieurement dans Pico.
Voici le code complet avec des commentaires:
from machine import Pin, PWM,ADC #import libraries for Pin, PWM, ADC from time import sleep adc = ADC(Pin(28)) #set Potentiometer analog input from GP28 pin servoPin = PWM(Pin(16)) #set servo pwm output to GP16 pin servoPin.freq(50) #set servo frequency 50 def servo(degrees): #rotate servo arm to degrees position # limit degrees beteen 0 and 180 if degrees > 180: degrees=180 if degrees < 0: degrees=0 # set max and min duty maxDuty=9000 minDuty=1000 # new duty is between min and max duty in proportion to its value newDuty=minDuty+(maxDuty-minDuty)*(degrees/180) # servo PWM value is set servoPin.duty_u16(int(newDuty)) while True: value=adc.read_u16() #read Potentiometer value print(value) degree=value*180/65500 #convert Potentiometer value to a servo position angle servo(degree). #rotate servo to that angle sleep(0.001)
Étape 1 : Connectez la carte Pico à l’un des ports USB de votre PC.
Étape 2 : Si vous n’avez pas installé le logiciel Thonny ou que vous ne savez pas comment utiliser l’IDE Thonny, veuillez lire la leçon 1.
Étape 3 : Ouvrez maintenant l’IDE Python Thonny, cliquez sur Exécuter pour sélectionner MicroPython pour Raspberry Pi Pico comme interpréteur.
Veuillez également sélectionner le port COM auquel votre carte Pico est connectée.
Ensuite, cliquez sur OK pour enregistrer les paramètres.
Étape 4 : Maintenant, copiez le code Python dans la fenêtre Thonny comme suit.
Étape 5 : Cliquez sur le petit bouton ►, et la boîte de dialogue d’enregistrement apparaîtra comme indiqué dans la photo suivante.Sélectionnez Raspberry Pi Pico comme destination.
Étape 6 : Nommez le fichier pico-lesson5.py, puis cliquez sur OK.
Étape 7 : Cliquez à nouveau sur le petit bouton ► pour exécuter le code Python.
Maintenant, vous pouvez faire tourner le potentiomètre et vous verrez le bras du servo tourner en conséquence.
Après que l’opération est terminée, appuyez sur Ctrl+C pour mettre fin à la commande.
DownLoad Url osoyoo.com