Debouncery mam już zastosowane. A co ma piernik do wiatraka :?: Błąd masz w programie , a nie w sprzęcie :D Nie wnikając w szczegóły , dopisz jedną linię w kodzie: Do I2csend &H4E , &B00000111 I2creceive &H4F , Keys Keys = Keys Xor &B00000111 'negacja 3 najmłodszych bitów If Keys <> 0 Then Call Flashled(keys) Wait 2 Loop...
Aby wisać stan odwrotny potrzebujesz znać stan bieżący. Możliwości masz dwie: 1. Zrobić również funkcję czytającą aktualny stan ekspandera. 2. Dodać zmienną przechowującą bieżący stan portu ustawianą w funkcji PCF8574() i w oparciu o tą zmienną napisać funkcję toggle.
Plik Procedury.h:[syntax=c]#ifndef Procedury_h #define Procedury_h #include "Arduino.h" #include "pcf8574_esp.h" void zapis_wyjsc(int wy1); #endif[/syntax]Plik Procedury.cpp:[syntax=c]#include "Arduino.h" #include "Procedury.h" #include "pcf8574_esp.h" void zapis_wyjsc(int wy1) { if (wy1 == 1) { expander_WY_A.write(0, 1); } else { expander_WY_A.write(0,...
http://www.elektroda.pl/rtvforum/topic17... http://www.elektroda.pl/rtvforum/topic17...
Tak, na szybko: [syntax=c] #include <Wire.h> #define DEVICE_1 B0100000 #define DEVICE_2 B0100001 #define DEVICE_3 B0100010 void setup() { Serial.begin(9600); Wire.begin(); } void loop() { printIOexpander(DEVICE_1); printIOexpander(DEVICE_2); printIOexpander(DEVICE_3); Serial.println(); delay(500); } void printIOexpander(int address) { Serial.print(address,...
Spróbuj wykonać taki test: zakomentuj attacheInterrupt() w setup() i zobacz, czy problem się pojawia tzn. czy program się nie "wiesza". Dodano po 3 EDIT: Przyczyna jest chyba bardzo prosta. D3 jeżeli będzie w stanie niskim w trakcie bootowania ESP, to układ się nie uruchomi :) https://randomnerdtutorials.com/esp8266-... Musisz wybrać...
Uruchamiasz na płytce startowej? Stawiam na błąd w montażu.
Tak, mogą się pojawić jakieś zakłócenia. Pozdrawiam Józef
unl2003 - 7 tranzystorów uln2803 - 8 tranzystorów oprucz tego delikatnie różnią sie rezystorami polaryzującymi ale to juz mniej nas interesuje ważne że działa.chociaż w sumie te rezystory dla wersji z 3 na koncu mają takie same rezystory. a tak wogóle to www.elenota.pl takie żeczy naprawde nie gryżą :D pozdrawiam
Witam Przeczytałem ten artykuł 2 razy i nie bardzo widzę tam odpowiedź na moje pytania ? To może zerknij na obrazek, który przedstawia budowę portu I/O w PCF8574. http://obrazki.elektroda.pl/9632607400_1... Widzisz tu gdzieś rezystory PULLUP, czy PULLDOWN :?:
Może to wszystko przez wadliwy egzemplarz? Sprawdź czy nie ma żadnych mikrozwarć, oraz spróbuj zamienić układy miejscami.
Zrób sobie zmienną w procesorze, która będzie pamiętała stany, potem zmieniaj w niej bity i wysyłaj taką zmienną.
0, 4, 7? Coś te adresy są nie teges, chyba, że podajesz tylko A0-A3. Jakie masz rezystory podciągające? Spróbuj zwolnić transmisję i sprawdź czy to pomoże. Ale generalnie jeśli miałem cyrki z I2C to głównie z powodu źle dobranych rezystorów podciągających (zbyt małe w stosunku do prądu wyjściowego układów, lub za duże w stosunku do prędkości magistrali).
Czy na 100% masz układy PCF8574 bez literki A na końcu? Ja bym jeszcze sprawdził czy układ odpowiada impulsem ACK po podaniu adresu.
Miałem kiedyś ten sam problem. Zmodyfikowałem wtedy bibliotekę SevSeg, żeby używała biblioteki PCF8574. Obsługa wyświetlacza z poziomu SevSeg wyglądała identycznie jak normalnie, tylko w konstruktorze SevSeg trzeba było podać wskaźnik do utworzonego wcześniej expandera. Bym ci podesłał tę bibliotekę, ale gdzieś ją zapodziałem. Jeśli w projekcie zależy...
Znalazłem bibliotekę do jego obsługi: http://www.mcselec.com/index.php?option=... ale płytka którą nabyłem ma inną pinologię. Doszedłem w końcu co i jak poustawiałem piny i wyświetlacz wyświetla. Znajdź jeszcze tą: http://www.mcselec.com/index2.php?option... e marcus
Na pasku górnym otwierasz Makra - Nowe Makro. Wpisujesz nazwę elementu i OK. Otwiera się okno Edytor Elementów. Tam rysujesz cały element od podstaw, wybierając kształty, dodajesz wyprowadzenia (PinDown, PinLeft itp.) numerując je i wprowadzając nazwy. Można też przerobić istniejący element. Jak skończysz, klikasz OK i element pojawia się na obszarze...
Attiny13 nie ma interfejsu I2C. Niemniej jednak możesz sam napisać stosowną bibliotekę z programową obsługą I2C lub za pomocą googli poszukać gotowej.
Masz tam kolumne w której stoi "FT" co jest skrótem od Five Tolerant.
Słabo szukałeś :) http://davidegironi.blogspot.com/2013/03...
PCF8574 problemu nie rozwiąże, gdyż jest to ekspander cyfrowy, a nie multiplekser analogowy. Najprostszym rozwiązaniem jest po prostu zmiana MCU na taki, który posiada wymaganą liczbę wejść analogowych. Jeśli z jakiegoś magicznego powodu jest to niemożliwe to należy użyć zewnętrznego ADC.
Myślę, że włączyłeś kontaktrony między piny portów jednego i drugiego PCF8574 - te porty mają po 8 pinów, 8x8=64, tyle można tam włączyć kontaktronów. Jeden z PCF8574 działa jako nadajnik (i ten ma stan L na jednym pinie, H na pozostałych), a drugi jako odbiornik (odbiera stan L, jeśli kontaktron łączący odpowiednie piny daje połączenie). Trzeba dodać...
Witam, ten układ ma porty (piny) typu "quasi-bidirectional". Kiedy stan wyjścia jest wysoki, prąd wyjściowy jest bardzo mały (w sumie pull-up), większy prąd wyjściowy jest w niskim stanie wyjścia. Musisz więc zapalać diodę wyjściowym stanem niskim. Pozdrawiam
Witam ponownie. Wygląda ze wszystko jest OK. Jedyna uwaga to jest taka, ze przy układach cyfrowych zalecane jest blokowanie zasilania kondensatorami 100nF jak najbliżej nóżek zasilania i masy dotyczy to wszystkich układów. Tu nie ma ani jednego kondensatora blokującego. Druga sprawa do wejścia RESET procesora należało by podłączyć kondensator 4,7uF...
A nie lepiej odpytywać na przerwaniu timera i klawiaturę i PCF8535? Do programu wstawić semafor ustawiany przerwaniem INT0 i kasowany przy odczycie wskazania zegara. To samo dotyczy innych peryferiów przyłączanych na I2C - dostęp do szyny niech ma tylko jeden wątek. Myślę, że ułatwiłoby to sprawę i to znacznie.
Lepiej żeby tablica "bity" była typu char, zajmie mniej miejsca w RAMie :) Drugi sposób bez przesuwania danych to: unsigned char i; unsigned char bits[8]; unsigned char byte; for(i=0;i<8;i++) { if ((byte & (1<<i)) > 0) bits[i] = 0x01; else bits[i] = 0x00; } Z tym, że na...
Popełniłeś podstawowy błąd - użyłeś gotowego programu znalezionego w sieci i biblioteki która nie jest zgodna z programem. Gdybyś użył biblioteki ze strony którą podałeś w pierwszym linku lub przejrzał przykład z biblioteki której użyłeś to nie byłoby problemu. To że biblioteki posiadają pliki o takich samych nazwach nie znaczy że posiadają taki sam...
Funkcja digitalRead ma drugi parametr bool forceReadNow z domyślną wartością false, co jak sądzę, "buforuje" operację odczytu. Spróbuj odczytywać wejścia z ustawionym parametrem [syntax=c]flap.digitalRead(P7, true) == 0 //albo krócej i bardziej znośnie dla oka !flap.digitalRead(P7, true)[/syntax] Sposób inicjacji wejść (z pullupem czy bez) też jakoś...
3 wyświetlacze po 4 cyfry z dwukropkami. :) w sumie 9 bo planuję wstawić diody rgb ;) Jak do każdego wyświetlacza dasz osoby PCF8574 to nie ma problemu. Jak chcesz multipleksować to może nie być ciekawie, zwłaszcza przy 9 wyświetlaczach. PCF8574 pracują z zegarem 100kHz. Jeśli chcesz multipleksować musisz użyć 2 PCF. Transmisja do nich dla jednego...
Ściągnij plik ZIP który załączyłem. W Arduino IDE wybierz z menu: Sketch->Import Library...->Add Library... i wybierz ściągnięty plik ZIP. Biblioteka powinna pojawić się na liście i powinno wszystko działać. Niestety jakoś rzadko się zdarza, żeby autorzy bibliotek przygotowywali poprawne pliki ZIP :/
A masz podświetlanie?
1. Pokaż nam schemat - jeden obraz wyraża więcej niż 1000 słów :D + zdjęcie też mile widziane. 2. Pokaż program 3. Czy próbowałeś zapisu stanu wysokiego na wszystkie piny przed odczytem? (strona 12, punkt 7.3: http://www.nxp.com/documents/data_sheet/... ) 4. Czy sprawdzałeś miernikiem jakie napięcie rzeczywiście panuje na wejściu PCF'a? Dodano...
To ci się trafiła pewnie taka płytka jak i mi. Też mam taki rozkład pinów. Wyjście 3 jest pod E2 i to jest programowo sterowanie podświetleniem. Dlatego ci miga. Mi też migało. Ja dwa dni szukałem biblioteki żeby działała z tą płytką, bo przerobić nie umiałem. Zobacz ten kod: T i tam, jeżeli żadna z trzech nóżek odpowiadających za ustalenie adresu nie...
Jak chcesz wpisywać liczbę z klawiatury to powinieneś uwzględniać wagę poszczególnych składników tej liczby. Pierwsza cyfra z trzech to, waga=100 zatem key*100, przy następnej cyfrze waga=10 zatem key*10, a na koniec samo key bo waga=1 i operacja mnożenia jest zbędna, jak to wszystko zsumujesz to otrzymasz ostateczną liczbę. Np. liczba 467 to 4*100+6*10+7....
Nie pokazales czy ustawiasz prawidlowo taktowanie TWI, jaki adres urzadzenia ma twoj PCF, a jaki ty nadajesz, no i co znaczy, ze uklad nie reaguje. W dodatku umieszczanie tego w przerwaniu jest pomyslem takim sobie w tej formie - nadanie start condition, adresu i ew. danych + stop condition trwa wieki w porownaniu z tempem dzialania procesora. Takze...
Bo nie masz loop () ;) Ja to wstawiłem tylko dla przykładu jaka jest semantyka. Zatem wgraj to, tylko zmień sobie na odpowiedni nr pin do którego masz podłączoną diodę : [syntax=c]/* Dependencies */ #include <Wire.h> // Required for I2C communication #include "PCF8574.h" // Required for PCF8574 PCF8574 expander; void setup() { expander.begin(0x38);...
W tym temacie: [url=http://www.elektroda.pl/rtvforum/to... masz krótki programik do przeszukiwania magistrali I2C. Skompiluj i wgraj będziesz wiedział czy układ jest wykrywany pod odpowiednimi adresami.
Musisz poprzedni stan wyprowadzeń układu przechowywać w zmiennej w procesorze (typ Byte). Do tej zmiennej możesz dostawać się poprzez operację kropki. Czyli np. [syntax=basic4gl] Dim Ekspander as Byte '... Ekspander = &B11110000 I2csend &H40, Ekspander '... Ekspander.0 = 1 I2csend &H40, Ekspander '... [/syntax] Pierwszy mój post w 2015, więc Szczęśliwego...
I2C to standard zwykle 5V-towy. Zatem przesyłanie takiego sygnału na dalsze odległości nie ma sensu - zbyt niskie poziomy napięć i mała odporność na zakłócenia. Skrętka sama nie pomoże, gdyż istotą skrętki jest jednak przesyłanie sygnałów róźnicowych, gdzie sygnał zakłócający będzie się dodawał do obu sygnałów, zatem w rezultacie się on zniesie. Gdyby...
Wprowadzasz sobie do programu zmienną, np : [syntax=c]byte licznik ;[/syntax] Po każdym naciśnięciu przycisku zwiększasz jej stan o 1, np : [syntax=c]if ( digitalRead(PIN_PRZYCISKU ) == LOW ) // pin przycisku musi byc ustawiony jako wejscie z pullup a przycisk zwierac go do GND { licznik ++; delay(50); // delay() użyte jako prymitywny debouncing przyciski...
Na 10 str. masz wyjaśnione jak coś zapisać do PCF'a. Przede wszystkim przy zapisie adres PCF'a ci się nie zgadza - bit0 musi być 0 a u ciebie jest 1. No i zapis bitowy zmiennej inaczej się w C oznacza.
W przykładach do mojej książki (darmowych) masz kod współpracy z tym scalakiem. Spróbuj z nim.
A nie ma ten Twój expander na końcu literki A ? Bo wtedy adres jest całkiem inny.
https://obrazki.elektroda.pl/6206626500_... Przedstawię tutaj prosty w użyciu moduł pozwalający na uzyskanie dodatkowych portów I/O. Jeden PCF8574 sterowany jest tylko dwoma sygnałami, a daje nam aż całe 8 konfigurowalnych wejść/wyjść razem z dodatkowym opcjonalnym sygnałem przerwania. Co więcej, dwa piny mogą wysterować jednocześnie...
Witam. A dlaczego dajesz adres 0x3F dla PCF ja dla chińskiego konwertera w AVR daję #define LCDVTWI_ADDR 0x40 //adres układu PCF8574
Witam Z tego co kojarzę to PCF8574 ma prąd wyjściowy w stanie wysokim 100uA i może nie być w stanie wysterować poprawnie ULN2003. Pozdrawiam Romek
Raczej na pewno są to PCF8574 i PCF8576
Witam. Oczywiście ale jeśli brakło by wejść można zastosować jakiś expander np: pcf8574 .
20 portów w module, to tak trochę nietypowo. Zazwyczaj są to wielokrotności 8 i rzadko więcej jak 16 IO. Ja najczęściej bazuję na MCP23017 lub MCP23S17. Możesz też się pokusić o staruszka PCF8574, którego kupisz u chińczyków za grosze.
Wtedy albo np. mega16 lub ekspander np. PCF8574 na I2C ;)
Witam Komunikuję się z układem PCF8574 po I2C i potrzebuję zrobić coś takiego: Piny P0, P1, P2, P3 mają być jako wejścia i po naciśnięciu przycisku mają wczytać jakąś wartość do zmiennej. Natomiast pozostałe 4 piny, czyli P4, P5, P6, P7 mają pracować jako wyjścia. Chciałbym, żeby po wpisaniu jakiejś wartości do kolejnej zmiennej, zapaliła mi się dioda...
A mnie zastanawia czy układ jest kompletny. Przecież jest tam PCF8574. A to ekspander I2C, co by wskazywało na współpracę z jakimś mikrokontrolerem. Po płytce widać że 4069 pracują jako bufory miedzy mosfetami( w sumie 8-mioma, bo irf7103 jest podwójny), a PCF8574 ( który jest 8-mio bitowy). 40106 ma wejścia shmidta, więc pasował by jako bufor wejść...
daj pcf8574, albo zaprojektuj szyne danych i szyne adresową w projekcie, wtedy problem z pinami przestanie istnieć.
No i można jednak jakieś konkretniejsze informacje uzyskać. Układ z którym się łącze to cytuje: To przyjrzyj się dokładniej dokumentacji. Każdy układ na I2C ma tak naprawdę 2 adresy różniące się ostatnim bitem. Dlatego często adres układu jest upraszczany do 7 starszych bitów. Pkt 8.3.2 [url=http://www.ti.com/lit/ds/symlink/pc... pokazuje...
Np. PCF8574, MCP23Sxx. Każde z tych rozwiązań będzie gorsze i droższe niż wybór modelu uC o liczbie wyprowadzeń odpowiedniej do zadania.
A jak chciałbyś to rozwiązać inaczej, jak masz tylko 8 wyprowadzeń portu dostępne? Można zrobić klawiaturę matrycową, wówczas będziesz miał 16 klawiszy. Można też użyć PCF8574 i jeszcze zwiększyć liczbę dostępnych wyprowadzeń. Tyle że Ty tego nie zrobisz, bo skoro zadajesz takie pytania to znaczy że nie masz zielonego pojęcia o tym i nie będziesz w...
Skoro masz problem z zrobieniem opóźnień to, podłącz wyświetlacz przez expander PCF8574 prędkość TWI ustaw na 100000Hz i po sprawie. Możesz działać na pełnej prędkości procesora.
LM317 + sterowanie rejestrem przesuwnym 74164, 74HC595 lub portem I2C PCF8574.
Użyj PCF8574 na i2c i z niego steruj mosfetami. Nie będzie problemu ze stanami nieustalonymi podczas restartu. Stan niski na GPIO0 przełącza układ w tryb flash przy uruchamianiu.
Przeanalizuj ten artykuł: http://mikrokontrolery.blogspot.com/2011...
Nasuwa się podstawowe pytanie PO CO KONWERTER ? Przecież pinów na tym Arduino masz pod dostatkiem. Już o to pytałem ale autor skupił sie na tym, że z konwerterami są problemy. Tak naprawdę to nie z konwerterami, kiedyś PCF8574 używałem często i problemów nie było. W Arduino, problemem jest zła deklaracja pinów. Deklaracja [syntax=c] LiquidCrystal_I2C...
magistrala I2C albo OneWire (?), wybrałbym tą pierwszą, masa + dwa sygnały a życiu znacznie prostsze (PCF8574 LUB PCF8575) to co narysowałeś to OneWire) ale zrobienie tego w drugim procesorku będzie baaardzo bolesne (DS2405)
W obsłudze timera (TIMER0_COMPA_vect) zrób wyświetlanie odpowiedniej cyfry. Wcześniej trzeba zdjąć bity maskujące. Ja w moim zegarze nixie mam rtc ds3231 i tam co sekundę sygnał 1 Hz wyzwala przerwanie w którym zmieniana jest flaga sygnalizująca że należy odczytać akualny czas i uaktualnić wartości wyświetlane na lampach.
Poczytaj o takich expanderach PCF8574 i PCF8574A. Są na I2C. Każdy rozdziela ci na 8, a może ich być łącznie 2x 8sztuk czyli 16 więc można wysterowac nawet 128 sztuk. I to wszystko wykorzystując tylko 2 linie porcka.
PCF8574 znalazłem w micro-philips
Zapomnij o dziwolągach takich jak LCD z interfejsem równoległym przez ekspander I2C i to jeszcze najgorszy z możliwych czyli PCF8574. A dlaczego? Mam takiego "dziwoląga" do użycia w razie potrzeby i działa całkiem nieźle. Poza tym jest fajny, podręczny, mało kabelków się plącze.
A jak inicjalizujesz TWI (podzielnik)? Czy PCF daje Ci ACK? Jak nie daje to napisz funkcje skanującą wszystkie adresy IIC. Może masz PCF8574A albo Chińska podróbę. One maja inny adres niż PCF8574. Zamiast LCD podłącz LEDy do PCF. Sprawdź czy poprawnie nimi sterujesz.
Jako transoptorów użył bym czegoś podobnego do hcpl354 lub jeszcze lepiej hcpl3700.
Możesz użyć kontrolera z 100wejść, ale to nie jest rozwiązanie. Może PCF8574? Polecam książkę o AVR (wygodne w programowaniu). Ale z czasem będzie ciężko. Wiedzę do takiego projektu zbiera się miesiącami/latami, a nie w kilka tygodni. Sposób testowania też wymaga przemyśleń. Bo nie możesz dopuścić do zwarcia przecież.
Której konkretnie użyłeś biblioteki LiquidCrystal_I2C? Sam plik nagłówkowym "LiquidCrystal_I2C.h" może wskazywać na kilka. Przynajmniej w jednej z nich, zaleca się uruchomienie komendy backlight(), zaraz po begin() plus czasami podanie pinu (już po stronie samego wyświetlacza) w konstruktorze obiektu, który odpowiada za podświetlenie. Jeżeli "przejściówka"...
Hej. Kopiłem dwa moduły ESP8266-01 i zabrakło mi w nich portów. Pomyślałem ze roszerze to o expander pcf8574. Podłączenie się udało na skanerze i2c ukazał mi się adres (0x38). Dodałem bibliotekę PCF8574.h niestety standardowo była nie kompatybilna, więc pomysłem że znajdę na necie kupę przykładów i bibliotek do rozwiązania mojego problemu. znalazłem...
I2C w ESP8266 jest realizowany programowo i nie grzeszy prędkością. Przydałby się oscyloskop lub analizator stanów logicznych i sprawdzenie jak szybko są "omiatane" poszczególne cyfry wyświetlacza. Schemat blokowy PCF wskazuje, że odczyt jest "zatrzaskiwany" tzn. te 8 bitów jest odczytywanych równocześnie - to dobra właściwość. Jednak odczytując drugi...
Muszę oblukać [url=https://akademia.nettigo.pl/starter...
Tak, nic nie powinno się zmienić, moduł jest albo na MCP23S17, albo PCF8574, pinout GPIO Pi się nie zmienił.
Aby zadziałało jeden do jednego musi być ten sam kontroler wyświetlacza. Przy innym kontrolerze nie ma szans zadziałania. Są inne komendy inicjalizacji, czyszczenia, zapisu do pamięci RAM itp. Nawet z tym samym kontrolerem a innym rodzajem wyświetlaczem może nie zadziałać. Prawdopodobnie wyświetlacz działa na kontrolerze ST7036i. Konwerter z linku działa...
Uruchamiam właśnie urządzenie własnej konstrukcji oparte na mikrokontrolerze PIC32MX795F512L. Jednym z jego komponentów jest wyświetlacz HD44780, podłączony do I2C za pomocą PCF8574A. Ponieważ piny odpowiadające pozostałym interfejsom I2C były już zajęta, a pomysł dodania wyświetlacza pojawił się w końcowej fazie prac nad projektem płytki, mogłem wykorzystać...
http://obrazki.elektroda.net/18_12305729... Prezentowany przeze mnie układ służy do przyłączenia wyświetlacza LCD ze sterownikiem HD44780 lub kompatybilnym do mikrokontrolera poprzez interfejs I2C (TWI). Dzięki temu oszczędzamy – czasem bardzo cenne – wyprowadzenia mikrokontrolera. Urządzenie jest bardzo proste w konstrukcji a...
Witam ja dam od siebie kod w bascom LCD 2x16 na PCF8574+DS18B20 [syntax=basic4gl] $regfile = "m8def.dat" ' specify the used micro $crystal = 16000000 ' used crystal frequency ' default use 40 for the frame space $baud = 9600 $lib "Lcd_i2c.lib" ' use baud rate $hwstack = 32 ' default use 32 for the hardware stack $swstack = 32 ' default use 10 for the...
Czy w układzie PCF8574 można uzyskać na wyjściach +5V czy tylko masę (0V) , czy diody led połączone do wspólnej masy (-) można zaświecić z wyjść tego układu?
ciekawe rozwiazanie, oczywiscie bedzie dzialac tylko musisz non stop zmieniac piny z wejscia na wyjscie. Ja ci polecam pcf8574, mozesz tez to multipleksowac. Wiec w sumie by ci wyszlo 2 linie (i2c) dla pcfa i te 2 na multipleksowanie wtedy wychodzi 16 przyciskow. Mozesz tez dac 2 te pcfy i wtedy zajmie ci to tylko 2 piny (wszystko na i2c), tylko pamietaj,...
Jeżeli moduł ten ma na płytce PCF8574, to może to działać. układ ten może być zasilany napięciami z przedziału 2,5...6 V. Kontroler wyświetlacza HD44780U może z kolei być zasilany napięciami z zakresu 2,7...5,5 V. Zatem o ile nie będzie problemu z przetwornicą napięcia ujemnego dla samego wyświetlacza, to wszystko będzie pracować prawidłowo. Generalnie...
Wrzuciłem na LCD wyświetlanie stanu jednego z wejść. Przed wejściem do menu działa bez problemu, tzn. wyświetla stan wejścia, po wejściu w menu nie odczytuje stanu - cały czas jet 0. Próbuję użyć przerwań z PCF8574. Przy naciśnięciu klawisza na wyjściu INT pojawia się napięcie około 5V ( właściwie impuls, mierzone względem GND ), więc układ wygląda...
Witam, chce zwiększyć ilość pinów i zmodyfikowałem program do odczytu stanów [syntax=basic4gl]$regfile = "m644pdef.dat" ' specify the used micro $crystal = 16000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 '---------------------------------------... 'konfiguracja wyświetlacza Config Lcd = 16 * 4 Config Lcdpin =...
Po prostu sądzę że Kolega (at)MKej jeszcze w nauce języka C i znajomosci sprzętu ne doszedł do tego poziomu. Jedyną rzeczą jaką mu mogę poradzić to sprawdzić czy I2C jest podciągniete (zewn lub wewn) do Vcc
Witam! Prosiłbym o zerknięcie na poniższy schemat. http://obrazki.elektroda.pl/1526985500_1... Niby nic niezwykłego, ale jest już trochę późno i mogłem się machnąć. Sterowanie jest zrobione w odrobinę śmieszny sposób ze względu na bardzo niską wydajność prądową ekspadnera I/O, która wynosi zaledwie 100uA. Tutaj nota http://www.nxp.com/documents/data_sheet/...
Oprócz obudowy i zakresu temperatur bywają odmiany rózniące sie parametrami np dokładnością (wzmacniacze, referencje, przetworniki) albo tak jak w przypadku PCF8574 adresem, spotyka sie też oznaczenie technologii bezołowiowej PBF. Każdy producent ma własne oznaczenia, więc popularny układ scalony produkowany przez wiele firm moze występować z różnymi...
Witam Przy OUTPUT przez PCF8574 nie trzeba robić ( tylko trzeba pamiętać, że i2cdetect -y 0 wpisane w terminalu pokaże adres x20, a domoticz potrzebuje decymalnie czyli 32 ). https://obrazki.elektroda.pl/1646903200_... ustawienie https://obrazki.elektroda.pl/3339371500_... daje w zakładce przełączniki https://obrazki.elektroda.pl/4922281400_...
Arduino Mega przy bezpośrednim sterowaniu na pewno da radę, chyba że będziesz wykonywał w programie jakieś bardzo skomplikowane operacje na liczbach zmiennoprzecinkowych jeżeli to tylko proste sterownie 6 silnikami DC plus pomiar impulsów z 6 enkoderów nie będzie problemów. Warto zastanowić się nad wykorzystaniem I2C bez problemu można obsłużyć LCD...
taki mały przykład... trochę bałaganiarski ale widać jak ogarnąć buttony na stronie www. [syntax=c] #include <pcf8574_esp.h> //#include <PCint.h> #include <U8g2lib.h> #include <U8x8lib.h> //#include <Wire.h> U8G2_SH1106_128X64_VCOMH0_1_HW_I2C u8g2(U8G2_R2 ,U8X8_PIN_NONE,SCL,SDA); TwoWire testWire; PCF857x pcf8574(0x20,&testWire);...
Witam, panowie mam takie pytanie(problem), a mianowicie dysponuje Arduino YUN i aplikacją BLYNK której obsługa i zgranie tego z Arduino jest dość zrozumiała. Kiedy chcę wysterować jakieś porty arduino za pomocą aplikacji Blynk to nie ma problemu, ale nie bardzo mam pomysł jak wysterować wyjścia ekspandera PCF8574 który mam podłączony. Jakieś pomysły...
Niestaty Twoje porady nie odniosły rezultatu :( Bez znaczenia czy w miejsce przed newralgicznym punktem wkleje kod z wyświetlaczem czy nie, to nadal nie działa. Identyczna sytuacja występuje w przypadku pamięci EEPROM, również następuje zatrzymanie w pętli w funkcji TWI_read. Z jakiegoś powodu flaga TWINT nie zostaje ustawiona...
nie zależy mi tak bardzo na wyświetlaczu, jak na rozwiązaniu problemu w celach edukacyjnych Przykłady zastosowania takiego układu w Arduino. [url=https://www.instructables.com/Using... [url=https://www.youtube.com/watch?v=m9t... Konkretny przykład [url=https://github.com/mathertel/Liquid...
Wpinasz go tak samo jak zegarek: na linie SDA i SCL dodatkowo szeregowo po 300Ohm na tych liniach. Zasilanie +5V. Adres A0,A1, A2 ustaw sobie na stałe (nie musisz używać portów uP). Obsługa frywialnie prosta (wszystko w pdf). Jak odczytujesz dane z zegarka to PCF8574 to juz nie problem. Jest to nic innego jak dodatkowy port sterowany magistralą I2C....
To zależy jaką masz wprawę w programowaniu i jak szybkiej komunikacji potrzebujesz ;) Interfejs (komputerowy) dowolny, wystarczy rozsądnie wykorzystać potęgę drzemiącą w magistralach szeregowych. Np. I2C -> dostępne są układy wejść/wyjść z 8/16 wyprowadzeniami (np PCF8574, MCP23016) które można połączyć do 8 sztuk na magistrali co w zupełności wystarczy...
Łap. Dlatego że ta biblioteka obsługuje też najnowsze uC ze stajni Microchipa to jesli starszy Bascom trzeba to napisać tak: https://obrazki.elektroda.pl/2229481800_... [syntax=vbnet] 'Konfiguracja i2c Const _XTINY = 0 $lib "i2c_twi.lib" Config Twi = 100000 Config Sda = Portc.1 'dla M16/M32/M644 Config Scl = Portc.0 I2cinit Dim Pcf8574_lcd...
Witam, poszukuję biblioteki do obsługi HD44780 poprzez przejściówkę na PCF8574. Jeżeli ktoś zechciałby się podzielić, byłbym wdzięczny. Pozdrawiam.
Gniazdo zastosuj IDC10. Złącze klawiatury to MiniDIN6. Jak pisze PCF8574 to ma być PCF8574 a nie PCF8574A jeśli oba są dostępne!!! Literka P to typ obudowy DIP.
Witam, Napisałem program obsługi malej klawiatury (5 przycisków) w oparciu o kostkę PCF8574. Wszystko działa, ale bardzo wolno... Gdy nacisnę przycisk to na wyświetlaczu reakcja naciśnięcia jest wtedy, gdy przycisną klawisz na trochę dlużej. Co może być powodem? Przesyłam kawałek kodu odpowiedzialnego za odczyt stanu pinów PCFa: void klawiatura(){...
Upewnij się, że transmisja po I2C idzie prawidłowo - czy jest START, STOP, czy układ potwierdza otrzymane dane - najlepiej oscyloskopem. Być może brakuje tego STOP-a na końcu?
Cześć. Mam do Was pytanie. Na raspberry muszę zrobić aplikację okienkową, która będzie sterować urządzeniami odległymi ok 10-15m od Raspberry. Urządzenia te będą sterowane poprzez ekspandery PCF8574. Ekspandery natomiast są ustawiane poprzez komunikację i2c. Mam kupiony moduł wifi Adafruit Huzzah ESP8266, który jest wyposażony w inie SDA i SCL do komunikacji...
pcf8574 ds18b20 pcf8574 wyjście pcf8574 atmega
skuter tuningu wentylator chłodnicy pracuje mercedes silnik benzyna mercedes
Instrukcja wideo Hikvision DS-KH6350-WTE1 PL Peugeot 206 1.4 16V 2004 - Check Engine po wymianie sondy lambda