I2C - Arduino MEGA

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

I2C - Arduino MEGA

Inlägg av fosfor »

Hej!

Jag har en skärm kopplad till pin 20 och 21 (I2C - SCL & SDA).

Har noterat att min Arduino MEGA har ytterligare två I2C (som dock inte är numrerade).

Kan man använda dessa för annat? Är det några problem som kan uppstå av att köra flera I2C enheter inkopplat till Arduinon?
Tydligen ska I2C i sig stödja att ha många enheter inkopplat, men innebär det att de även kan gå på samma ledning?
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: I2C - Arduino MEGA

Inlägg av Mr Andersson »

> Kan man använda dessa för annat?
Vad menar du med annat? Signaler som inte är i2c? Ja det kan du, de fungerar som alla andra arduino-pinnar.

> innebär det att de även kan gå på samma ledning?
Du kan ha flera i2c-enheter på samma linje så länge som de har unika adresser.
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: I2C - Arduino MEGA

Inlägg av SeniorLemuren »

Kan man använda dessa för annat?
Dom 2 pinnarna i slutet på plinten är bara 2 extra pinnar från 20,21. Om du använder I2C så kan du ansluta till vilken som helst av dom. Har du t.ex 2 enheter du vill ansluta så kan det ju vara enklare att ansluta till varsina pinnpar men funktionen är den samma som om du ansluter båda till 20,21. Använder du inte I2C alls så kan du använda pinnarna som digitala in ut som vanligt.
Är det några problem som kan uppstå av att köra flera I2C enheter inkopplat till Arduinon?
Tydligen ska I2C i sig stödja att ha många enheter inkopplat, men innebär det att de även kan gå på samma ledning?
Länk: Dom går på samma ledning.
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: I2C - Arduino MEGA

Inlägg av svanted »

en till tråd i samma projekt?
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: I2C - Arduino MEGA

Inlägg av Swech »

Spelar det någon roll då?
Frågan är ju klart definierad att röra sig om I2C

Swech
Alex_Holo
Inlägg: 69
Blev medlem: 21 november 2010, 18:40:50

Re: I2C - Arduino MEGA

Inlägg av Alex_Holo »

SeniorLemuren skrev:Dom 2 pinnarna i slutet på plinten är bara 2 extra pinnar från 20,21. Om du använder I2C så kan du ansluta till vilken som helst av dom. Har du t.ex 2 enheter du vill ansluta så kan det ju vara enklare att ansluta till varsina pinnpar men funktionen är den samma som om du ansluter båda till 20,21. Använder du inte I2C alls så kan du använda pinnarna som digitala in ut som vanligt.
Med risk att ge mig in i en diskussion med på tok för lite kunskap om ämnet... Men hoppas lära mig något i så fall :)
Jag kör MEGA (och DUE) där jag behöver nyttja båda I2C bussarna.
Dom benämns då som Wire samt Wire1. Så att dessa ska vara "samma" vet jag inte om jag håller med om.

Har ett projekt med RTC, EEPROM samt NFC/RFID läsare. Något gjorde att det inte funkade att ha på samma bus. Tror det var RTCn som fick flyttas till en egen när NFC läsaren kom till.
Borre
Inlägg: 4565
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: I2C - Arduino MEGA

Inlägg av Borre »

Nej en Mega, med Atmega2560, har bara 1st i2c.
Due däremot har 2st.
Användarvisningsbild
hawkan
Inlägg: 2586
Blev medlem: 14 augusti 2011, 10:27:40

Re: I2C - Arduino MEGA

Inlägg av hawkan »

Det räcker väl normalt med en I2C buss? Den kan ju hantera flera enheter som flera temperaturgivare ds18b20.
Mr Andersson
Inlägg: 1394
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: I2C - Arduino MEGA

Inlägg av Mr Andersson »

Kineserna verkar gilla att lägga alla sina prylar på samma adress.
Ibland finns det några pullup-resistorer som adressväljare som man kan flytta på, men inte alltid.
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: I2C - Arduino MEGA

Inlägg av SeniorLemuren »

Alex_Holo skrev:
SeniorLemuren skrev:Dom 2 pinnarna i slutet på plinten är bara 2 extra pinnar från 20,21. Om du använder I2C så kan du ansluta till vilken som helst av dom. Har du t.ex 2 enheter du vill ansluta så kan det ju vara enklare att ansluta till varsina pinnpar men funktionen är den samma som om du ansluter båda till 20,21. Använder du inte I2C alls så kan du använda pinnarna som digitala in ut som vanligt.
Med risk att ge mig in i en diskussion med på tok för lite kunskap om ämnet... Men hoppas lära mig något i så fall :)
Jag kör MEGA (och DUE) där jag behöver nyttja båda I2C bussarna.
Dom benämns då som Wire samt Wire1. Så att dessa ska vara "samma" vet jag inte om jag håller med om.

Har ett projekt med RTC, EEPROM samt NFC/RFID läsare. Något gjorde att det inte funkade att ha på samma bus. Tror det var RTCn som fick flyttas till en egen när NFC läsaren kom till.
Du har helt rätt i att DUE har 2 st I2C bussar, men nu gällde mitt svar MEGA. Att det är som jag skrev, samma bus var lätt att hitta med en enkel googling. Jag hade dessutom både en MEGA och en DUE på bänken, så det var lätt att kolla med en multimeter. :)

borre han först.
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: I2C - Arduino MEGA

Inlägg av Wedge »

Se även upp med pullupmotstånden på SDA och SCL. Om alla moduler man lägger på bussen har egen pullup så blir det för mycket.
Alex_Holo
Inlägg: 69
Blev medlem: 21 november 2010, 18:40:50

Re: I2C - Arduino MEGA

Inlägg av Alex_Holo »

SeniorLemuren skrev:
Alex_Holo skrev:
SeniorLemuren skrev:Dom 2 pinnarna i slutet på plinten är bara 2 extra pinnar från 20,21. Om du använder I2C så kan du ansluta till vilken som helst av dom. Har du t.ex 2 enheter du vill ansluta så kan det ju vara enklare att ansluta till varsina pinnpar men funktionen är den samma som om du ansluter båda till 20,21. Använder du inte I2C alls så kan du använda pinnarna som digitala in ut som vanligt.
Med risk att ge mig in i en diskussion med på tok för lite kunskap om ämnet... Men hoppas lära mig något i så fall :)
Jag kör MEGA (och DUE) där jag behöver nyttja båda I2C bussarna.
Dom benämns då som Wire samt Wire1. Så att dessa ska vara "samma" vet jag inte om jag håller med om.

Har ett projekt med RTC, EEPROM samt NFC/RFID läsare. Något gjorde att det inte funkade att ha på samma bus. Tror det var RTCn som fick flyttas till en egen när NFC läsaren kom till.
Du har helt rätt i att DUE har 2 st I2C bussar, men nu gällde mitt svar MEGA. Att det är som jag skrev, samma bus var lätt att hitta med en enkel googling. Jag hade dessutom både en MEGA och en DUE på bänken, så det var lätt att kolla med en multimeter. :)

borre han först.
Sedär, då fick jag lära mig något nytt :tumupp: :)
Fick för mig att dessa var väldigt snarlika och då bytte jag nog ut min MEGA till DUE (när minnet tog slut) innan jag stoppade ditt NFC läsaren. Alltså är det bara DUE jag testat med dubbla I2C då uppenbarligen.
Samma adress skulle ju förklara mina problem varför jag fick separera modulerna :tumupp:
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: I2C - Arduino MEGA

Inlägg av fosfor »

Hur kollar man hastigheten på I2C mot displayen?

Är det:

Kod: Markera allt

  Serial.begin(9600);                    // Sätter data rate i bits per sekund (baud) för serial data transmission.
Eller är det bara hastigheten med vad allt sänds till datorn vid Seriell Monitor?

Eller om det är denna, men vart i koden lägger man den?

Kod: Markera allt

Wire.setClock
Skriv svar