digitalWriteFast mit ATtiny

By | 29. März 2014

Für ein schnelles Füllen von Schieberegistern ist man auf eine hohe Schaltgeschwindigkeit der einzelnen Pins angewiesen. Mit einem Arduino Uno (@ 16Mhz) dauert das toggeln eines Pins bis zu 12 µs, was bei mehreren in Reihe geschalteten Schieberegistern zu einem Verlust von Rechenzeit führt, mit der die nächsten Elemente berechnet werde müssen.

Es existiert eine Bibliothek namens digitalWriteFast, die in der Lage ist, eine Pin-Toggle in unter 1 µs durchzuführen. Allerdings hat sie so ihre Macken, sobald sie mit einem ATtiny in Berührung kommt. Also habe ich die Bibliothek für ATtinys umgeschrieben.

Download
digitalwritefasttiny.zip | 1 kB

Der Ordner digitalWriteFastTiny wird nach C:\Users\Benutzername\Documents\Arduino\libraries bzw. C:\Program Files\Arduino\libraries kopiert und anschließend wie im Beispiel eingebunden.

Beispiel:

#include <digitalWriteFastTiny.h>
#define led 0
 
void setup() {               
  pinMode(led, OUTPUT);
}
 
void loop() {
  digitalWriteFast(led, HIGH);
  delay(1000);
  digitalWriteFast(led, LOW);
  delay(1000);
}

LED-Matrix Entwürfe

By | 15. März 2014

Die LEDs müssen weg, also weiter zum nächsten Vorhaben. Die Matrix soll eine Größe von 29×8 Pixel haben. Das Layout der Vorderseite steht schon fest:

matrix3[1][1]-922128040[1]

Und der Schaltplan (vorläufige Version):

matrix4[1][1]-1347152943[1]

Nach jetziger Planung werden Matrix und Steuerung auf zwei getrennten Platinen umgesetzt und per Flachbandkabel verbunden. Die LEDs sind auf die Platine gelötet. Nach ein paar Tests auf dem Breadboard werden diese fest verdrahtet.

20140328_174959-178323701[1]

Weiteres in den nächsten Tagen…

Binäruhr

By | 9. Februar 2014

Während ich immer noch auf die Box für den LED Cube warte, habe ich mal aus Langeweile eine Binäruhr gebastelt. Auf der Rückseite befinden sich drei Taster. Zwei davon dienen zum Umstellen der Minuten und Stunden. Mit dem dritten Taster kann man die LEDs ein- und ausschalten. Für den Batteriebetrieb kann dies sehr nützlich sein, wenn man nicht jeden Tag die Batterien wechseln möchte.

Kommen wir zur Einkaufsliste:

Schaltplan:

Binary-Clock[1]

Der Plan ist spiegelverkehrt, um die Lötarbeit zu erleichtern.

Jetzt fehlt nur noch der Code für den Arduino bzw. Attiny:

Download
binary_clock.ino | 3 kB

LED Cube 4x4x4

By | 2. Februar 2014

Zwischen den Programmierprojekten hatte ich mal Lust auf einen LED-Würfel. Für den Anfang ist ein 4x4x4-Würfel ideal, um sich mal mit der Materie zu beschäftigen. Später kann man dann die Größe auf 8x8x8 erhöhen.

Leider muss ich noch ein paar Tage warten, bis die restlichen Bauteile geliefert werden, um mein “Werk” zu vollenden. Sobald alles fertig ist, werde ich ein Video hochladen. Auch eine Liste mit den verwendeten Bauteilen und dem Link zum verwendeten Tutorial wird in ein paar Tagen hier veröffentlicht.

Update 12.02.2014: Alle restlichen Teile sind angekommen und eingebaut. Der Würfel ist endlich fertig! Hier das finale Video:

Update zum Bugtracker

By | 3. Januar 2014

Mir sind noch einige Verbesserungen für den Bugtracker in den Sinn gekommen, z.B. eine Uploadfunktion für Dateien und vollständige Übersetzung aller Seite in zwei Sprachen.

Hier die Screenshots:

User:

screen_001[1]

screen_002[1]

screen_003[1]

screen_004[1]

screen_005[1]

Admin:

screen_006[1]

screen_007[1]

screen_008[1]

screen_009[1]

screen_010[1]

Category: PHP

Cloud Synchronizer

By | 28. Dezember 2013

Der Bugtracker ist soweit fertig und ein neues Projekt muss her. Schon lange überlege ich, von Dropbox zu Google Drive zu wechseln, aber die Dateien müssen erstmal von A nach B transportiert werden. Über meine DSL-Leitung würde das Vorhaben wochenlang. Es gibt schon einige Dienste für diesen Zweck, die mir preislich aber nicht zusagen. Also kam mir die Idee, dass ich die Dateien doch ganz einfach über meinen kleinen Webspace vollautomatisch verschieben könnte.

Der Plan ist folgender:

  1. Alle Dateien und Verzeichnisse des Dropbox-Accounts auslesen und auf Google Drive anlegen.
  2. Dateien einzeln auf den Webspace laden, weiter zu Google Drive und anschließend wieder löschen

Ob das alles so klappen wird, wie ich mir das vorstelle, werden die nächsten Tage zeigen.

Update vom 01.01.2014:

Der manuelle Download von Dropbox auf den Webspace und der Upload auf Google Drive funktionieren bis jetzt einwandfrei. Nur die Automatisierung des Prozesses bereitet noch Probleme, dessen Ursachen noch nicht gefunden wurden.

Update vom 12.01.2014:

Leider muss ich die Arbeit an diesem Projekt aussetzen, da die Google API ihren Zweck in dieser Sache nicht so erfüllt, wie sie soll. Meine Fähigkeiten reichen noch lange nicht aus, um das Projekt ohne API zu realisieren.

Category: PHP

PHP Bugtracker fertiggestellt

By | 22. Dezember 2013

Nach einigen Stunden Entwicklungszeit befindet sich der Bugtracker endlich in der Testphase. Sind die Tests erfolgreich, werde ich noch ein paar “Schönheitskorrekturen” vornehmen.

Besucher:

bugtracker3[1]

bugtracker2[1]

bugtracker1[1]

Admin:

bugtracker6[1]

bugtracker5[1]

bugtracker4[1]

Category: PHP

PHP Bugtracker

By | 15. Dezember 2013

Ich war auf der Suche nach einem Bugtracker für den AssemblerSim. Leider waren alle, die ich gefunden habe, zu überladen. Also machte ich mich an ein schlichtes Script, das bis jetzt schon zu gut 50% fertig ist. Hier ein Screenshot:

bugtracker-screenshot[1]

Category: PHP