Får inte koden att fungera för I2C

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Får inte koden att fungera för I2C

Inlägg av SeniorLemuren »

Har du testat att följa denna instruktion? Där finns en länk till det bibliotek som används i exemplet. Man nämner även man att man skall ta bort original biblioteket från mappen library och ersätta med den nya.

Poten på kortet är inte backlight utan kontrast. Om den står fel syns ingenting på displayen.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

GeekJoan skrev:Skriv vilka ingångar du använder så kan jag testa din kod på en av mina displayer.
På Unon är det A4 och A5, och på "Pro Micro" är det pin 2 och 3.
Men inget fungerar just nu.
Jag använder det här biblioteket och lagt till det som .ZIP bibliotek.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Hur svårt kan det vara. Jag borde ha fått till det, har ju redan gjort allt som står där..... :wall:
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Ser man på, hur svårt kan det vara.
Först fick jag till det på unon, tror att det var dålig kontakt på bussen. Men efter att bättrat på anslutningen och än en gång kört IC2 sniffern för att se om om kontakten var god så funkade skiten.
Varför måste det jämnt krångla!!
Sedan kopplade jag in displayen mot Pro Micro, och där hoppade det igång på en gång, fast jag inte gjort nån skillnad sedan innan. Där är iaf anslutningarna lödda, och I2C-sniffern hade spottat ur sig adress 0x27 och ändå funkade det inte, men nu helt plötsligt har grejerna fått feeling. :wall:

Edit..... Unon började jag testa nu i morse utifall det felet låg hos Pro Micro.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Om det ska kopplas till ytligare en komponent med I2C-buss så är det bara att ansluta dem parallellt med redan befintlig modul??
Och se till att adressen inte är den samma såklart.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Får inte koden att fungera för I2C

Inlägg av Janson1 »

ja, om det är en display till så måste det lilla kortet på baksidan hårdvarukopplas på nästa adress.
Annars är väl risken väldigt liten för adresskrock vad som än ansluts på I2C-bussen.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Gott .... :tumupp:
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10642
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Får inte koden att fungera för I2C

Inlägg av GeekJoan »

Jag brukar inte behöva ladda ner bibliotek, det mesta finns redan i Arduinos "nya" mjukvara.
https://www.arduino.cc/en/Guide/Libraries#toc3
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Ok, får se till att ladda ner senaste versionen.

Nu har jag fått tag på en Oled som det syns på bilden. Men jag får inte mer än brus........
Verkar som jag har fel version på displayen mot programmet, ser jag nu.
Min heter msp430, och jag testade en instruktion för ssd1306. Om det nu är nån skillnad??
Ny chans i morgon ..... :)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Får inte koden att fungera för I2C

Inlägg av SeniorLemuren »

Så här ser min fungerande kod ut för min Oled. Jag vet inte typen men den ser ut som din.
Frånse Dallaskoden.

Jag har för mig att jag fick ändra i filen Adafruit_SSD1306.h till 64.
Jag fick använda adressen 0x3C i stället för 0x78 som stod angivet på min display.

Kod: Markera allt

#include <max6675.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
l
#define OLED_RESET 0
Adafruit_SSD1306 display(OLED_RESET); 
 
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
 
void setup()   {               
  // Start up the library
  sensors.begin();  
  
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setCursor(0,10);
  display.print("Water Out");
.
.
oled.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Jag tror nog att det är samma kod som jag har, minus dina egna modifieringar.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Få inte till det, jag beställer en ny och håller tummarna på att det är nått fel på denna jag har.
Den visar en massa brus/skräp oavsett om det finns nått i .ino filen eller inte.
Kan ta bort alla anrop, ändå visar den samma skräp. Förstår som vanligt ingenting.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

SeniorLemuren -- har du motståndet kvar vid 0x78?? (se bild)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Glattnos
Inlägg: 2972
Blev medlem: 29 oktober 2009, 20:01:18

Re: Får inte koden att fungera för I2C

Inlägg av Glattnos »

Vissa displayer anger "adressmasken" istället för själva adressen. En I2C-adress är bara 7 bitar lång så om "masken" är 0x78 så är adressen egentligen 0x3C.

0x78 0b01111000
0x3C 0b00111100

Jag har stött på mjukvaror som också hanterar detta olika. Vissa kallar, i det här exemplet, 0x78 för adressen och maskar in den rakt av i registret. Andra skiftar adressen ett steg åt vänster innan den maskas in i registret, vilket borde vara det korrekta eftersom adressen är 7 bitar lång och det är de 7 högsta bitarna i registret som utgör adressen. Den lägsta biten i byten är R/W-biten och är inte en del av adressen.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5957
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Får inte koden att fungera för I2C

Inlägg av orvar-e »

Jaha då verkar det som det är rätt där också.
Skriv svar