Contrôle de servo avec un clavier ou un autre matériel de boutons?
Je viens de commencé avec Arduino, et à peine une idée à ce sujet plus de l'avancée des choses. Il semble assez simple. Maintenant, je suis celui qui aime habituellement à intégrer les deux appareils ensemble, donc je me demandais si je pouvais contrôler un servo avec le clavier de l'ordinateur ou à deux de matériel de boutons-poussoirs attaché à la carte Arduino.
Dans le cas où il aide, je suis en utilisant un Arduino Uno conseil d'administration. Voici l'exemple de code que j'utilise le balayage de l'servo pour l'instant
//Sweep
//by BARRAGAN <http://barraganstudio.com>
//This example code is in the public domain.
#include <Servo.h>
Servo myservo; //create servo object to control a servo
//a maximum of eight servo objects can be created
int pos = 0; //variable to store the servo position
void setup()
{
myservo.attach(11); //attaches the servo on pin 9 to the servo object
}
void loop()
{
for(pos = 0; pos < 45; pos += 1) //goes from 0 degrees to 180 degrees
{ //in steps of 1 degree
myservo.write(pos); //tell servo to go to position in variable 'pos'
delay(10); //waits 15ms for the servo to reach the position
}
for(pos = 45; pos>=1; pos-=1) //goes from 180 degrees to 0 degrees
{
myservo.write(pos); //tell servo to go to position in variable 'pos'
delay(10); //waits 15ms for the servo to reach the position
}
}
-
Maintenant, disons que je voulais changer le servo de l'angle de la via appuyant sur le
flèche de gauche/droite touches de mon clavier d'ordinateur. Comment pourrais-je aller
faire cela? -
Sinon, si j'ai attaché deux boutons poussoirs pour l'Arduino,
et en appuyant sur on pourrait se déplacer le servo soit à gauche ou à droite, selon
sur le bouton. Les ports qui aurais-je brancher les boutons dans? Tout
les exemples de code ou de diagrammes aiderait grandement!
- arduino.cc/en/Tutorial/Button Est-ce que vous cherchez? Et dans le cas de l'utilisation de votre clavier d'ordinateur est-il connecté directement à l'Arduino, ou un ordinateur qui est connecté à l'Arduino?
- L'arduino est connecté à un ordinateur. Et je veux le contrôle de celle du clavier de l'ordinateur. Un seul ordinateur dans l'équation.
Vous devez vous connecter pour publier un commentaire.
Pour déplacer un servo attaché à un arduino relié à un ordinateur, vous aurez besoin de deux composants.
Vous aurez besoin d'un logiciel sur votre ordinateur pour accepter les commandes du clavier et envoyer des commandes à l'arduino via le port série. Je recommanderais un langage comme python ou java pour le faire comme une simple application peut être écrit assez facilement.
Cochez cette aire de jeux lien pour un exemple d'utilisation de Java. Et pour un exemple en python découvrez ce projet.
Il y a un bug/feature construit dans l'arduino qui va vous donner le chagrin que vous passez ici. L'arduino est conçu pour la réinitialisation automatique lors de la connexion série est faite via le port usb. Cette page a une description détaillée de la question et cite plusieurs façons de traiter avec elle.
Vous aurez besoin de modifier l'esquisse sur l'arduino pour écouter le port série et d'ajuster le servo de position basé sur les commandes reçues à partir de votre ordinateur. Découvrez le python lien ci-dessus. C'est une complète (matériel, logiciel pc et sketch arduino) le projet est destiné à faire quelque chose de très similaire à ce que vous essayez de faire.
Je vous recommande de commencer avec chaque composant et essayer de l'obtenir allant. Comme vous avez un problème, postez votre code et quelqu'un sera heureux de vous aider davantage.
Quant à la seconde question, l'ajout de boutons pour l'arduino est assez simple. Vous allez vous connecter à des entrées numériques. Il y a des centaines d'exemples sur le web. Recherche pour "bouton ajouter pour arduino" et voir ce que vous obtenez. (lol... de 1,3 million de visites). Ici encore, essayez-le et après les détails pour obtenir de l'aide.
Pour la communication série utiliser de mastic
c'est une croix-plate-forme de Série et client ssh
pour la gauche et flèche droite commandes:
il n'y a aucun des caractères ascii de la flèche: mais il y a de l'utf-8;
mastic ou un autre client envoie les caractères utf-8 pour le code ascii de base des caractères utf-8 et ascii exactement la même;
et l'arduino lit uniquement des caractères ascii;
l'arduino lit
--> : 27, 91, 67
<-- : 27, 91, 68
de sorte qu'il n'est pas si simple à lire.
vous pouvez utiliser quelque chose comme ceci
mais ce n'est pas une bonne solution
en raison de la flèche personnage est envoyer 3 octets fr lorsque vous videz il peut vider le 27 si vous lisez 91, 97, 27; et ce n'est pas valide, donc en ne fonctionne pas
vous pourriez écrire un algorithme permettant de soustraire la flèche de commande de 5 caractères ascii dans le fichier de
ou vous pouvez utiliser 4 pour se déplacer à gauche et 6 à déplacer vers la droite; qui sont des caractères ascii et un pavé numérique sont des flèches tirées sur ces touches