Wpis z mikrobloga

Dziś kolejny wpis, jednak tym razem nie testuje nowej części. Pragnę poruszyć dosyć ważny problem, którego rozwiązanie kosztowało mnie sporo czasu i kombinowania.

Jestem w trakcie tworzenia pracy inżynierskiej - urządzenie do oblokowywania zamka w drzwiach wykorzystując karty RFID. Jedną z funkcji jest zapisywanie historii wejść na zewnętrzym nośniku - karcie microSD. Jedną z funkcji będzie również odczytywanie ustawień użytkownika z pliku konfiguracyjnego na karcie.

Moduł RFID i SD korzystają z tego samego interfejsu SPI, którzy korzysta z 3 stałych pinów na Arduino.

Jak podłączyć wiele urządzeń SPI? Czytnik kart SD i tagów RFID oddzielnie działają bardzo ładnie, jednak razem nie chcą wspołpracować. Źródłem problemu są same moduły, ewentulanie biblioteka, która je obsługuje.
Interfejs SPI pozwala na komunikację tylko z jednym urządzeniem jednocześnie. Nie jest to żaden problem, ale jak się okazało, jeden z modułów nie wyłącza swojej linii MISO, gdy zostanie wyłączone poprzez linię SS, zakłócając pracę pozostałych modułów. Jak to wykryć? Jak obejść ten problem, nie ingerując zbytnio w wcześniej napisany kod? Więcej szczegółów tradycyjnie na moim blogu:

http://blog.gczernatowicz.pl/2015/11/26/wiele-urzadzen-spi-rfid-sd-zapisywanie-zdarzen/
#arduinozchin #arduino #mikrokontrolery #automatyka #programowanie
  • 16
@janek_kos: A w czym problem? Korzystam również z gotowego oprogramowania, a nawet komputer kupiłem gotowy, zamiast robić wszystko od zera. Po co sobie utrudniać?
Nie napisałem, że w finalnej wersji będę korzystał z Arduino. Ale po co się przemęczać, potem to zabierają i chowają do szafy. A komisja nie będzie patrzeć z czego to zbudowałem, tylko jak to działa.
@Izanagi013: Witam, zły dział! Ten temat był już poruszany na forum! Jako, że jesteś nowy to tym razem skończy się tylko na warnie ale w przyszłości UŻYJ OPCJI SZUKAJ. Pozdrawiam, moderator forum wypieki.net
Chcesz zacząć chodzić po bułki? Super! Tylko pewnie masz nogi te same od urodzenia, które niestety po 2-3 pójściach do biedry ci się #!$%@?ą więc musisz #!$%@?ć nogi i zamontować tytanowe protezy za 9000 dolarów, do tego buty
@janek_kos: wydaje mi się, że nie da się napisać na arduino czegoś bardziej poważnego, nie zagłębiając się w szczegóły takie jak przy programowaniu gołej atmegi. W czym problem, że z niektórych rozwiązań skorzysta się gotowych, jeżeli nie są one głównym celem pracy?
a nawet komputer kupiłem gotowy


@Izanagi013: Ohohoh ale mi dogadałeś. Może dlatego kupiłeś gotowy komputer, bo nie był on Twoim projektem inżynierskim.

Nie napisałem, że w finalnej wersji będę korzystał z Arduino


@Izanagi013: Czyli rozumiem, że w finalnej wersji (tej którą pokażesz komisji) nie będziesz korzystał z Arduino?

Ale po co się przemęczać, potem to zabierają i chowają do szafy


@Izanagi013: Może po to żeby się czegoś nauczyć, albo
@janek_kos: Nie przesadzaj. Sam jestem gorącym przeciwnikiem tłuczenia absolutnie wszystkiego na arduino, ale wydaje mi się, że zupełnie dopuszczalne jest potraktowanie go jako narzędzia a jeśli nie masz narzuconych narzędzi, to wybierasz je sobie samodzielnie. Jeśli chcesz mu coś koniecznie wytykać, to może jakieś bardziej merytoryczne błędy, np. że jako inżynier wybrał jakiś moduł do którego na oczy nie widział dokumentacji i dopiero w trakcie odkrywa jak on działa a jak
@janek_kos: zanim wybrałem temat pracy, z elektronika miałem tylko tyle wspólnego, że wiedziałem jak baterie wymienić w latarce. Uczę się wszystkiego na bieżąco. Czy uczyłeś się programować od asemblera, którego pewnie znasz perfekcyjnie, bo kto dziś używa języków wysokiego poziomu?
@MegaZU0: mogłem wybrać temat jak wszyscy pozostali. Napisać kolejnego CMS, aplikacje wyświetlania planu zajęć, czy aplikacje, która liczy jakieś wartości na podstawie bazy danych. Albo badanie istniejących sposobów szyfrowania informacji. Postanowiłem, że spróbuję czegoś nowego.
zanim wybrałem temat pracy, z elektronika miałem tylko tyle wspólnego, że wiedziałem jak baterie wymienić w latarce.


@Izanagi013: Chwila. Bo założyłem że będziesz inżynierem elektronikiem skoro robisz na inżynierkę coś z uC. Jak nie, to to zmienia to postać rzeczy.
@MegaZU0: @MegaZU0: no nie do końca. Robiłem jakieś gównosprawozdania z lepkości cieczy, by dostać stypendium rektorskie za średnią. Na balowanie Wcześniej bawiłem się w robienie prostych gierek, potem trochę Unity. Chociaż trochę żałuję, że dopiero teraz biorę się za naukę, a nie dużo wcześniej.
@janek_kos: edukacja techniczno-informstyczna. Taki trochę dziwny kierunek. Na początku miałem trochę mechaniki, AutoCAD, inventor. Rysunki techniczne, liczenie belek i krążownik. Była chemia, fizyka. Później grafika, Photoshop, coreldraw, cinema4d, tworzenie map. Trochę programowania, matlaby, postawy elektroniki, budowanie prostych układów z różnych bramek logicznych, testowanie różnych elementów elektronicznych na gotowych stanowiskach. Później strony HTML, i aplikacje w PHP. Taki misz masz, wszystkiego po trochu