Standardmässig steht der I2C-Bus beim Duemilanove an den analogen Pins 4 (SDA) und 5 (SCL) zur Verfügung. Sind diese Ports für analoge Anwendungen bereits in Verwendung, kann der I2C-Bus an diesen Ports nicht verwendet werden. Mit der SoftI2CMaster-Bibliothek von Tod E. Kurt kann man jeden Arduino-Port als I2C-Busleitung verwenden.
Im Sketch werden die Pins für SDA und SCL definiert.
const byte sdaPin = 7; const byte sclPin = 6;
Anschliessend kann die Buskommunikation ähnlich der Wire-Bibliothek eingesetzt werden.
#include "SoftI2CMaster.h" const byte sdaPin = 7; const byte sclPin = 6; SoftI2CMaster i2c = SoftI2CMaster( sdaPin,sclPin ); i2c.beginTransmission(9); // send to address 9 i2c.send('c'); i2c.send(255); i2c.send(0); i2c.send(200); i2c.endTransmission();
Man beachte, dass diese Bibliothek noch in der Entwicklungsphase ist.
Neben der Verwendung des I2C-Bus an wählbaren Pins hat der Entwickler mit dieser Bibliothek zusätzlich erreicht, dass längere Signalleitungen verwendet werden können.
Die SoftI2CMaster-Bibliothek ist im Gegensatz zur Wire-Library fehlertoleranter, Störungen oder unsaubere Bussignale machen weniger aus, und ermöglicht darum Anwendungen mit längeren Busleitungen als die Standardbibliothek.
2 Responses to “I2C-Bus an jedem Arduino-Pin”
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
Ich habe das tauschen von PINs versucht. Funktioniert aber nicht.
Ich möchte eine Ds1307 oder DS3231 mit einem TFT LCD Shield 3,95″ MCUFriend benutzen.
Das Shield benötigt aber den PIN A4.
Ich habe dann versucht die PINs 0 und 1 zu benutzen aber kein Erfolg.
Was mache ich falsch?
Hallo Bernd,
wenn das Shield die Standard-I2C-Pins (A4 und A5) verwendet, musst du diese verwenden.
Gibt es denn einen Grund wieso du auf andere Pins umschalten willst?
Gruss Thomas