【Customer sharing】-- Add 2DOF camera PTZ on Jetbot 2GB AI Robot Car. - Yahboom

【Customer sharing】-- Ajouter une caméra PTZ 2DOF sur la voiture robot AI Jetbot 2GB.

0 commentaires

* Ce blog de Muquan Zhu.

Bonjour à tous. Je suis Muquan Zhu, j'aime programmer des robots. 

Le mois dernier, j'ai acheté le robot YahbomJetbot-mini.
Après un mois à être pleinement familiarisé avec toutes les fonctionnalités de cette voiture, j'ai envie de faire quelques améliorations. Aujourd'hui, je vais partager mes projets.

Contexte

L'angle de la caméra de la voiture Jetbotmini d'origine ne peut être ajusté que manuellement, ce qui limite l'utilisation pour les utilisateurs. La carte d'extension fournit deux ports servo, qui peuvent être utilisés efficacement. Rendez la caméra PTZ programmable.

Liste de préparation

Yaboom Jetbot 2GB Voiture Robot AI *1

caméra 2DOF PTZ paquet *1

 Étapes

1) Assemblez le servo PTZ, initialisez le servo à 90° avant l'installation.

2) Réparez l'assemblage servo PTZ sur le châssis du chariot en vissant la colonne en cuivre.

3)Fixez la caméra Jetson NANO sur le PTZ. (seulement une vis est nécessaire, cela a l'air un peu étrange, mais à peine utilisable.

Programmation

Ici, j'utilise SDG90 servo, qui doit être contrôlé par PWM.


Puisque les broches du jetson NANO ne peuvent pas générer directement de PWM, le microcontrôleur stm8 est intégré sur la carte d'extension jetbotmini en tant que coprocesseur pour sortir du pwm et ensuite contrôler le servo.

Envoyez les données à l'IIC selon le protocole de communication. Les paramètres dans le write_i2c_block_data fonction sont (adresse du coprocesseur, adresse du registre de servo, [numéro de pignon de direction, angle de servo]), dont l'adresse du coprocesseur et l'adresse du registre de servo sont des valeurs fixes.

Le numéro 1 correspond au servo connecté au port S1 sur la carte d'extension.

Le numéro 2 correspond au servo connecté au port S2 sur la carte d'extension.

L'angle du servo est réglé entre 0-180.

Ensuite, nous pouvons commencer à utiliser le write_i2c_block_data fonction pour contrôler la rotation du servo PTZ sur Jupyter lab.

Effet vidéo

(Veuillez ignorer ma table de laboratoire en désordre, hahaha...)

 

 Code

import smbus

importer le temps

bus = smbus.SMBus(1)

Servo_ADD = 0x1B

bus.write_i2c_block_data(Servo_ADD,3,[1,90])

time.sleep(0.1)

bus.write_i2c_block_data(Servo_ADD,3,[2,90])

time.sleep(1)

bus.write_i2c_block_data(Servo_ADD,3,[1,90])

time.sleep(0.1)

bus.write_i2c_block_data(Servo_ADD,3,[2,115])

 


Tags:
Comment jouer "ODE" avec une banane, une pomme, une mangue et une poire ?

Yahboom 2021 Meilleurs 10 Produits en Forte Vente

Laisser un commentaire