Komunikacja po I²C, odczyt i zapis pamięci EEPROM

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2021
  • W tym filmie zajmujemy się tematem magistrali I²C, która jest bardzo często używana do komunikacji z modułami do Arduino czy pamięciami EEPROM. Skupiamy się na pamięciach, pokazuję Wam, gdzie można je znaleźć, i jaki mają układ wyprowadzeń. Potem zaglądamy do noty katalogowej pamięci, aby dowiedzieć się, jak działa komunikacja po I²C. Następnie ręcznie wysyłamy zera i jedynki, aby zapisać dane, a potem sprawdzamy, czy faktycznie się zapisały, odczytując je.
    Noty katalogowe:
    CAT24C08: www.onsemi.com/pdf/datasheet/...
    M24512: www.st.com/resource/en/datash...
    Nie chcesz przegapić nowych filmów? Subskrybuj kanał!
    Moje najciekawsze filmy:
    Prosty jonizator powietrza:
    • Jak zrobić jonizator p...
    Karta graficzna do komputera 8-bit:
    • Karta graficzna do kom...
    Prosty regulator mocy na triaku:
    • Jak zrobić regulator m...
    Wskaźnik poziomu baterii:
    • Jak zrobić wskaźnik po...
    Miernik bardzo niskich rezystancji:
    • Miernik niskich rezyst...
    Klasyczny zasilacz laboratoryjny:
    • Jak zrobić zasilacz z ...
    Regulowany stabilizator napięcia:
    • Jak zrobić regulowany ...
    Nagrzewnica indukcyjna dużej mocy:
    • Wydajna nagrzewnica in...
    Naprawa zasilaczy wtykowych:
    • Naprawa zasilaczy impu...
    Miernik indukcyjności cewek:
    • Miernik indukcyjności ...
    Przeróbka zasilacza impulsowego na zasilacz 36V:
    • Przeróbka zasilacza im...
    Naprawa żarówki energooszczędnej:
    • Naprawa żarówki energo...
    Prosty wykrywacz metalu:
    • Jak zrobić wykrywacz m...
    Niezawodna przetwornica step-down:
    • Prosta przetwornica st...
    Miernik ESR:
    • Jak zrobić miernik ESR...
    Naprawa zasilacza 12V 5A:
    • Naprawa zasilacza impu...
    Pluskwa o dużym zasięgu:
    • Nadajnik FM z czułym m...
    Naprawa żarówek LED:
    • Naprawa żarówek LED; J...
    Proste radio FM:
    • Jak zrobić proste radi...
    Przenośny zasilacz regulowany:
    • Niezawodny zasilacz re...
    Nadajnik FM:
    • Nadajnik FM o dużym za...
    Prosty zasilacz flyback:
    • Jak zbudować prosty za...
    Sztuczne obciążenie do testowania zasilaczy:
    • Sztuczne obciążenie do...
    Zmiana napięcia w zasilaczu impulsowym:
    • Zmiana napięcia wyjści...
    Zabezpieczanie przed odwrotną polaryzacją:
    • Zabezpieczanie układów...
    Regulator MPPT do paneli słonecznych:
    • Ładowarka solarna, kon...
    Budujemy zasilacz impulsowy:
    • Jak zbudować zasilacz ...
    Zasilacz laboratoryjny z zasilacza impulsowego:
    • Przeróbka zasilacza im...
    Naprawa ładowarki 5V:
    • Naprawa ładowarki, zas...
    Naprawa monitora LCD:
    • Jak naprawić monitor L...
    Naprawa zasilacza ATX:
    • Jak naprawić zasilacz ...
    Prostownik do akumulatora:
    • Automatyczny prostowni...
    Zabezpieczenie przeciwzwarciowe:
    • Ogranicznik prądu, zab...
    Przetwornica 100W z 12V na 230 lub 325V:
    • Przetwornica z 12V na ...
    Oscyloskop LED:
    • Oscyloskop LED (część ...
    Sterownik PWM do silników i żarówek:
    • Regulator PWM do silni...
    Playlisty:
    Podstawy elektroniki: • Podstawy elektroniki
    Zrób to sam: • Zrób to sam
    Przetwornice: • Przetwornice
    Naprawy: • Naprawy
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 115

  • @grzeniu9972
    @grzeniu9972 2 ปีที่แล้ว +31

    Rozwaliles mi sytem😄. Od wielu lat bawie sie I2c ale nigdy nie przyszlo mi to robic ręcznie. Teraz tylko troche ci predkosc trzeba podkrecic i mozesz jako arduuno pracowac

  • @dariuszwereszczynski8061
    @dariuszwereszczynski8061 2 ปีที่แล้ว +5

    Bardzo dobry odcinek 👍 Wszystko jasno i klarownie powiedziane 🤝

  • @mateuszx17
    @mateuszx17 2 ปีที่แล้ว +1

    Fajnie, że pokazuje i objaśnia takie rzeczy, które można pobrać z starych płytek, zużytych części i dalej je wykorzystać.

  • @janjanowski2891
    @janjanowski2891 ปีที่แล้ว +1

    Prze Wspaniały odcinek ! I²C to super ciekawy temat w Arduino a w połączeniu z tymi pamięciami to bajka !

  • @GG-kb9xk
    @GG-kb9xk 2 ปีที่แล้ว +1

    Gratuluję!!! jestem w szoku...

  • @s0pel85
    @s0pel85 2 ปีที่แล้ว +3

    Ale wstrzeliłeś sie z tematem, wlasnie kilka dni temu zainteresowalo mnie to.

  • @majorbien554
    @majorbien554 2 ปีที่แล้ว

    Elegancki odcineczek!

  • @IREKWWSL
    @IREKWWSL 2 ปีที่แล้ว +1

    Przed obejrzeniem łapa w górę

  • @dominikkrauze6812
    @dominikkrauze6812 2 ปีที่แล้ว +1

    👍👍👍. Dobra robota. Pozdro

  • @krystianbrzozka6853
    @krystianbrzozka6853 2 ปีที่แล้ว

    Jeszcze o EEPROM super odcinek

  • @dariuszszybiak5599
    @dariuszszybiak5599 ปีที่แล้ว

    Własnie dostał chodzik raczkujący w elektronice cyfrowej. Poszedł sub i łapka dobra robota może nawet dzieciaki tym zainteresuje.

  • @adamkoczaj6410
    @adamkoczaj6410 2 ปีที่แล้ว

    Łapa w górę ;-)

  • @MahatmaMichael
    @MahatmaMichael 2 ปีที่แล้ว

    Dzięki! Właśnie zamierzam nauczyć się używania takich pamięci i2c/eeprom z 'moimi' mikrokontrolerami Microchip pic - jestem entuzjastą tworzenia w pic assembler ;-)

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      Ja zdążyłem napisać już własny system plików dla takich pamięci ;)

    • @MahatmaMichael
      @MahatmaMichael 2 ปีที่แล้ว +1

      Własny system plików - do jakiego mikroprocesora / mikrokontrolera / modułu i w jakim języku tworzysz?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      @@MahatmaMichael Do praktycznie każdego AVRa, który ma wystarczającą ilość RAMu. Używam pamięci jako pendriv'ów do swojego komputera ośmiobitowego. Piszę w Arduino IDE, czyli C z bibliotekami

    • @MahatmaMichael
      @MahatmaMichael 2 ปีที่แล้ว +1

      I see.

  • @polak1144
    @polak1144 2 ปีที่แล้ว

    Będąc szczerym zobaczyłem parę filmów i jestem w szoku, kanał bardzo oryginalnie prowadzony. Niedawno zmierzyłem sie z małym problemem dla mnie nie do rozwiązania, ale mam nadzieję, że jest Pan w stanie mi pomóc. Następująco mam 6 żaróweczek 12v, chciałbym zrobić efekt, że po tym jak podepnę pod źródło zasilania kolejna żarówka będzie zapalała się z minimalnym, lecz widocznym opóźnieniem tworząc przy tym efekt.
    Serdecznie Pozdrawiam. :)

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      A jak chcesz uzyskać ten efekt? Za pomocą mikrokontrolera czy na układach dyskretnych? Jeśli chodzi o drugą opcję, to pierwsze co mi przychodzi do głowy to CD4017 + przerzutniki RS (cyfrówka), lub wzmacniacze operacyjne/komparatory + układ RC, do którego są podłączone

    • @polak1144
      @polak1144 2 ปีที่แล้ว

      @@__MINT_ jeśli chodzi o efekt mi zależy na jak najbardziej minimalistycznym rozwiązaniu gdzie te żaróweczki nie mają mrugać ani tworzyć żadnych skomplikowanych efektów po prostu każda następna by miała zapalić się na stałe ale z widocznym lekkim opóźnieniem

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      W przypadku wersji analogowej potrzebujesz pięć wzmacniaczy operacyjnych i pięć mosfetów, a jak wolisz wersję cyfrową, to potrzeba CD4017, timer 555, pięć przerzutników RS i pięć mosfetów

    • @polak1144
      @polak1144 2 ปีที่แล้ว

      @@__MINT_ Dziękuję :)

  • @gamelsz8269
    @gamelsz8269 2 ปีที่แล้ว +1

    Cześć, mam pytanie co to za oscyloskop przenośny który można było zobaczyć kiedyś u ciebie na filmach min na filmie o wykrywaczu metalu?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Voltcraft ScopeDMM 750, to już zabytek

  • @JackSparrow-oq6iv
    @JackSparrow-oq6iv 2 ปีที่แล้ว +2

    Mam jeszcze pytanie a propos trafopowielaczy. Czy gdybym wziął dwa ale na jednym nawinął uzwojenie w jednym kierunku a na drugim nawinął uzwojenie odwrotnie to czy sumarycznie pomiędzy nimi uzyskałbym podwójne napięcie pomiędzy wyjściami łącząc drugie z wyjść?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      Tak, ale na obydwu nawijasz uzwojenie w tym samym kierunku, a na wyjściu plusa z jednego łączysz z minusem drugiego

    • @saraperez3119
      @saraperez3119 2 ปีที่แล้ว

      @@__MINT_ Dzięki.

  • @dejavujanus
    @dejavujanus 2 ปีที่แล้ว

    Super, a teraz cos na czasie: wez falownik z rs485 i rozkmin komunikacje tak zeby zastapic orginalny sterownik ladowania aku. Jak zrobisz swoj w realnych pieniadzach do ktorego podepne wlasne stockowe aku to kupuje. Przy okazji robiac do tego filmy bedziesz mial po bance ogladalnosci z kazdego.

  • @marcint4521
    @marcint4521 2 ปีที่แล้ว

    Fiu fiu 😲

  • @przemekbundy
    @przemekbundy 2 ปีที่แล้ว

    witam. przy odczycie bajtu. adres zwieksza sie o jeden. a czy jest cos takiego ze po zapisie bajtu zwieksza sie adres do zapisu. czy zawsze trzeba wybierac osobno kolejny bajt adresu? pozdrawiam.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Tak, jest takie coś jak page write, wystarczy akceptować pierwszy bit kolejnego bajtu czy jakoś tak. Oczywiście nie można zapisać tak całej pamięci, a od kilkunastu do nieco ponad 100 bajtów. Każda pamięć ma bufor, do którego ładowane są kolejne bajty zapisywane w ten sposób, u mnie np. pamięć 1kB ma bufor 16B, czyli można zapisać do 16 bajtów jeden po drugim, a pamięć 64kB ma bufor 128B

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Dodam, że dla Arduino napięcia na sda przy odczycie: dla 1 - 5V, dla 0 - 2.7-2.8V. Zamieniłem Arduino na Atmega8 i wtedy odpowiednio: dla 1 - 4.93V, a dla 0 - 2.35V.

  • @emiliamichalina4517
    @emiliamichalina4517 2 ปีที่แล้ว

    mam problemik ostatni film z revoxemb251

  • @krism3151
    @krism3151 2 ปีที่แล้ว

    👍👍

  • @kuba5894
    @kuba5894 10 หลายเดือนก่อน

    ta pierwsza pamięć jest polutawana do adaptera nie estetycznie ale styka dobrze z pinami

  • @andreasnowak6984
    @andreasnowak6984 2 ปีที่แล้ว

    Ciekawy film. A potrafiłbyś odczytać za pomocą na przykład Arduino pamięć 93C46

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      Arduino ma gotową bibliotekę do SPI, którego ta pamięć używa, ale zanim będę odczytywał za pomocą arduino, odczytam ręcznie, aby zrozumieć działanie protokołu

  • @piotrprudlik762
    @piotrprudlik762 2 ปีที่แล้ว

    Witam mam pytanie mam radio samochodowe ale nie mam panela przedniego i nie mam jak pogłośnić tego głosu i moje pytanie jest takie czy można wlutować potencjometr do płyty głównej radia samochodowego i czy można nim pogłaśniać i ściszać

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Tak, można

    • @piotrprudlik762
      @piotrprudlik762 2 ปีที่แล้ว

      @@__MINT_ ale można w każdym radiu samochodowym

    • @piotrprudlik762
      @piotrprudlik762 2 ปีที่แล้ว

      A jeszcze mam pytanie bo mam jeszcze jedno radio też bez panelu przedniego ale nie wiem czy działa i jak to można sprawdzić

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      @@piotrprudlik762 Prawie w każdym, jeśli chodzi o radio bez panelu, to musisz znaleźć przycisk włączający radio po zamontowaniu panelu, we wnęce na panel

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Chyba źle oceniliśmy czas zapisu byte'u w pamięci (24C08) i to o dwa rzędy. Z moich ostatnich pomiarów wynika, że jest to ok 0.15ms czyli 150 us a nie kilka czy kilkanaście ms.
    Nie wiem jak Ty to robiłeś, ale jeśli użyłeś funkcji millis() i Monitora portu szeregowego (by Serial), żeby wyświetlić wynik (tak jak to ja robiłem) to okazuje się następujące. Dla zapisu 100 byte'ów czas ten wyniósł ok 1100ms. Dołączyłem LCD, żeby potwierdzić taki odczyt i na LCD otrzymałem ten sam wynik. Ale niedowierzałem i następnie wyłączyłem całkowicie Serial a korzystałem jedynie z LCD. I teraz wynik zmienił się kolosalnie, bo na LCD otrzymałem 15ms. Początkowo sądziłem, że przyczyną tak kolosalnej różnicy jest wadliwy LCD. Więc postanowiłem nie korzystać ani z Serial ani LCD. Zapisałem wynik bezpośrednio do pamięci EEPROM mcu. No, i okazało się, że w EEPROM jest zapisany ten sam wynik co pokazywał LCD (bez używania Serial), czyli 15ms. Zatem czas zapisu jednego byte'u to 0.15ms. Tak czy inaczej, ostatecznie okazuje się jeśli prawidłowo użyć Seriala to czasy dla zapisu 100 byte'ów sa takie same, czyli 15ms.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Nota katalogowa podaje tylko maksymalny czas zapisu wynoszący 5ms, minimalny nie jest określony, i jak widać w Twoim przypadku wynosi te 150us. Ja mierzyłem czas za pomocą funkcji micros(), po rozpoczęciu zapisu wartość micros() zapisywałem w zmiennej pomocniczej, a po zakończeniu zapisu wysyłałem przez serial wartość micros() - zmienna_pomocnicza. Wypisywanie wartości robi się po zakończeniu pomiaru, a nie w trakcie, bo to trwa i go zakłamuje

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Dlaczego dla 24c08 stosujesz Selective Read zamiast krótszy sposób Immediate Read? Czy to ma jakieś uzasadnienie czy tak po prostu wybrałeś?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Jak nie podajesz adresu odczytu, to nie wiesz, skąd odczytujesz. Trzeba cały czas zapamiętywać ostatni adres odczytu/zapisu, bo to on będzie odczytywany

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ No, ale przecież odczytujesz bezpośrednio po zapisie z tego co widzę, tak?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Ale wolałem sposób z podawaniem adresu

  • @Cyklonus
    @Cyklonus 2 ปีที่แล้ว

    👍

  • @husc7775
    @husc7775 2 ปีที่แล้ว

    Pamiętam jak rs elektronika mówił o tym że miał w swoim kompie kilobajty ramu o ja poròwnując to ze swoimi 8 gb ramu. I teraz patrze sobiw na ten EEPROM Z 256 bajtami i mam takie: "young boi "

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว +1

    Potrafię zapisać i odczytać byte uzywając Arduino. Ale gdy próbuję to zrobić dla np. kilku byte'ów w pętli, zmieniając oczywiście odpowiednio adresy kolejnych byte'ów, to cos takiego nie wychodzi. Któryś tam byte się odczytuje, inne - nie. Ręcznie oczywiście coś takiego można zrobić. Ale dlaczego 24C08 nie lubi pętli? Czy robiłeś coś takiego, czy coś podobnego? Może napotkałeś taki problem? Oczywiście każdy zapis czy odczyt zaczyna się i kończy odpowiednim START i STOP.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      U mnie wszystko działa, mogę bezbłędnie odczytywać i zapisywać tysiące bajtów jeden po drugim. A mogę rzucić okiem na kod? Używasz biblioteki Wire czy napisałeś własne procedury? Ja mam własne

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ Może przejdę na Wire i zobaczymy co będzie.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      Pewnie problem dotyczy ponownego wysyłania komendy start. Żeby to zrobić, nie wystarczy ustawić zegara na stan wysoki, a danych na niski. Najpierw trzeba ustawić linię danych jako wyjście, potem wziąć zegar na stan niski, następnie dane na wysoki, dalej zegar na stan wysoki, dane na stan niski, a na koniec zegar na stan niski. Dzięki temu nie trzeba brać pod uwagę stanów początkowych zegara i danych.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      U mnie wygląda to tak:
      void sendStart()
      {
      DDRD |= 8; //SDA - out
      PORTD &= 251; //CLK - low
      delayMicroseconds(I2Cdelay);
      PORTD |= 8; //SDA - high
      delayMicroseconds(I2Cdelay);
      PORTD |= 4; //CLK - high
      delayMicroseconds(I2Cdelay);
      PORTD &= 247; //SDA - low
      delayMicroseconds(I2Cdelay);
      PORTD &= 251; //CLK - low
      }

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ Czy DRDD |= (1

  • @aplas123
    @aplas123 2 ปีที่แล้ว

    Ciekawe że nie powstał "debounce" (wielokrotne odbicia) przy przyciskaniu przycisków. Widać dobre przyciski.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Przycisk SCK miał podłączony równolegle kondensator 100n, bez niego były problemy z debouncingiem

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Jak to jest? Po ACK powinieneś dać 1 cykl zegara, jak wcześniej to powiedziałeś. Tymczasem tuż przed odczytaniem byte'u danych po ukazaniu się ACK nie dajesz 1 cyklu zegara lecz od razu odczytujesz bity, chociaż z sekwencji w datasheet wynikałoby, że tak samo jak wcześniej powinieneś dać 1 cykl zegara po ACK ?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Który moment filmu masz na myśli?

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ Tak jak napisałem - odczyt danych z 24C08, tuż po podaniu po raz drugi SLAVE ADDRESS z jedynką(odczyt) i wtedy pojawia się ACK.

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      czas ok 19:21

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Po pojawieniu się ACK podałem dodatkowy takt zegara, i dioda zgasła. Po tym takcie od razu pojawia się pierwszy bit odczytywanego bajtu, to w przypadku zapisu trzeba podać jeszcze jeden takt zegara, aby załadować pierwszy bit do pamięci

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ OK. Dzięki.

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Czy te 3 us, które wspominałeś, to czas jednego cyklu zegarowego u ciebie, czy czas zapisu jednego byte'u, czy jeszcze coś innego ?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      3us to minimalna wartość, przy której delayMicroseconds() wytwarza prawidłowe opóźnienie. To odstep pomiędzy zmianami stanu linii zegara, w przypadku szybkich pamięci wcale go nie potrzeba. Podczas tak małych opóźnień trzeba brać pod uwagę ilość cykli zegara potrzebnych na wykonanie każdej instrukcji, bo samo wywołanie delayMicroseconds() zabiera kilka cykli, potem jest wykonywane opóźnienie, a na koniec instrukcja ret. Przy dłuższych opóźnieniach używa się pętli for, a sprawdzanie, czy warunek podtrzymywania pętli jest spełniony, także wymaga kilku-kilkunastu cykli zegara (zazwyczaj na instrukcje ld, sub, jp NC i jp, zależy od kompilatora) przez co instrukcje w pętli wykonywane są nieco wolniej, niż te same instrukcje powielone i zapisane jedna nad drugą.
      Czas zapisu bajtu jest dużo dłuższy i wynosi zazwyczaj kilka ms. Żeby nie trzeba było dawać opóźnień w kodzie, używa się ACK pollingu, żeby sprawdzić, czy zapis jeszcze trwa. Niedługo wrzucam 3 część o komputerze 8-bit, w kodzie będzie obsługa pamięci I²C i SPI.

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ To ciekawe. U mnie 11ms zajmuje zapis byte'u. Spodziewałem się czasu znacznie krótszego.

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ Dodam, że wcześniej gdy wpisywałem wiele razy pewne 4 liczby przy testowaniu, to one jakby się utrwaliły. Obecnie, mimo że nadpisuję dużo nowych danych od początku, to te 4 liczby przy odczycie są jednak widoczne. Czyżby jakieś erase było konieczne.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      A prawidłowo robisz ACK polling? Jak wiele razy zapisywałeś te same wartości, to komórki pamięci mogły się zużyć, przez co nie zapisują się prawidłowo

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ ACK - uważam, że tak. Natomiast zapisywać i odczytywać to mogłem tysiące razy.

  • @incxxxx
    @incxxxx 2 ปีที่แล้ว

    Próbuję napisać zapis i odczyt dla 24C08 korzystając z Arduino. Zapis OK, bo to można sprawdzić ręcznie. Ale odczyt nie wychodzi. Tam gdzie zapisana 1 to napięcie na sda 4.93V a tam gdzie zapisane 0, to na sda mamy 2.35V. I ostatecznie wygląda to tak, jakby każdy odczytywany stan sda był traktowany jako HIGH przy odczycie. Nie wiem co z tym zrobić. Może miałbyś jakąś sugestię?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Jaki masz rezystor podciągający SDA do plusa? Może za bardzo obciążasz pamięć

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ 10 k. To wydaje się ok.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      No tak, to w takim razie podłącz SDA poprzez dwie diody 1N4148 szeregowo (anoda do SDA, katoda do arduino), a w drugą stronę daj diodę Schottky (katoda do SDA, anoda do arduino). Pull-up podłącz bezpośrednio do SDA, powinno pomóc

    • @incxxxx
      @incxxxx 2 ปีที่แล้ว

      @@__MINT_ Niestety. Nie za bardzo rozumiem. Jedną diodę gdy odczytuję 1 a drugą gdy odczytuję 0? No i do tego jeszcze pull-up równolegle?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Pull-up pomiędzy SDA i plusa. 1N4148 zbiją napięcie 2.4V do 1V, co będzie uznane za stan niski. Dioda Schottky pozwoli na przepływ prądu w obie strony

  • @dawidwawrzyniak2403
    @dawidwawrzyniak2403 2 ปีที่แล้ว

    a teraz pamięci SPI 25XXX czy też dało by się ręcznie odczytać i zapisać ?

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +1

      Myślę że tak, z resztą mogę spróbować

    • @marcinwitkowski2981
      @marcinwitkowski2981 2 ปีที่แล้ว

      o tyle trudniej że pracują na zboczu. a nie na stanie do tego masz 3 tryby pracy w SPI. zrobienie tego ręcznie okupione będzie wykonaniem " dodatkowego urządzenia" w formie czyszczenia sygnału na brakach "Szmita" czasy propagacji mają wpływ na poprawność działania i 100n jest za wolnym zboczem.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      @Marcin Witkowski dzisiaj udało mi się ręcznie odczytać i zapisać pamięć SPI, wystarczył kondensator 100n równolegle do przycisku clock. Nie było z tym żadnych problemów, zapewne nagram film o SPI :)

    • @marcinwitkowski2981
      @marcinwitkowski2981 2 ปีที่แล้ว

      @@__MINT_ Gratulacje

  • @przemekbundy
    @przemekbundy 2 ปีที่แล้ว +2

    ciekawe ze drgania stykow nie zaklocily poprawnosci przesylania bitow.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว +2

      Dałem kondensator 100n równolegle do przycisku od SCL

    • @przemekbundy
      @przemekbundy 2 ปีที่แล้ว

      @@__MINT_ zrobilem taka zabawke. o dziwo pare miesiecy temu znalazlem kolo smietnika rozwalony telewizor. wziolem pare plytek. dla diod. ale byly tez scalaki. byl tez eeprom i2c. dobra zabawa z reczna obsluga tej pamieci. pozdrawiam.

  • @andr27
    @andr27 2 ปีที่แล้ว +2

    ben eater 10 lat pozniej w bolzdze :)

  • @przemekbundy
    @przemekbundy 2 ปีที่แล้ว

    może mógłbyś. poprawić oswietlenie swoich filmów. bo mi sie wydaja takie żółte. ale to tylko moje zdanie. pozdrawiam.

    • @__MINT_
      @__MINT_  2 ปีที่แล้ว

      Używam świetlówki 2700k, dlatego obraz jest taki, a nie inny. Przy zimnym świetle wyglądałoby to lepiej, ale nie lubię zimnego światła, a pod tą świetlówką siedzę po kilka godzin dziennie

  • @knagencjusz1958
    @knagencjusz1958 2 ปีที่แล้ว

    A teraz challange. Jak zaprogramować ręcznie Arduino.

  • @tomek6003
    @tomek6003 หลายเดือนก่อน

    Jaja kwadratowe!

  • @aatrox5559
    @aatrox5559 ปีที่แล้ว

    Za nie pokazanie schematu tylko kazanie układanie tego z obrazka powinno być wieczne biczowanie

    • @__MINT_
      @__MINT_  ปีที่แล้ว

      Mój drogi, lepiej się nad sobą zastanów, nie dość że dostajesz coś za darmo, coś, czego wcale nie musiałem nagrywać, ale zrobiłem to z dobrej woli, to ty jeszcze mi tutaj wyskakujesz z mordą i przypierdalasz się o błachostki. Jakby co to znam dobrego psychiatrę

  • @quwipyui6519
    @quwipyui6519 10 หลายเดือนก่อน

    to znowu ty czy ty możesz się nauczyć mówić po polsku ?

    • @__MINT_
      @__MINT_  4 หลายเดือนก่อน +1

      I prefer english

  • @kgracjank
    @kgracjank ปีที่แล้ว

    Cześć dopiero się uczę. Co to za eeprom jak w linku?
    drive.google.com/file/d/1ZJNs3XkWIuWWeHEEpS9iSSL-MrxJxW2x/view?usp=sharing
    Ma ktoś data sheet to poproszę, nie mogę znaleźć

    • @__MINT_
      @__MINT_  ปีที่แล้ว

      Jesteś pewny że to pamięć?