{"id":297,"date":"2014-09-24T15:37:23","date_gmt":"2014-09-24T13:37:23","guid":{"rendered":"http:\/\/moba.noethlich.info\/?page_id=297"},"modified":"2016-07-23T13:19:47","modified_gmt":"2016-07-23T11:19:47","slug":"schieberegister-74hc595","status":"publish","type":"page","link":"http:\/\/moba.noethlich.info\/?page_id=297","title":{"rendered":"Schieberegister 74HC595"},"content":{"rendered":"<h3>Funktionsweise<\/h3>\n<p>Zur Funktion eines Schieberegisters sei auf <a title=\"Wikipedia Schieberegister\" href=\"http:\/\/de.wikipedia.org\/wiki\/Schieberegister\" target=\"_blank\">Wikipedia<\/a> verwiesen. Die Anwendung dieses Bauteils\u00a0ist sehr gut im <a title=\"AVR-Tutorial Schieberegister\" href=\"http:\/\/www.mikrocontroller.net\/articles\/AVR-Tutorial:_Schieberegister\" target=\"_blank\">AVR-Tutorial<\/a> auf <a title=\"http:\/\/www.mikrocontroller.net\" href=\"http:\/\/www.mikrocontroller.net\" target=\"_blank\">mikrocontroller.net<\/a>\u00a0beschrieben.<\/p>\n<h3>Port-Erweiterung mit Schieberegistern<\/h3>\n<p>Im Umfeld des Arduinos und der ATtiny-Mikroprozessoren dient das Schieberegister vom Typ 74HC595 vor allem zur Erweiterung der Ausgabe-Ports, von denen man auch im Modellbahnumfeld nie genug\u00a0hat. Mit drei Leitungen lassen sich die 8 Ausg\u00e4nge des Schieberegisters ansteuern. Au\u00dferdem sind die Schieberegister kaskadierbar, so dass sich z.B. mit einer Kette von 10 Schieberegistern \u00fcber die drei Leitungen 80 Ausg\u00e4nge adressieren lassen.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/FbTJUFjFs-Y\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\nUm dies zu testen und zur einfacheren Software-Entwicklung habe ich mir eine &#8222;Test- und Entwicklungsumgebung&#8220; mit allen n\u00f6tigen Komponenten zusammengestellt.<\/p>\n<h3>Test- und Entwicklungsumgebung<\/h3>\n<p>Das Grundmodul besitzt 5 Schieberegister und zwei Potis. Letztere werden auf zwei analoge Eing\u00e4nge des Mikroprozessors gelegt. In der Praxis k\u00f6nnten statt dessen sp\u00e4ter nat\u00fcrlich auch andere Sensoren zum Einsatz kommen (Helligkeitsmessung \u00fcber LDR w\u00e4re wohl naheliegend).<\/p>\n<p>Die ersten beiden Schieberegister nutze ich zur Ausgabe der Poti-Stellungen, d.h. das Eingangspotential der analogen Eing\u00e4nge wird auf die Werte 0 bis 9 (bzw. bis E) gemappt und dann auf der 7-Segment-Anzeige passend ausgegeben. Dies ist f\u00fcr die Modellbahnbeleuchtung nat\u00fcrlich nicht n\u00f6tig, aber zum Testen praktisch und belegt schon mal zwei Schieberegister (es geht hier ja auch um den Test der m\u00f6glichen Zahl von Ausg\u00e4ngen). Gleichzeitig ist es ein Beispiel f\u00fcr sensorabh\u00e4ngige Lichtmuster ohne Zeitfaktor.<\/p>\n<p><a href=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2325-Schieberegister.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-305\" src=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2325-Schieberegister.jpg\" alt=\"2014-05-01-2325-Schieberegister\" width=\"800\" height=\"513\" srcset=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2325-Schieberegister.jpg 800w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2325-Schieberegister-300x192.jpg 300w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2325-Schieberegister-624x400.jpg 624w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>An das dritte Schieberegister habe ich einen LED-Balken angeschlossen, welcher\u00a0im oben gezeigten Video als Lauflicht angesteuert wird (Beispiel f\u00fcr zeitabh\u00e4ngiges Lichtmuster).<\/p>\n<p>Das vierte und f\u00fcnfte Schieberegister haben noch ein Transistor-Array erhalten, um\u00a0mehr als 5V\/20mA gegen Masse schalten zu k\u00f6nnen (z.B. direkter Anschluss von fertig konfektionierten Modellbahnleuchten oder Lichtsignalen).<\/p>\n<p><a href=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2322-Schieberegister.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-307\" src=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2322-Schieberegister.jpg\" alt=\"2014-05-01-2322-Schieberegister\" width=\"800\" height=\"541\" srcset=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2322-Schieberegister.jpg 800w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2322-Schieberegister-300x202.jpg 300w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2322-Schieberegister-624x421.jpg 624w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Dazu habe ich mir dann noch drei Erweiterungsmodule gebastelt (genau genommen waren die zuerst da &#8211; aus heutiger Sicht w\u00fcrde ich direkt eine zweite 5er-Einheit dransetzen) &#8211; damit sind\u00b4s dann 8 Schieberegister.<\/p>\n<p><a href=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2321-Schieberegister.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-306\" src=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2321-Schieberegister.jpg\" alt=\"2014-05-01-2321-Schieberegister\" width=\"800\" height=\"389\" srcset=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2321-Schieberegister.jpg 800w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2321-Schieberegister-300x145.jpg 300w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2014\/09\/2014-05-01-2321-Schieberegister-624x303.jpg 624w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Diese Erweiterungsmodule erlauben\u00a0&#8211; wie z.B. bei der Ampel ganz rechts &#8211; auch eine der sp\u00e4teren Anwendung \u00e4hnliche LED-Anordnung, was den Funktionstest wesentlich vereinfacht.<\/p>\n<h3>Die professionelle L\u00f6sung<\/h3>\n<p>F\u00fcr gr\u00f6\u00dfere St\u00fcckzahlen lohnt sich die Anfertigung professioneller Platinen. In Zusammenarbeit mit einem Modellbahn-Kollegen entstanden die beiden Platinen (eine Basis-Platine f\u00fcr Stromversorgung und Prozessor und eine Schieberegister-Platine mit Transistor-Array) als Fritzing-Projekte &#8211; auf dem Bild in verschiedenen Stadien der Best\u00fcckung:<\/p>\n<p><a href=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2015\/01\/2015-01-22-6184.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-384\" src=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2015\/01\/2015-01-22-6184.jpg\" alt=\"Platinen von Fritzing\" width=\"800\" height=\"643\" srcset=\"http:\/\/moba.noethlich.info\/wp-content\/uploads\/2015\/01\/2015-01-22-6184.jpg 800w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2015\/01\/2015-01-22-6184-300x241.jpg 300w, http:\/\/moba.noethlich.info\/wp-content\/uploads\/2015\/01\/2015-01-22-6184-624x502.jpg 624w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Der Verbindungsbus zwischen den Platinen wurde auf die\u00a0notwendigen 6 Pins reduziert und die Basisplatine erhielt einen\u00a0zweiten Spannungsregler, um neben\u00a05V f\u00fcr die Elektronik auch eine definierte Versorgungsspannung f\u00fcr die LEDs liefern zu k\u00f6nnen (z.B. 9V, 12V oder 15V).<\/p>\n<p>Die Platinen-Fertigung ist zwar nicht ganz billig, aber die Best\u00fcckung geht wesentlich schneller und einfacher. Und besser aussehen tut\u00b4s auch.<\/p>\n<h3>Bin\u00e4re Rechenoperationen f\u00fcr einfache Programmlogik<\/h3>\n<p>Einen zus\u00e4tzlichen Vorteil gegen\u00fcber einem Mikroprozessor mit mehr Ports (z.B. Arduino Mega 2560)\u00a0sehe ich in der M\u00f6glichkeit, die Ausg\u00e4nge \u00fcber bin\u00e4re Rechenoperationen zu verkn\u00fcpfen. So ist z.B. ein Lauflicht sehr einfach zu realisieren, indem des Ausgabewert f\u00fcr das Schieberegister beginnend bei 1 sieben mal mit 2 multipliziert wird &#8230; also 1 &#8211; 2 &#8211; 4 &#8211; 8 usw. entspricht dem bin\u00e4ren Muster 00000001 &#8211; 00000010 &#8211; 00000100 &#8211; 00001000 usw. wie es im Video am dritten Schieberegister von links zu sehen ist.<\/p>\n<h3>Konkrete Anwendungen<\/h3>\n<p>Zur stimmungsvollen und realistischen Beleuchtung von Modellgeb\u00e4uden dient die Anwendung <a href=\"http:\/\/moba.noethlich.info\/?page_id=632\">Geb\u00e4udebeleuchtung<\/a>. Sie l\u00e4uft sowohl auf dem ATtiny85 als auch auf dem Arduino. Lediglich die Ports sind im Programm anzupassen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Funktionsweise Zur Funktion eines Schieberegisters sei auf Wikipedia verwiesen. Die Anwendung dieses Bauteils\u00a0ist sehr gut im AVR-Tutorial auf mikrocontroller.net\u00a0beschrieben. Port-Erweiterung mit Schieberegistern Im Umfeld des Arduinos und der ATtiny-Mikroprozessoren dient das Schieberegister vom Typ 74HC595 vor allem zur Erweiterung der Ausgabe-Ports, von denen man auch im Modellbahnumfeld nie genug\u00a0hat. Mit drei Leitungen lassen sich die [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":17,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-297","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/pages\/297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297"}],"version-history":[{"count":32,"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/pages\/297\/revisions"}],"predecessor-version":[{"id":646,"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/pages\/297\/revisions\/646"}],"up":[{"embeddable":true,"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=\/wp\/v2\/pages\/17"}],"wp:attachment":[{"href":"http:\/\/moba.noethlich.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}