Skocz do zawartości

Arduino w modelarstwie kolejowym


Pomocna odpowiedź

Dzień dobry, już na miejscu - wracam do testów kodu.

Dnia 16.06.2023 o 14:37, ethanak napisał:

Jeśli używamy gotowego modułu (np. takiego sprawa jest prosta. Podłączamy SCL i SDA do pinów A5 i A4 Arduino, w przypadku dwóch lub więcej modułów trzeba na kolejnych wlutować zworki ustalające adres i gotowe. Pełny opis modułu jest na stronie Adafruit.

Używam dokładnie takiej płytki

obraz.thumb.png.9f926b519f938c9245f067a4b2e61c5a.png

Dnia 16.06.2023 o 14:37, ethanak napisał:

Zacznijmy od sprawdzenia połączeń. W tym celu uruchamiamy program i2c_scanner (znajdziemy go w przykładach w sekcji Wire). Po uruchomieniu powinien pokazać nam urządzenie na adresie 0x20 czyli nasz ekspander

obraz.thumb.png.b19d217ce25221fadb512d6413ccd72f.png

Wszystkie nowe linijki znajdują się już na swoim miejscu w kodzie.

5 minut temu, prezesedi napisał:

Używam dokładnie takiej płytki

 

Jak mniemam ona ma jakąś drugą stronę gdzie można sobie adres ustawić?  A jakiś link podasz? Bo zdjęcie portretowe płytki jest fajne ale nic nie mówi o tym co ma w środku...

2 minuty temu, prezesedi napisał:

Osobiście zakupiłem na rodzimym portalu.

Jasne. To teraz tylko drobiazg (bo sam nie sprawdzę): podłączone diody do pinów P10 i P11 (zgodnie ze schematem) - powinny świecić tak jak tarcza C. Świecą czy nie chcą?

I tu napotykam pierwszy problem.

Po uruchomieniu kombinacji 'C' '0' '*' mamy jedną diodę świecącą, drugą migającą (w teorii). W praktyce obie "wydają" mikrobłysk zgodny częstotliwością błysku diody RX na płytce UNO. Ledwie zauważalny.

Sprawdzę potem z 8574, ale cytuję za Amazonem:

Cytat

Na pokładzie 3,3 V Converter Converter Circuit, jeśli do lutownika Lutowodu VCC-VDD, poziom PCF8575 wynosi 3,3 V.

Jestem pod wrażeniem...

Hm... u mnie działa (co prawda 8574N, ale działa).

Co prawda miałem lekkie podejrzenia na początku bo coś mi tam niespecjalnie chciało działać ale okazało się, że moja stykówka przeszła chyba do Krainy Wiecznego Stykania....

Jak wspominałem tej płytki nie mam, schematu znaleźć nie mogę, nie wiem co to jest lutownik lutowodu 😞

Ja bym po prostu wlutował ten lutownik lutowodu bo stabilizator tam nie jest absolutnie potrzebny, do tego polutował konkretne adresy na padach) czyli wszystkie A0, A1, A2 do GND.

5 minut temu, prezesedi napisał:

mam PCF8574 więc po pracy sprawdzę na tej płytce

To przede wszystkim zmień adres (różne wersje PCF mają różne adresy) i zakomentuj jedną linijkę w funkcji, ma być coś takiego:

static void wwrite16(uint8_t adr, uint16_t data)
{
    Wire.beginTransmission(adr);
//    Wire.write(data & 0xff);
    Wire.write((data >> 8) & 0xff);
    Wire.endTransmission();
    // to możesz odkomentować żeby mieć pewność że dane idą do PCF-a
    //Serial.println((data >> 8) & 0xff, HEX);
}

Podłączasz ledy do pinów 2 i 3.

Ok, podpiąłem jeszcze raz płytkę z PCF8575 sprawdziłem kod i wgrałem go ponownie.

@ethanak podałeś mi przypadkiem błędne piny, czy testujesz moją chęć samodzielnego działania? Ledy działają poprawnie na P12 i P13 a nie na:

10 godzin temu, ethanak napisał:

podłączone diody do pinów P10 i P11 (zgodnie ze schematem) - powinny świecić tak jak tarcza C

Nic się nie stało, mamy zamierzony efekt - proszę kontynuować 🙃

31 minut temu, prezesedi napisał:

Ledy działają poprawnie na P12 i P13 a nie na:

Zaraz moment.

W kodzie w tabeli semafor[] jest podany pin 10 dla trzeciego semafora, 12 dla czwartego. Po podłączeniu 8574 diody działają na pinach P2 i P3 (czyli po przesunięciu o 8 tak jak P10 i P11 dla 8575). P12 i P13 to powinna być tarcza D a nie C...

Sprawdź czy diody pokrywają się z tym co jest wyświetlane na serialu, bo to bardzo zastanawiające... gdzie w takim razie są piny dla tarczy D?

 

(edytowany)

Przy 'C' '0' '*'mamy:

obraz.thumb.png.8908c08580b59cb2239c7e73f02103b8.png

i świecącą diodę na P12, migającą na na P13

obraz.thumb.png.670feff6c4d2a3835d0947d82091042c.pngtu lepiej widać co wklikałem

Edytowano przez prezesedi

Jasne wszystko się zgadza, po prostu inne oznaczenia pinów (P0..P7 i P10..P17). Płytka o której pisałem ma piny oznaczone P0..P15 - stąd nieporozumienie.

 

 

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...