LinklisteBlog abonnierenBlogrollAnT Blog
Look at it! for the good of all of us mrehkopf.de tech blog Pirates of Love ipfreaks.de The Nonbiri Times Animexx Alpha-News Fefes Blog Bestatterweblog Gestern Nacht im Taxi ahoi polloi crazy things parents say so much pun die nachtschwester lbrandy.com Svens Netzblog Joey's Logbook virt music Inverted Castle Powered by |
Lauflicht Teil 3 - decoderMittwoch, 8. Mai 2013Die nächste Variante, fünf LEDs über drei Drähte zum Leuchten zu kriegen: Ein 3-zu-8-Dekoder. Das ist ein IC, in den drei Datenleitungen reingehen, auf denen man binär die Zahlen 0-7 anlegen kann, und bei dem acht Leitungen wieder rausgehen. Von den Ausgangspins ist immer nur genau einer aktiv – welcher der acht das ist, wählt man über die drei Eingabepins. Da immer nur genau ein Pin aktiv wird, ist diese Schaltung jetzt im Gegensatz zu den beiden vorherigen die erste, bei der nur immer eine einzige LED leuchten kann. Das macht für ein Lauflicht keinen Unterschied und wäre bisher sowieso nicht aufgefallen, in anderen Konstellationen kann das aber relevant sein. Der verwendete Dekoder ist ein 74HC138 (bzw. der baugleiche M74HC138B1R, aber da ist mal wieder das Datenblatt blöder…). Wenn man den Schaltplan betrachtet, gibt hier es noch einen Unterschied zu den vorherigen Aufbauten: Dieses mal wird nicht die Stromquelle geschaltet (Anode der LED bzw. Pluspol), sondern die Stromsenke (Kathode (kurzes Bein) der LED, Minuspol bzw. Erde). Der 74HC138 ist nämlich ein invertierender 3-zu-8-Dekoder, das bedeutet, dass die selektierte Leitung auf 0 geschaltet ist und alle anderen auf 1 – und nicht, wie man erstmal vermuten könnte, genau andersherum. Durch eine LED, die am einen Ende +5V aus dem IC bekommt und am anderen Ende an der +5V-Stromquelle hängt, fließt aufgrund des fehlenden Spannungsgefälles kein Strom und sie bleibt dunkel – egal, wie man sie dreht. Das klingt erstmal komisch (und mit dem 74HC238 gäbe es das gleiche Bauteil auch ohne Invertierung), hat aber langfristig Sinn, wenn ich erstmal wie geplant mit der LED-Matrix bastele :-) Letztendlich ist es aber eigentlich egal, welche Seite der LED man schaltet – auch die beiden vorherigen Schaltungen kann man ganz einfach so umbauen, dass die andere Seite der LEDs gesteuert wird. Man muss dann nur 0 statt 1 an den Pins ausgeben bzw. ins Schieberegister pusten. Auf dem Schaltplan sind noch drei Pins E1 bis E3 am IC zu sehen: Damit die über A0, A1 und A2 ausgewählte Zielleitung O0 bis O7 geschaltet wird, muss auf E1 und E2 0 und auf E3 1 anliegen. Der Grund dafür ist einfach erklärt: Darüber lassen sich mehrere 3-zu-8-Dekoder zu größeren Dekodern zusammenschalten. Um einen 4-zu-16-Dekoder zu bauen, braucht man zwei 74HC138. Die unteren drei Bits werden jeweils an beide ICs auf A0 bis A2 angelegt. Das höchste Bit wird an dem einen IC auf E1 (oder E2) und an dem anderen auf E3 gelegt – damit wird abhängig von dem höchsten Bit nur genau einer der beiden Chips überhaupt aktiv. Oder, um aus dem Datenblatt zu zitieren: This multiple enable function allows easy parallel expansion of the 74HC138[…] to a 1-of-32 (5 lines to 32 lines) decoder with just four 74HC138[…] ICs and one inverter. How to RasPi - Videos mit omxplayerDienstag, 7. Mai 2013
Ich hatte ja schon angedroht, dass ich mich mal nach einem Frontend für omxplayer auf dem Raspberry Pi umsehen wollte. Das war auch recht erfolgreich.
Ich habe nämlich omxplayer-frontend gefunden. Das ist zwar nur ein recht einfaches Skript, macht aber so ziemlich genau das, was ich will: Ein Mini-Webfrontend für den Player bereitstellen (so ähnlich wie meine Mini-Mplayer-Fernbedienung, nur in Python statt Perl und mit Dateibrowser). Das Skript war allerdings recht rudimentär, nur knapp dokumentiert und nicht portabel, es war z.B. eine feste IP-Adresse verdrahtet – also musste ich daran schrauben. Dafür habe ich das Projekt unter Einverständnis des Autors von ursprünglich Bitbucket in (m)ein github-Repository kopiert. Dort habe ich dann einige Ergänzungen vorgenommen, insbesondere mal etwas Dokumentation erstellt. omxplayer-frontend: so sieht es aus. Die Oberfläche ist weniger für einen klassischen Browser und mehr für Tablets/Smartphones gedacht. Was man halt so rumliegen hat, während man vor dem Fernseher sitzt. Inzwischen gibt es auf github weitere Forks, unter anderem den von azuwis. Dort sehe ich automatischen Youtube-Download per Bookmarklet, Auto-Download und Umwandung von Untertiteln und einiges mehr – nichts, was ich brauche, aber interessant! Problem an der ganzen Sache: Videos auf dem Fernseher zu gucken ist zwar toll, aber wenn man für eine simple Lautstärkenänderung das Smartphone in die Hand nehmen und den Bildschirm entsperren muss, dann macht das keinen Spaß und ist extrem umständlich. Also war es an der Zeit, nochmal was eigenes zu bauen. Das ist omxplayer-console geworden, auch wieder auf github zu finden. Das ist im wesentlichen ein über Textkommandos steuerbares Skript, das sowohl einen kleinen Dateibrowser als auch omxplayer und mplayer fernsteuern kann. Damit man nicht ständig Kommandos wie "up", "stop" oder "vol+" tippen muss, habe ich ein kleines unsichtbares Frontend gebaut, das direkt auf Tastatureingaben reagiert und diese in die Steuerkommandos übersetzt. Beide Skripte werden per Pipe verbunden und gut ist's. omxplayer-console: Große figlet-Fonts, damit man das auch vom Sofa aus noch lesen kann. Ganz simple Oberfläche mit ein paar Steuersequenzen direkt in Perl. Hintergrund für die Trennung in frontend-term und omxplayer-console war die Tatsache, dass mich neulich jemand angemailt hat, dass er mein inzwischen schon antikes joyd (letzte Änderung vor 12 Jahren, letzter Patch vor 5) auf einem Raspberry Pi zur Fernsteuerung eingesetzt hat. Ein mittleres Wunder, dass das a) noch kompiliert un b) die Joystick-Kernelschnittstelle noch die gleiche ist. Ein passendes Joypad habe ich nicht mehr rumfliegen, da der Pi keinen Parallelport hat, aber der Hinweis auf joyd hat mich letztendlich dazu gebracht, omxplayer-console endlich mal zu schreiben (die Idee war schon länger da). Und um theoretisch dann doch ganz einfach joyd anzubinden, ist die Trennung in das wechselbare Frontend und das Hauptskript erfolgt. Da ich also kein Joypad habe, aber auch keine Tastatur an den Pi anschließen will (ist doof auf dem Sofa), habe ich etwas rumüberlegt und bin schließlich bei IR-Fernsteuerungen von dem Abenteuer (Kurzfassung: erfolgreich und dabei viel zu einfach!) erzählt dann einer der nächsten Artikel hier. Lauflicht Teil 2 - shiftSonntag, 5. Mai 20135 LEDs mit 5 Pins des ATmega zu steuern (siehe letztes Mal), ist nicht sehr aufregend. Spätestens, wenn ich eine 8x8 LED-Matrix an ansteuern will, habe ich keine 64 Pins zur Verfügung, soviele Beinchen hat der Chip auf dem signal board nämlich nicht. Also wird jetzt (und in späteren Basteleien) getrickst, um mehr Lampen mit weniger Beinchen zu steuern. Heute kommt dazu ein Schieberegister 74HC595 (bzw. das baugleiche M74HC595B1R) zum Einsatz. Was macht das Schieberegister nun? Es hat 8 Ausgänge QA bis QH (die Namen der Pins wähle ich analog zum Schaltplan, das wechselt hier und da mal etwas) – da kommen die LEDs dran. Die Ausgänge haben jeweils einen 1-Bit-Speicher, so dass sie sich merken können, ob sie Strom führen sollen (1) oder nicht (0). Dazu kommen weitere interne 8 Bit Speicher im eigentlichen Schieberegister. Auf der Daten-Eingangsleitung SER kann man ein Signal anlegen (0 oder 1). Anschließend signalisiert man durch den Wechsel der Leitung SRCLK von 0 auf 1, dass das Signal an SER gelesen werden soll. Die 0 oder 1 wandert ins 1. Bit des Schieberegisters, der vorherige Inhalt des 1. Bits wandert in das 2. Bit, das 2. in das 3. und so weiter – der vorherige Inhalt von Bit 8 fliegt raus. Wann man das acht Mal hintereinander macht, hat man 8 Bit im Schieberegister abgelegt. Wenn die Leitung RCLK von 0 auf 1 wandert, werden die 8 Bit des Schieberegisters auf die 8 Ausgänge gelegt. Dort bleiben sie dann, bis das nächste Mal ein Signal auf RCLK kommt, man kann also in aller Ruhe die nächsten 8 Bit ins Schieberegister schieben, während die Ausgänge QA bis QH unverändert bleiben. Der Eingang SRCLR muss dauerhaft auf 1 sein, sonst werden auf einen Schlag alle Schieberegister-Bits auf 0 gesetzt. Klingt doof, aber darüber kann man die Schieberegister auf einen Schlag resetten und leeren. Außerdem muss ja irgendwo Strom herkommen, um die Ausgänge auf 1 zu schalten. Der Eingang G muss dauerhaft auf 0 sein, sonst werden alle Ausgangspins auf 0 geschaltet. Das hat bestimmt auch einen versteckten Sinn – vielleicht "Erdung"? Fazit Da ich jetzt nur SER, SRCLK und RCLK brauche, reichen drei Leitungen zum Schieberegister aus, um meine fünf LEDs zu steuern. Auch acht LEDs über drei Leitungen wären kein Problem, ich müsste nur noch drei weitere LEDs anschließen. Das Programm zu der Schaltung schiebt übrigens immer nur 5 Bit in das Schieberegister. Dass in den Bits 6 bis 8 dann "Reste" vom vorherigen Durchlauf rumliegen (nämlich die alten Bits 1 bis 3), stört nicht, da ja nur 5 LEDs angeschlossen sind und es egal ist, was die Pins QF, QG und QH machen. Netterweise ist das Schieberegister schnell genug, dass ich es mit den vollen 16MHz ansteuern kann und keine Wartezyklen zwischen den einzelnen Signalen einlegen muss. Mehrere Schieberegister lassen sich übrigens sehr einfach hintereinanderhängen: Das "rauspurzelnde" 8. Bit wird zusätzlich über QH an Pin 9 ausgegeben. Das kann man direkt an den SER-Eingang des nächsten Schieberegisters anschließen. SRCLK und RCLK aller Chips werden direkt miteinander verbunden. Nun hat man ein 16 Bit-Schieberegister und muss 16 statt 8 Schiebeoperationen durchführen, um alle Ausgänge mit Daten zu versorgen. Und noch eins und noch eins und … Nachträge zum Schaltplan: Ich im Screenshot des Schaltplans sieht man noch einen Fehler: Dort habe ich ein 74LS595 statt eines 74HC595 verbaut. Ersteres ist TTL, zweiteres HCMOS. Sonst gibt es keine Unterschiede, also einfach das richtige hindenken :-) Außerdem sind beide Bauteile in der KiCad-Bauteilbibliothek etwas komisch dargestellt: Pin 7 und Pin 9 heißen beide QH, so wie ich das auch im im Absatz über das Verketten benutzt habe. Im offiziellen Datenblatt heißt Pin 7 Q7 und Pin 9 Q7S, was sinnvoller ist, weil man die so auch unterscheiden kann. Warhammer 40k - neues von der BücherfrontSamstag, 4. Mai 2013
Böser böser Ralf! Erst fixt er mich mit dem Warhammer 40k-Krams an und jetzt wate ich trotz aller Widrigkeiten brav weiter durch alle Romane der Horus-Heresy-Reihe. Und sämtliche anderen zu lesenden Sachen bleiben liegen.
In den letzten 13 Monaten sind die Bände 7 bis 20 dazugekommen:
Was auffällt, ist die unterschiedliche Qualität der einzelnen Bücher der Reihe, was wohl unter anderem an den vielen verschiedenen Schreiberlingen liegt. Bei mir hat der Pokémon-Effekt eingesetzt (gonna read 'em all), dadurch quäle ich mich auch durch die schlimmeren Dinge wie z.B. aktuell The Primarchs, wo ich mich nach der zweiten von vier Kurzgeschichten immer noch frage "hä? was soll das hier? sinnlos!". Wusste ich vorher, beim Einkauf auf Amazon waren mir schon (zu Recht!) miese Kritiken ins Auge gesprungen, ich schaffe das aber. Vielleicht ist's ja später nochmal wichtig, das ist ja alles miteinander verwoben. Ebenfalls in schlechter Erinnerung habe ich The Outcast Dead. Das Setting klang super (es ging mal um Astropathen und Navigatoren, weniger um Space Marines), die Story hat dann aber leider etwas Potenzial verschenkt und war nur durchschnittlich. Richtig übel war aber das Handwerkliche: Englisch ist nun nicht meine Muttersprache, aber wenn mich alle paar Seiten Rechtschreibfehler vom Lesen ablenken und mir sogar regelmäßig Wortwiederholungen auffallen, dann sollte da nochmal ein Lektor dran. Urks. Das hätte so schön sein können! Ein Garant für gelungene Bücher ist dagegen der gute Herr Abnett. Insbesondere Prospero Burns und Know no Fear sind handfeste Gründe, warum ich die ganze Reihe durchlesen will :-) Neben guter spannender Story und so weiter schafft er es in den beiden Büchern sehr gekonnt, seinen Schreibstil den jeweils dargestellten Legionen anzupassen. Bei den sehr effizienten und praktisch veranlagten Ultramarines plegt er z.B. einen sehr knappen, fast militärischen Satzbau, während er bei den Space Wolves sehr bildlich deren mythische Sagenwelt einbindet (z.B. konsequent to snap one's thread statt die oder kill). Das ist alles sehr toll und macht richtig Spaß beim Lesen. Ich bin gespannt, was da noch weiterhin kommt – nach dem aktuellen Band kann es eigentlich nur noch aufwärts gehen ;) Lauflicht Teil 1 - plainFreitag, 3. Mai 2013Ich hab endlich Zeit zum Basteln! Langfristig will ich mir ja mal einen eigenen Wecker bauen, mittelfristig will ich mit einer 8x8 LED-Matrix rumspielen und kurzfristig muss ich mir erstmal eine Bastelumgebung aufbauen. Und das ist jetzt dank Urlaub schrittweise im Gange. Meine Bastelumgebung besteht aus meinem signal board ohne Aufsatz, an das ich mein Breadboard tüddele. Die erste Aktion war so langweilig wie übersichtlich und leichtverständlich: Ein einfaches Knight-Rider-mäßiges Lauflicht mit 5 LEDs. Das ganze funktioniert folgendermaßen: An fünf der Pins des ATmega ist jeweils eine LED mit Vorwiderstand angehängt. Mein Progrämmchen auf dem ATmega schaltet eines der Beine an (die LED leuchtet), wartet etwas, schaltet dann ein anderes Bein an und so weiter. Das ganze von links nach rechts und wieder zurück. Als weitere Details gibt es hier den Schaltplan (reduziert auf den relevanten Teil, das SignalBoard hat natürlich noch etwas Krams drauf für USB-Programmierung, Spannungsstabilisierung und Reset-Taster), ein Foto und einen Link auf den Programmcode. Wie gesagt, alles sehr minimalistisch - funktionierte aber auch auf Anhieb. Für den nächsten Schritt liegen hier schon Schieberegister parat, die es zu befüttern gibt :-) Podcast UpdateMontag, 29. April 2013
Flasche leer – bzw. USB-Stick zu Ende gehört. Als Nachfüllung kommt aktuell folgendes drauf:
Schöne Ecken ist dabei der Neuzugang. Die unterhalten sich über Architektur, Städtebau und ähnliches in Hannover und Umgebung und lästern z.B. in der ersten Folge über den Raschplatz ab – immerhin kann da das Wasser gut abfließen. Für die hier mitlesenden Hannoveraner bestimmt ganz witzig. Die Tonqualität der ersten Folgen überzeugt mich noch nicht so ganz, aber da ist angeblich besseres Equipment im Zulauf, ich bleibe gespannt am Ball. Nachschub #70Freitag, 26. April 2013
…wo ich gerade das Wohnzimmer aufräume. Just for completenesss'sss` sake:
Geschrieben von mitch
in Bokura Ga Ita, Nachschub, Neon Genesis Evangelion
um
17:32
| Kommentare (0)
| Trackbacks (0)
Die neue Kategorie…Freitag, 26. April 2013
…"Hacken" ist erstmal nur rückwirkend bis 2010 mit alten Artikeln verlinkt, zu mehr hab ich grad keinen Bock!
Mobile blogging!Mittwoch, 3. April 2013ShadowlandDienstag, 5. Februar 2013
Heute habe ich die Shadowland-Aufführung in der Halle Münsterland besucht. Das ist (so dachte ich) eine künsterische Vorführung mit Schatteneffekten auf Leinwand.
Die Punkte, die ich weniger gut fand:
Fazit: Trotz der genannten Punkte hat es mir ziemlich gut gefallen! Die Schattenspielereien waren super inszeniert, mit ordentlich Tempo und ziemlich surrealen Einfällen, wortwörtlich traumhaft. Die Musik dazu war ebenfalls passend und Abwechslungsreich. Für mich persönlich fühlte sich die Vorführung an wie eine Mischung aus ICO und Alice im Wunderland. Das nächste Mal dann aber im Rang, auch wenn der seitlich ist und man sich da den Kopf verrenken muss. Die Halle ist einfach nicht geeignet für sowas. Ein Beispielvideo gibt's hier auf Youtube. Und da im Kleingedruckten (Part dance, part shadow act, part circus, and part concert) hätte ja auch schon gestanden, dass das nicht nur ausschließlich Schattenspielereien sind. Muss man wissen!
(Seite 1 von 105, insgesamt 1046 Einträge)
» nächste Seite
|


Kommentare