Mit einer Quadratur-Encoder mit einem ATtiny 2313 und ein OLED-Display (3 / 3 schritt)


Schritt 3: Firmware

Angeschlossen ist die Firmware. Sie können es mit "Make", kompilieren, wie im letzten Schritt beschrieben. Es steht in einer Hardware unabhängige Weise: alle Funktionen, die nicht standard C, in hardware.cpp umgesetzt werden, also Portierung zu einem anderen Mikrocontroller ist einfach. Die Drehgeber-Funktionen sind in main.c. In display.c ist sind die Funktionen zum Zeichnen von Text, Zahlen und Rechtecke. Das OLED-Display hat eine automatische Baud-Erkennung, so können Sie auch andere Baudraten verwenden.

Es gibt zwei input-Pins für die Drehgeber, die vier Phasen der Quadratur Signale zu kodieren (siehe den Wikipedia-Bild-http://upload.wikimedia.org/wikipedia/en/thumb/6/68/Quadrature_Diagram.svg/500px-Quadrature_Diagram.svg.png). Die Drehrichtung kann erkannt werden, vergleicht man die letzte Phase-Zustand mit dem neuen Staat z.B. wechselt von Zustand 2 Zustand 3 es war richtig und wechselt von Zustand 3 in Zustand 2 es war drehte links.

Sie müssen also den letzten Zustand und den aktuellen Stand wissen. Ein Staat ist in zwei Bits codiert. Der letzte Status und den nächsten Zustand kombiniert sind 4 Bits. Dies ist der Index in einer Tabelle mit 16 Einträgen verleiht + 1, 0 oder-1, wie die Richtung in die der Drehgeber gedreht wurde.

Die Tabelle hat den Vorteil, den Sie einfach spezielle Verhalten, z. B. für die Alpen-Encoder umsetzen können gibt es Phasenübergänge an den Leerlauf stellen, die ignoriert werden, weil dadurch zwischen zwei Werten manchmal Prellen. Und diese Stücke die Entschließung, die Ergebnisse in einem Schritt pro Raster.

Prellen der Kontakte ist kein Problem, wenn die Zeit zwischen zwei Phasen zu vergleichen ist schneller als die schnellste Geschwindigkeit zwei Phasen ändern kann.

In Verbindung stehende Artikel

Gewusst wie: verwenden Sie die IR-Bibliothek mit einem Attiny

Gewusst wie: verwenden Sie die IR-Bibliothek mit einem Attiny

Diese Instructable wird Ihnen sagen, wie die IR (infrarote) Bibliothek auf einen Attiny zu verwenden. Ich werde mit einem Arduino Uno ein Attiny85 verwenden. Ich nicht beschäftigen, wie Sie Skizzen auf den Attiny hochladen wie der IR-Bibliothek mit.
Gewusst wie: eine Platine mit einem Stepcraft Mill und EagleCAD Mühle

Gewusst wie: eine Platine mit einem Stepcraft Mill und EagleCAD Mühle

In diesem Tutorial wollen wir EagleCAD, ein PCB-Design-Tool verwendet werden, um Werkzeugwege für die Herstellung von Leiterplatten mit einer Stepcraft-CNC-Fräse (oder anderen CNC-Fräse, die standard G-Code akzeptiert) zu generieren. Durch dieses Tut
Herstellen einer Verbindung zu Xbox live mit einem Vista-Laptop und einen WLAN-Router.

Herstellen einer Verbindung zu Xbox live mit einem Vista-Laptop und einen WLAN-Router.

Dies wird Ihnen Schritt-für-Schritt-Anweisungen, um eine Verbindung zu Xbox live mit einem wireless-Router und Laptop drahtlos anstelle der Zahlung $100,00 muss man des Netzwerkkabels in Ihren Laptop und 360Schritt 1: starten Geh zu startSchritt 2: Ö
Generierung von elliptischen Boxen, die mit einem Laser-Cutter und Inkscape

Generierung von elliptischen Boxen, die mit einem Laser-Cutter und Inkscape

Diese Instructable wird Ihnen beibringen, wie elliptische Boxen in verschiedenen Formen und Größen wie die oben abgebildete zu machen. Diese Boxen sind einfach anzupassen, so können Sie Ihre eigene persönliche Note hinzufügen.Schritt 1: Werkzeuge und
Steuern Sie Ihre Roboter mit einem Wii Nunchuck (und ein Arduino)

Steuern Sie Ihre Roboter mit einem Wii Nunchuck (und ein Arduino)

nach dem tragen mich spielen Wii-Boxen, die ich zu denken bekam wäre es nicht toll, wenn ich dies verwenden könnte, um meine Roboter steuern (auf der Suche zu meiner linken Hand).Auf der Suche im Internet fand ich eine Schar von Menschen, die ähnlich
Lesen Sie jede Magnetstreifen-Karte mit einem quadratischen Leser und ein Android-Gerät

Lesen Sie jede Magnetstreifen-Karte mit einem quadratischen Leser und ein Android-Gerät

The Square Kreditkarte lesen Gerät ist im Grunde nur ein magnetisches lesen Kopf, Widerstand und Mikrofon-Anschluss.  Durch die Implementierung eines Algorithmus um den standardisierten audio-Codierung zu entschlüsseln, ist es möglich, beliebige Magn
Floorbed mit einem Bücherregal (und ein Geheimfach)

Floorbed mit einem Bücherregal (und ein Geheimfach)

Nachdem ich die instructable für ein Puppenhaus, die ich für meine Tochter gemacht fertig, wollte ich etwas Neues machen. Praktisch genug, ihren Geburtstag stand bevor und sie wollte auch ein größeres Bett brauchen. Kombinieren Sie diese beiden Dinge
Wie erstelle ich eine Lötlampe mit einem Feuerzeug, Propan und einen Airsoft-Propan-Adapter.

Wie erstelle ich eine Lötlampe mit einem Feuerzeug, Propan und einen Airsoft-Propan-Adapter.

Sich jemals gefragt, was Sie mit einem (Grill) einmal leichter war aus Butan?Jetzt zeige ich Ihnen wie eine Lötlampe aus ihm heraus, mit nur einer kleinen Dose Propan, einen Airsoft-Propan-Adapter und eine gebrauchte, leere Grill leichter machen könn
Leuchtstoffröhren mit einem Laser-Pointer und ein Arduino zu steuern

Leuchtstoffröhren mit einem Laser-Pointer und ein Arduino zu steuern

ein paar Mitglieder des Alpha One Labs Hackerspace mag nicht das grelle Licht von fluoreszierenden Leuchten gegeben.  Sie suchte nach einer Möglichkeit, die einzelnen Armaturen, vielleicht mit einem Laser-Pointer leicht kontrollieren zu können?Ich be
Schützen und eine Tür mit einem Vintage Nagel und Sugru zum Schweigen zu bringen

Schützen und eine Tür mit einem Vintage Nagel und Sugru zum Schweigen zu bringen

wir waren in einem schönen Airbnb, die jede Menge tolle Vintage berührt hatte.Der Besitzer hatte ihr Badezimmerwand vom Türgriff mit einem schönen alten Messing-Nagel geschützt.Ich dachte, es war ziemlich genial, aber leider macht die Tür ein schreck
Gewusst wie: Steuern, Arduino-Board mit einem android-Handy und ein Bluetooth-Modul

Gewusst wie: Steuern, Arduino-Board mit einem android-Handy und ein Bluetooth-Modul

In diesem Tutorial erfahren Sie, wie ein Bluetooth-Modul und MITs app Inventor verwenden, um eine drahtlose serielle Verbindung zwischen ein android-Handy und einem Arduino-Board zu erstellen.Hier ist ein kurzes Video zeigt eine Beispiel-app, die ich
Benutzerdefinierte Prothetik mit einem Wacom-Tablett und Fusion 360

Benutzerdefinierte Prothetik mit einem Wacom-Tablett und Fusion 360

Ich arbeite an einem Roboter Mohawk sitzt oben auf den Kopf des Trägers und reagiert auf ihre Gehirnwellen. Dies erfordert eine starre "Headspine", die beweglichen Stacheln in Position zu halten.Meine erste Iteration aus Garn umwickelt Anker Dra
Geätzte aus Aluminium mit einem Sand Blaster und vinal Abziehbild Maske.

Geätzte aus Aluminium mit einem Sand Blaster und vinal Abziehbild Maske.

Dies ist ein Bericht über mein erstes Experiment in Radierung aus Aluminium mit einem Sand Blaster vinal Aufkleber als Schablone verwenden.Dies ist eine großartige Möglichkeit, verbrauchen diese Reste dieser scheußliche Farbe vinal Sie herumliegen ha
Ersatzteile mit einem 3d Drucker und 123D app machen

Ersatzteile mit einem 3d Drucker und 123D app machen

hier ist ein bisschen eine Rohfassung darüber, wie ich eine Kunststoff-Lager-Halterung für eine Schiebetür. Mein Vater fragte mich, ob ich ihn zu einem der Printrbot machen könnte, die ich für die Schule gekauft, die ich unterrichte. Da ich dachte, w