Contrôler un RepStrap avec traitement (10 / 25 étapes)

Étape 10 : Faire avec Firmata

Voici une autre méthode qui utilise la bibliothèque Firmata pour changer la direction de la commande de moteur de transformation.

Vous pouvez en savoir plus à ce sujet ici :
http://Arduino.cc/en/Reference/Firmata
et ici :
http://Firmata.org/wiki/main_page

Je ne comprends pas les détails.  Mais, d’après mon expérience jusqu'à présent, je sais qui est fait un bon travail de gérer la communication entre le PC et l’Arduino.  Ainsi, je suis heureux d’ignorer les détails pour l’instant.

J’ai commencé en modifiant un exemple figurant dans le theArduinoIDE appelé « SimpleDigitalFirmata ».  Une fois ce code est chargé sur l’Arduino, vous pouvez communiquer avec les broches numériques de la carte Arduino directement à partir de traitement.

Dans le traitement, je travaille depuis un exemple qui allume et éteint une LED sur la carte Arduino lorsque vous déplacez une souris sur une carré aube du moniteur du PC.

Pour que le voyant de contrôle de traitement et un moteur pas à pas, vous devez modifier le code pour l’Arduino et le traitement.

Du côté de l’Arduino -, j’ai défini les broches de moteurs pas à pas dans la partie supérieure de l’esquisse.  Ensuite, j’ai coincé dans le code de conduire le stepper à la fin de la boucle principale.  J’ai mis cela en dehors du code qui lit le port série.  Donc le stepper ira juste.

La direction du stepper passe directement de la transformation.  L’exemple de code activé et désactivé une LED sur pin13.  Alors, j’ai juste fait l’axe de direction étape faire la même chose que la LED.

Voici le code.  Cela ne contrôle que le stepper X.

///////////////// ARDUINO //////////////////////
Prend en charge le plus grand nombre d’entrées digitales et sorties que possible.
//
Cet exemple de code est dans le domaine public.

#include

#define XstepPin 10 //Step broche
#define XdirPin 7 //Direction broche

previousPIN Byte [2] ;  PIN signifie PORT pour l’entrée
previousPORT Byte [2] ;

void outputPort (numéro_port octets, portValue octets)
{
Envoyer uniquement les données lorsqu’il modifie, dans le cas contraire, vous obtenez trop de messages !
Si (previousPIN [numéro_port]! = portValue) {}
Firmata.sendDigitalPort (numéro de port, portValue) ;
previousPIN [numéro_port] = portValue ;
Firmata.sendDigitalPort (numéro de port, portValue) ;
}
}

void setPinModeCallback (byte pin, int mode) {}
if(pin > 1) {/ / Don't touch RxTx épingles (0,1)
pinMode (goupille, mode) ;
}
}

void digitalWriteCallback (byte port, int valeur)
{
octet i ;
currentPinValue octets, previousPinValue ;

Si (valeur! = {previousPORT[port])}
pour (i = 0; i < 8; i ++) {}
currentPinValue = valeur (octets) & (1 << j’ai) ;
previousPinValue = previousPORT [port] & (1 << j’ai) ;
Si (currentPinValue! = previousPinValue) {}
digitalWrite (i + (port * 8), currentPinValue) ;
}
}
previousPORT [port] = value ;
}
}

void setup()
{
Firmata.setFirmwareVersion (0, 1) ;
Firmata.Attach (DIGITAL_MESSAGE, digitalWriteCallback) ;
Firmata.Attach (SET_PIN_MODE, setPinModeCallback) ;
Firmata.Begin(57600) ;
}

void loop()
{
outputPort (0, PIND & ~ B00000011) ; broches 0-7, ignorant les broches Rx/Tx (0/1)
outputPort (1, PINB) ; broches 8-13
{while(Firmata.available())}
Firmata.processInput() ;
}

séquence de pas à pas ajouté firmata code
digitalWrite(XstepPin,HIGH) ;    prendre des mesures
delayMicroseconds(2) ;

digitalWrite(XstepPin,LOW) ;
delayMicroseconds(2) ;
delayMicroseconds(1000) ; <<<<<< Permet de modifier la vitesse moteur pas à pas <<<<<<<<

}

//////////////////////////////////Processing/////////////////////////////////
/**
* Simple d’écrire. < modifiée d’orientation pas à pas de contrôle
*
* Vérifier si la souris est sur un rectangle et écrit l’État sur le port série.
* Cet exemple fonctionne avec le câblage / Arduino programme qui suit ci-dessous.
*/

Import processing.serial.* ;
Import cc.arduino.* ;

Arduino arduino ;

Serial myPort ;  Créez l’objet de classe de la série
Données reçues du port série
int ledPin = 13 ;              broche pour LED
int XdirPin = 7 ;             broche pour la direction de stepper X
int XstepPin = 10 ;        broche pour X étape

void setup()
{
taille (200, 200) ;
Je sais que le premier port dans la liste de série sur mon mac
est-ce toujours mon adaptateur FTDI, alors j’ai ouvert Serial.list() [0].
Sur les machines Windows, cela ouvre généralement COM1.
Ouvert quelque port est celui que vous utilisez.
String portName = Serial.list() [0] ;
myPort = nouvelle série (ce, portName, 9600) ;
Arduino = nouvelle Arduino (ce, Arduino.list() [0], 57600) ; v1
arduino.pinMode (ledPin, Arduino.OUTPUT) ;
arduino.pinMode (XdirPin, Arduino.OUTPUT) ;

}

{} void draw()
Background(255) ;
Si (mouseOverRect() == true) {/ / si la souris se trouve sur place,
Fill(204) ;                    changer la couleur et
arduino.digitalWrite (ledPin, Arduino.HIGH) ;              LED sur
arduino.digitalWrite (XdirPin, Arduino.HIGH) ;            Direction de moteurs pas à pas de cette façon

}
else {/ / si la souris n’est pas sur place,
Fill(0) ;                      changer la couleur et
arduino.digitalWrite (ledPin, Arduino.LOW) ;      La LED est éteinte
arduino.digitalWrite (XdirPin, Arduino.LOW) ;    Direction de moteurs pas à pas l’inverse

}
Rect (50, 50, 100, 100) ;         Dessinez un carré
}

Boolean mouseOverRect() {/ / Test si la souris se trouve sur la place
Return ((mouseX > = 50) & & (mouseX < = 150) & & (mouseY > = 50) & & (mouseY < = 150)) ;
}

Articles Liés

Comment faire pour contrôler de LED avec traitement et Arduino

Comment faire pour contrôler de LED avec traitement et Arduino

l'autre jour, j'ai été confronté à un problème intéressant, j'avais besoin pour contrôler une série de feux d'une interaction sur un écran d'ordinateur et il a dû être aussi peu coûteux que possible.  J'ai immédiatement pensé à un Arduino.  Il avait
Contrôler un Arduino avec votre téléphone.

Contrôler un Arduino avec votre téléphone.

Dans ce Instructable je vais montrer comment contrôler vos trucs avec votre téléphone et la carte arduino. J'ai commandé tout de machines à fumée trop légères christmas populaire avec ce programme.Vidéo :Désolé, que la vidéo est un peu étrange parce
Contrôler un Arduino avec cacao (Mac OS X) ou c# (Windows)

Contrôler un Arduino avec cacao (Mac OS X) ou c# (Windows)

non je ne parle pas contrôler un Arduino avec une barre de chocolat ou de cacao en poudre. Je parle le langage de programmation Objective-C. Quel est donc le cacao ? Le cacao est un ensemble d'écrits dans le langage de programmation de Objective-C po
Contrôler l’Arduino avec python basé web API (pas de php)

Contrôler l’Arduino avec python basé web API (pas de php)

Dans ce guide, je vais vous montrer comment contrôler votre appareil arduino d'une page Web ! Par la suite, je vais vous montrer comment contrôler votre arduino depuis votre appareil mobile et même créer une API basée sur le web pour contrôler votre
Contrôler un ordinateur avec votre esprit !

Contrôler un ordinateur avec votre esprit !

Contrôler votre ordinateur avec votre esprit semble définitivement comme toujours sorti d'un film de science-fiction, mais contrôle de l'esprit est en fait une chose relativement facile et peu coûteux à réaliser. À l'aide d'un jouet bon marché d'EEG,
Contrôler EL fil avec un Arduino

Contrôler EL fil avec un Arduino

dans ce instructable je vais vous montrer comment contrôler EL fil avec un Arduino.Ce que vous aurez besoin :EL Wire et Inverter - je recommande http://ez-el.com/ez-el-wire/10ft-ez-el-wire-3v-inverter-kit/Arduino ou n'importe quel micro contrôleur qu
Contrôler un Arduino avec votre iPhone

Contrôler un Arduino avec votre iPhone

Hé !Ce Instructable vous indique comment contrôler un Arduino avec un iPhone sans avoir à programmer votre propre application iOS. Nous allons à clignoter une LED, mais vous pouvez faire beaucoup d'autres choses avec elle aussi !Nous allons utiliser
Contrôler votre discours avec arduino

Contrôler votre discours avec arduino

Contrôler votre app keynote de mac avec un arduino.Étape 1: Choses nécessaires :Arduino (j'utilise uno, mais tous doivent faire).Câble USB pour l'arduino.IR recevoir diode.Télécommande universelle IR.câbles de démarrage pour le décodeur IR.Etape 2: C
Comment contrôler un croquis de traitement avec deux entrées Arduino

Comment contrôler un croquis de traitement avec deux entrées Arduino

Ce tutoriel va vous montrer comment construire un circuit de base Arduino qui permet de contrôler un fun ball couleur croquis dans le traitement.Vous aurez besoin :1 x carte Arduino (j'utilise un Uno)1 x planche à pain1 Photo de x-résistance1 x 10 k
Contrôler un Robot avec une télécommande Wii

Contrôler un Robot avec une télécommande Wii

Il s'agit d'un amusant petit projet qui utilise un Pi de framboise, un Robot de Finch et une télécommande Wii (Wiimote AKA), pour montrer certaines des choses que vous pouvez faire avec un pi framboise et/ou une Wii remote. Il utilise Python et la bi
Contrôler l’Arduino avec un téléphone Android via Bluetooth

Contrôler l’Arduino avec un téléphone Android via Bluetooth

Bonjour les gens, ici vous pouvez apprendre comment contrôler Arduino avec un téléphone Android via Bluetooth. Vous pouvez utiliser votre smartphone comme télécommande pour vous système d'éclairage à la maison, ou vous pouvez utiliser comme un etc. d
Contrôler votre monde avec votre Pi sans programmation

Contrôler votre monde avec votre Pi sans programmation

Ce Instructable vous montre comment utiliser une carte d'extension abordable simple nommée PiFace sur le dessus de la Raspberry Pi pour contrôler le monde autour de vous, sans aucune compétence technique.Etape 1: Le matérielObtenir d'abord une frambo
Contrôler votre maison avec Arduino

Contrôler votre maison avec Arduino

Arduino est un excellent outil pour contrôler et chose du sens, c'est pourquoi la plupart des gens l'utiliser, mais il y a un gros hic. Arduino ne peut gérer que des très faibles courants. (Pas plus de 40 ma). C'est ok pour certains projets électroni
Contrôler votre ordinateur avec votre Ipod touch ou Iphone

Contrôler votre ordinateur avec votre Ipod touch ou Iphone

c'est mon premier instructable donc je suis désolé si ce n'est pas le meilleur. Avez-vous déjà WAN ' t s'asseoir sur votre canapé ou un lit et piloter vos appareils Mac ou Windows la solution de facilité. Cette instructable va vous apprendre comment