StandardFirmata - Unterstützung für neue Hardware hinzufügen hinausgehende (7 / 10 schritt)

Schritt 7: Umsetzung des FirmataPlus Skizze-Code


Wieder mit Ihrem Text-Editor, öffnen Sie FirmataPlus.ino und nehmen Sie folgende Änderungen:

1. Fügen Sie stepper.h zur Liste der "enthält Header" am oberen Rand der Datei:

 #include <Stepper.h> 

2. erstellen Sie einen Zeiger auf eine Instanz von einem Schrittmotor und auf NULL festgelegt. Die Schrittmotor-Variable ist global, so legen Sie sie in den globalen Variablen Abschnitt der Datei.

 /*============================================================== GLOBAL VARIABLES ==============================================================*/ // Stepper Motor Stepper *stepper = NULL; 

3. switch(mode) in void SetPinModeCallback (Byte-Pin, Int-Modus) für den Schrittmotor-Stift eine Case-Anweisung hinzufügen:

 case STEPPER: pinConfig[pin] = STEPPER ; break ; default: Firmata.sendString("Unknown pin mode"); 

4. Fügen Sie eine neue Anfrage, um sysexCallback() zu den STEPPER_DATA-Befehl und seine Unterbefehle Griff zum Erlöschen.

 case STEPPER_DATA: // determine if this a STEPPER_CONFIGURE command or STEPPER_OPERATE command if (argv[0] == STEPPER_CONFIGURE) { int numSteps = argv[1] + (argv[2] << 7); int pin1 = argv[3] ; int pin2 = argv[4] ; if ( argc == 5 ) { // two pin motor stepper = new Stepper(numSteps, pin1, pin2) ; } else if (argc == 7 ) // 4 wire motor { int pin3 = argv[5] ; int pin4 = argv[6] ; stepper = new Stepper(numSteps, pin1, pin2, pin3, pin4) ; } else { Firmata.sendString("STEPPER CONFIG Error: Wrong Number of arguments"); printData("argc = ", argc) ; } } else if ( argv[0] == STEPPER_STEP ) { long speed = (long)argv[1] | ((long)argv[2] << 7) | ((long)argv[3] << 14); int numSteps = argv[4] + (argv[5] << 7); int direction = argv[6] ; if (stepper != NULL ) { stepper->setSpeed(speed) ; if (direction == 0 ) { numSteps *= -1 ; } stepper->step(numSteps) ; } else { Firmata.sendString("STEPPER OPERATE Error: MOTOR NOT CONFIGURED"); } } else if ( argv[0] == STEPPER_LIBRARY_VERSION ) { if ( stepper != NULL ) { int version = stepper->version() ; Firmata.write(START_SYSEX); Firmata.write(STEPPER_DATA); Firmata.write(version & 0x7F); Firmata.write(version >> 7); Firmata.write(END_SYSEX); } else { // did not find a configured stepper Firmata.sendString("STEPPER FIRMWARE VERSION Error: NO MOTORS CONFIGURED"); } break ; } else { Firmata.sendString("STEPPER CONFIG Error: UNKNOWN STEPPER COMMAND"); } break ; 

(5) in leere SystemResetCallback() fügen Sie den folgenden Code für Stepper:

 // clear stepper pointer stepper = NULL ; 

Schließen Sie und speichern Sie die Datei.

Damit sind alle Änderungen am Code.

In Verbindung stehende Artikel

Fan-Unterstützung für Gen6 Elektronik hinzufügen

Fan-Unterstützung für Gen6 Elektronik hinzufügen

für eine Weile jetzt habe ich einen 3D-Drucker. Ein Orca V0.43 um genau zu sein.Dies ist ein 3D-Drucker von http://www.mendel-parts.com/.Ich bin sehr zufrieden mit dem Drucker, druckt es gut, es ist nicht so schwer, zusammen und es sieht gut aus.Aber
Werkzeuge-CLOUD: Neue Werkzeug hinzufügen

Werkzeuge-CLOUD: Neue Werkzeug hinzufügen

Neues Werkzeug hinzufügenSchritt 1: Klicken Sie "Werkzeug"Schritt 2: Daten bearbeitenGeben Sie BlueSwarf Dashboard sechsstellige Nummer, falls zutreffend. Wenn Sie eine zuweisen möchten, benutzen Sie diesen Zufallszahlen-Generator. Wenn Sie eine
ALTES MESSER NEUE HOLZ HINZUFÜGEN!

ALTES MESSER NEUE HOLZ HINZUFÜGEN!

Haben Sie ein altes Taschenmesser, Sie lieben, aber das Holz sieht schrecklich, nun ist es besser als neu aussehen könnte.Schritt 1: Finden Sie Holz ich habe einen Pice übrig gebliebenen Walnuss aus einem früheren Projekt aber können Sie, was Ihnen a
Wie Peter Ritters Auduino Projekt hinzufügen Schaltfläche Funktionen

Wie Peter Ritters Auduino Projekt hinzufügen Schaltfläche Funktionen

es macht Spaß! Gib nicht auf! Ich will nicht.Schritt 1: Erstellen der Auduino! Dieses Projekt ist einfach und sehr lustig. Ein großes Lob an Peter Ritter!Leute empfehlen in der Regel Prototyping mit einem Steckbrett sicherstellen, Ihre Töpfe arbeiten
Lebensdauer der Batterie für Ihre Turtle Beach X31 drahtlose Kopfhörer hinzufügen

Lebensdauer der Batterie für Ihre Turtle Beach X31 drahtlose Kopfhörer hinzufügen

haben Sie ein paar dieser Turtle Beach wireless-Gaming-Kopfhörer, Sie bereits wissen, sie sind ziemlich süß. Leider, Sie wahrscheinlich auch wissen, dass sie zu häufig aus Batterien ausgeführt werden können.Geringe Turtle Beach Attribute Akkulaufzeit
Mit Ihrem iPhone OSM POI-Standorte hinzufügen

Mit Ihrem iPhone OSM POI-Standorte hinzufügen

hinzufügen von Orten von Interesse (OVI) Standorte für das Projekt Open Street Map (OSM) ist ein guter Weg, um die digitale Darstellung von den umliegenden Gemeinden zu verbessern! Es ist einfacher als Sie denken, da Sie einfach mit Ihrem iPhone (und
Gewusst wie: Hinzufügen von Übergängen in iMovie HD

Gewusst wie: Hinzufügen von Übergängen in iMovie HD

Dieser Screencast zeigt Ihnen die Grundlagen des Hinzufügen von Übergängen in iMovie HD. Es bietet Ihnen Schritt für Schritt Anleitung beginnen ganz am Anfang des gewusst wie: Öffnen Sie die Anwendungen und starten Sie ein neues Projekt hinzufügen vo
Gewusst wie: hinzufügen Emoticons auf iOS 6

Gewusst wie: hinzufügen Emoticons auf iOS 6

Schritt 1: Öffnen Sie die Einstellungen Einstellungen öffnen, und tippen Sie auf allgemein.Schritt 2: Wählen Sie Tastatur Tastatur finden Sie im unteren Bereich.Schritt 3: Wählen Sie Tastaturen.Schritt 4: Wählen Sie neue Tastatur hinzufügenSchritt 5:
Hinzufügen von Digispark (mit Bootloader) Unterstützung zu bestehenden Arduino 1.6.x IDE

Hinzufügen von Digispark (mit Bootloader) Unterstützung zu bestehenden Arduino 1.6.x IDE

Digispark ist kleiner Arduino IDE kompatibel Entwicklungsboard basiert auf dem Atmel attiny85, die direkt mit USB verbunden. Es hat sehr wenige Pins, aber immer noch einige nette Dinge tun kann. Digispark ist copyright von Digistump LLC (digistump.co
ESP8266 mit Beispielcode Test Arduino-Unterstützung hinzufügen

ESP8266 mit Beispielcode Test Arduino-Unterstützung hinzufügen

Esp8266 packt eine Menge Punch. Es ist nicht nur ein WiFi-Modul, sondern auch einen anständigen Mikrocontroller erbaut. Jetzt ist das beste Teil hat die Gemeinschaft gemacht Programmierung dieser eingebauten Mikrocontroller sehr einfach durch das Hin
Hinzufügen von Bluetooth-Unterstützung zu Ihrem Auto

Hinzufügen von Bluetooth-Unterstützung zu Ihrem Auto

Ich kaufte mir eine gebrauchte Toyota Matrix 2011 und es hat einen AUX-Anschluss Ihr Handy oder MP3-Player anschließen, so dass es auf das Autoradio spielt. Es ist ein großartiges Feature und ich nutze es aber das Audio-Kabel ist ärgerlich und ist im
Machen Sie unentbehrlich, Portable, nützliche Unterstützung Beiträge.

Machen Sie unentbehrlich, Portable, nützliche Unterstützung Beiträge.

Diese instructable zeigt wie man eine portable, und äußerst hilfreiche Unterstützung post(s). Einsetzbar in vielen Funktionen, viele Bereiche. Wie Sie sehen werden, gibt es viele Einsatzmöglichkeiten für diese Beiträge.Schritt 1: Verwenden von Formul
Stativ-Unterstützung für eine QuickCam (oder andere Webcam)

Stativ-Unterstützung für eine QuickCam (oder andere Webcam)

es gibt viele Gründe, vielleicht möchten Ihre Webcam auf einem Stativ zu setzen.  Ich musste dies tun, da Stand für meine Logitech QuickCam Pro 4000 fehlte, aber es oft schön, im Allgemeinen für bessere Bilder mit einem Stativ verwenden, ist vor alle
Unterstützung der Obdachlosen auf einem Etat

Unterstützung der Obdachlosen auf einem Etat

Ich arbeite an einer sehr belebten Ecke in L.A. mit einer signifikanten obdachlose Bevölkerung in der Nachbarschaft. Es ist ein besonderer Kerl mit einem kleinen Hund, der immer vor dem gleichen Restaurant, und jedes Mal, wenn ich an ihm vorbeiging,