Das EZ-Expander Shield ist eine Zusatzplatine für die Arduino Standardboards und bietet 16 zusätzliche digitale Ausgangsports, welche mit den Portnummern 20-35 bezeichnet sind.Die Ansteuerung erfolgt über 3 digitale Ausgänge (Pin 8, 12 und 13).
(Bild Quelle nootropic design)
Somit stehen dem Anwender 13 zusätzliche Ports zur Verfügung, 16 Ports auf der Erweiterungsplatine sowie 13 Ports auf dem Arduinoboard (16 minus 3 Ports für die Ansteuerung der Erweiterungsplatine).
Zu beachten ist dabei, dass die zusätzlichen Ports auf der Erweiterungsplatine nur als Ausgänge konfiguriert werden können.
Dieser Portexpander wird wie die Standard-Shields direkt auf das Arduino-Board gesteckt. Im Gegensatz zu den Standard-Shields hat der EZ-Expander geringere Abmessungen. Für die Porterweiterung werden 2 74HC595 Shift Register Bausteine verwendet.
(Bild Quelle nootropic design)
Für die Ansteuerung der zusätzlichen Ports 20-35 steht eine Library EZExpander zur Verfügung. Anschliessend können die Ausgangsports mit der bekannten Anweisung digitalWrite(Portnummer, Zustand) angesteuert werden. Wobei zu beachten ist, dass die Anweisung nicht die Standardanweisung des Arduino ist sondern eine Methode der EZExpander-Klasse ist.
Beispielsketch:
#include <EZExpander.h>
// EZExpander Objekt erstellen
EZExpander expander = EZExpander();
void setup()
{
}
void loop()
{
for(int i=20;i<=35;i++) {
expander.digitalWrite(i, HIGH);
}
delay(1000);
for(int i=20;i<=35;i++) {
expander.digitalWrite(i, LOW);
}
delay(1000);
}
Das EZ Expander Shield kann als Bausatz oder als fertige Lösung im Shop von nootropic design gekauft werden.
Erfahrene Arduino-Anwender können die Porterweiterung auch selber mit den Shift-Register-Bausteinen aufbauen und nur die Bibliothek verwenden. Zusätzlich stehen auf der Website des Lieferanten die CAD-Daten der Leiterplatte im Eagle-Format zum Download bereit.
4 Responses to “Portexpander”
Leave a Reply
Suchen
Aktuelles
- Arduino Praxiseinstieg, 5. Auflage erschienen
- Arduino UNO R4 offiziell vorgestellt
- Review: PCB Service von WellPCB
- Review: SMD-Bestückungs-Service von JLCPCB
- Portable Power Supply – VoltBot
- Leiterplatten-Panel bei JLCPCB
- Arduino Praxiseinstieg, 4. Auflage erscheint am 29.04.2019
- Klein, kleiner, ganz klein – ATtiny10
- Review – Leiterplatten (PCB) von JLCPCB
- Arduino Day 2018
Kommentare
- Review: PCB Service von WellPCB 2
ArduinoPraxis [...] - Arduino UNO R4 offiziell vorgestellt 2
ArduinoPraxis [...] - Review - Leiterplatten (PCB) von JLCPCB 4
Werner Smidt [...] - Review: SMD-Bestückungs-Service von JLCPCB 2
ArduinoPraxis [...] - Projekt: drahtloses Display für Oregon Scientific Wetterstation 3
Oliver [...]
Kategorien
Archive
- Dezember 2023
- Juni 2023
- Juli 2020
- Dezember 2019
- Oktober 2019
- Juni 2019
- April 2019
- Juli 2018
- Mai 2018
- November 2017
- Oktober 2017
- September 2017
- Juli 2017
- April 2017
- März 2017
- Februar 2017
- Dezember 2016
- November 2016
- September 2016
- Mai 2016
- Januar 2016
- Dezember 2015
- August 2015
- Mai 2015
- März 2015
- Januar 2015
- Dezember 2014
- September 2014
- August 2014
- Juli 2014
- Juni 2014
- Mai 2014
- April 2014
- März 2014
- Februar 2014
- Januar 2014
- Dezember 2013
- Oktober 2013
- September 2013
- August 2013
- Juni 2013
- Mai 2013
- April 2013
- März 2013
- Februar 2013
- Januar 2013
- Dezember 2012
- November 2012
- Oktober 2012
- September 2012
- August 2012
- Juli 2012
- Juni 2012
- Mai 2012
- April 2012
- Februar 2012
- Januar 2012
- Dezember 2011
- November 2011
- Oktober 2011
- September 2011
- August 2011
- Juli 2011
- Juni 2011
- Mai 2011
- April 2011
- März 2011
- Januar 2011
- Dezember 2010
- November 2010
- Oktober 2010
- September 2010
- August 2010
- Juli 2010
- Juni 2010
- Mai 2010
Hmm… kommt mir wenig elegant vor – blockiert mechanisch zu viel, kein I/O, „normales“ digital.write geht nicht.
Ich würde das Centipede Shield empfehlen: http://macetech.com/store/index.php?main_page=product_info&cPath=4&products_id=23
Je nach Anwendungsfall kann dieses kleine Board die richtige Lösung sein. Durch die einfache Schaltung kann man dieses auch selbst auf einer Experimentierplatine oder einem ProtoShield aufbauen.
Wenn man natürlich auch Eingänge benötigt, ist dieser EZ-Expander nicht die richtige Lösung.
Beim von dir erwähnten Centipede Shield, welches auch schon von mir erwähnt wurde, hat man natürlich mehr Möglichkeiten. Die Kosten für dieses Board sind natürlich leicht höher und ein Selbstbau kommt für Einsteiger vermutlich nicht in Frage.
Der mechanische Aufbau beim EZ-Expander entspricht natürlich nicht ganz den Standardboards. Falls man aber keine weiteren Erweiterungen aufstecken muss, kann das gut die Lösung sein.
ich möchte an meinem Arduino 10 Ultraschallsensoren und 10 Infrarotsensoren anschließen. Dafür sind aber leider am Arduino zu wenig Ports vorhanden. Die Ultraschalsensoren schließe ich an den digitalen Ports an, die Infrarotsensoren an den analogen Ports. Zur Erweiterung der Ports habe ich mir den Expander MCP23017 gekauft, aber bisher keine Erfolge. Ich weiß nicht, ob das damit auch funkionieren wird. Weitergehende Rechersche hat gezeigt, dass man mit dem Schieberegister 74HC595 Ports erweitern kann. Allerdings zeigen viele Tutorials dies nur mit LED Lampen. Ich weiß nicht, ob mir dieser Schieberegister für die Erweiterung der analogen digitalen Port helfen würde, um die Ultraschall- und Infrarotsensoren anzuschließen. Kann mir vielleicht bitte jemand sagen, wie der beste Weg ist, je 10 Ultraschall- und Infrarotsensoren am Arduino anzuschließen?
@Markus
Deine 20 Sensoren passen doch gerade an die digitalen und analogen Pins.
D0-13 und A0-A5. Die analogen Eingänge kannst du auch als digitale Eingänge (D14-19) verwenden.
Ein Ansatz mit dem MCP23017 funktioniert auch. Hier gibt es eine gute Anleitung
http://tronixstuff.com/2011/08/26/tutorial-maximising-your-arduinos-io-ports/
Falls es weiterhin nicht geht, einfach etwas mehr Details posten.
Gruss
Thomas