Solo Servo Sweep
Composants et fournitures
![]() |
| × | 1 | |||
![]()
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
À propos de ce projet
Présentation
Solo a un excellent environnement de développement mais un manque d'E/S. Actuellement, le port accessoire sort CAN, Mavlink Serial vers Pixhawk et USB vers Sololink (imx6). En utilisant un arduino et une firmata, vous pouvez ajouter des capteurs personnalisés, des servos de contrôle, des voyants clignotants ou toute autre fonction arduino.
Ce tutoriel vous guidera à travers les étapes d'utilisation d'un arduino avec Solo pour contrôler un servo.
Configuration logicielle requise :
- Mise à jour solo 1.2.0 ou supérieure
- IDE Arduino
- Filezilla
- Putty ou tout autre client SSH
Étape 1 : Télécharger l'hôte Firmata sur Arduino Uno


Ouvrez StandardFirmata à partir de l'onglet exemples. Sélectionnez la carte et le port. Téléchargez !
Étape 2 :Configuration du matériel
Pièces




Remarque :La carte de dérivation n'est pas vendue à ce stade. Veuillez vous référer ici
Assemblage





Mise sous tension

Étape 2 :Téléchargez pyMata et le code
pyMata
SoloServoSweep.pyÉtape 3 : Transférer des fichiers vers Solo
- Connectez-vous au réseau Wifi de votre Solo !


Étape 4 : SSH en solo
SSH dans Solo en utilisant le client SSH de votre système d'exploitation. Pour Windows, nous utiliserons Putty.



Assurez-vous que vous êtes toujours connecté au Wifi de Solo !
Voir les légendes des photos pour plus de détails
Étape 5 :Installez pyMata
Exécutez cette commande dans votre session SSH :
Cela devrait être votre résultat

Étape 7 :Exécutez l'exemple
Pendant que votre session ssh est toujours ouverte, exécutez :

Code
- SoloServoSweep.py
SoloServoSweep.pyPython
Conduire un servo en python depuis Solode PyMata.pymata import PyMataimport timeimport sysSERVO_MOTOR =9 # servo attaché à cette brocheEND =170 # Max servo travel# create a PyMata instanceboard =PyMata("/dev/ttyACM0")# configure pin as servoboard.servo_config(SERVO_MOTOR)try:while True:for i in range (0,END):# balayage vers le haut board.analog_write(SERVO_MOTOR, i) time.sleep(.015) for i in range (END,0,- 1) :# balayer board.analog_write(SERVO_MOTOR, i) time.sleep(.015)sauf KeyboardInterrupt :board.close() sys.exit()
Pièces et boîtiers personnalisés
Panneau de déploiement solo
Carte de dérivation pour le port accessoire 3DR Solohttps://github.com/3drobotics/Pixhawk_OS_Hardware/tree/master/Accessory_Breakout_X1Schémas

Processus de fabrication