Skocz do zawartości

Arduino wyświetlacz z konwerterem I2C


Pomocna odpowiedź

Napisano
/*
*  LCM1602 & Arduino Uno
*  VCC - > 5 V
*  GND - GND
*  SCL -> A5
*  SDA -> A4
*/

#include <AccelStepper.h>
#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD


AccelStepper stepper(1, 10, 11);
#define PRZYCISK 7            
#define CZUJNIK 5
#define PRZEKAZNIK 4

int liczba = 0;

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Ustawienie adresu ukladu na 0x27

void setup()
{      
   Serial.begin(9600);
   stepper.setMaxSpeed(25000);
   stepper.setAcceleration(15000); 
   pinMode(PRZYCISK, INPUT_PULLUP);
   pinMode(LED_BUILTIN, OUTPUT); 
   pinMode(CZUJNIK, INPUT_PULLUP);
   pinMode(PRZEKAZNIK, OUTPUT);
   lcd.begin(16,2);   // Inicjalizacja LCD 2x16
   lcd.clear(); 
   lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
   lcd.print("Ilosc zlaczek");
   lcd.setCursor(0,1);
}

void loop()
{  
    if (digitalRead (CZUJNIK)== LOW) { 
    delay(50);
    stepper.move(-12800/10);
    stepper.runToPosition(); 
    delay(50);
    digitalWrite(PRZEKAZNIK, HIGH);
    delay(150);                    
    digitalWrite(PRZEKAZNIK, LOW);
    delay(50);
    lcd.println(liczba);
    liczba++;
    }
}

Przy kompilacji arduino nie wyskakuje żaden błąd. Po wgraniu programu na wyświetlaczu nic się nie wyświetla. Czy jeśli mam coś podłączone pod 4 i 5 pin na wyjściach cyfrowych to może kolidować ?

1 godzinę temu, Michal94 napisał:

Czy jeśli mam coś podłączone pod 4 i 5 pin na wyjściach cyfrowych to może kolidować ?

Piny analogowe nr 4 i 5 kolidują z I2C, ale piny cyfrowe nie powinny generować problemów. Nie podałeś żadnych informacji co do używanego konwertera, więc ciężko pomóc. Zacznij od sprawdzenia czy adres i2C jest ustawiony poprawnie, sprawdź też ustawienia kontrastu (pokręć potencjometrem przy LCD).

https://botland.com.pl/pl/wyswietlacze-alfanumeryczne-i-graficzne/2351-wyswietlacz-lcd-2x16-znakow-niebieski-konwerter-i2c-lcm1602.html Model wyświetlacza razem z konwerterem. Konwerter podłączony do mikrokontrolera według poradnika https://botland.com.pl/pl/content/81-lcd-2x16-przy-pomocy-arduino-i-lcm1602-po-i2c-

Kontrast zmieniałem jednak nic to nie dawało. Ekran lekko mrygał w momencie kiedy powinien pojawić się obraz lecz nic po za tym się nie działo.

Biblioteki są zainstalowane i aplikacja do programowania nie pokazuje żadnych błędów przy kompilacji.

Sprawdź cxy adres wyświetlacza jest prawidłowy.  Poszukaj szkicu "I2C scanner", pokaże Ci adresy urządzeń wpiętych  po tej magistrali...

Gość es2

Jeśli komunikacja po I2C jest prawidłowa (ekspander w konwerterze, pewnie PCF8574) generuje ACK to może jest złe przypisanie wyprowadzeń w

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Ustawienie adresu ukladu na 0x27

Na początek wywal stepper z pinów 0/1 Arduino, a  jak nikt nie przystawia Ci lufy do głowy to nie podpinaj tam nic (przynajmniej póki nie będziesz wiedział, że to nie koliduje z Serial).

Rozumiem, że LCD działa bez silnika w tej konfiguracji? Pokaż cały schemat/fotki bo to wygląda na jakiś nietypowy układ. Jesteś pewien tych przyspieszeń i prędkości? W przykładach są wielkości rzędu setek, ty masz po kilkanaście tysięcy. Odpaliłeś z sukcesem najprostsze przykłady dla silnika i LCD?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...