Wpis z mikrobloga

pytanie do #elektronika wymyśliłem sobie projekt, mam 10 akcelerometrów(same czipy więc dochodzi zaprojektowanie płytki by wyprowadzić kabelki), z których chcę jednocześnie odczytywać dane. Kontrolerem będzie malinka bo nic innego nie mam na razie, a jak wiadomo malinka nie ma tylu pinów, więc trzeba użyć demultipleksery. I tutaj moja wiedza się kończy i pytanie co polecacie do poczytania by taki laik jak ja z minimalną wiedzą na temat dał radę to zrobić?
#raspberrypi i może troche #arduino
  • 20
@Loperamid: ma oba, z tego co wyczytałem w dokumentacji. Moja wiedza na temat I2C ogranicza się do tego, że wiem, iż I2C nie rozpozna który to układ bo ten sam czip ten sam id, a o SPI nie mam zielonego pojęcia, dlatego szukam źródeł, z których się czegoś dowiem
@levil: troche byłoby to głupie gdyby nie można było do tego wykorzystać I2C, powinna być jakaś możliwość zmiany ID (programowo lub wykorzystując piny zewnętrzne tak jak w pamięciach EEPROM z I2C).
@Loperamid: @levil: niestety te proste chipy mają wszyty adres na stałe :-( próbowałem podłączyć dwa typowe czujniki ciśnienia PMS085 i właśnie okazało się że wszystkie mają ten sam adres :(

jedyny "work around" to jakiś rodzaj multipleksacji, są do tego chipy a nawet płytki prototypowe albo wspólna magistrala podciągnięta do góry i włączanie/wyłączanie poszczególnych sensorów, tylko wtedy nie da się robić równoczesnego odczytu :-/
@kwanty: często nie mam co robić to zrobię rękawice do vr ( ͡° ͜ʖ ͡°). Taką, że na każdy palec przypadają po 2 aklelerometry, bo są tak jakby 2 poziomy zgięcia w palcach. Jeden poziom który zgina 2 pierwsze paliczki patrząc od paznokcia i potem następny tuż przy samej dłoni. Nie wiem czy ma to sens, ale nic innego jakoś mi do głowy nie przyszło
@levil: To nie zadziała :( w praktyce potrzebujesz obliczyć pozycję palców a nie ruch. Akcelerometr wykryje ruch więc (w skrócie), pozycję uzyskasz przez całkowanie i tu niestety zaczną się kumulować błędy.

Ruch jest wolny a potrzebujesz dokładnie znać pozycję palców więc błędy będą spore - w rezultacie nie będzie "immersji" bo renderowane palce będą w innym położeniu niż w rzeczywistości.

Musiał byś często resetować położenie czyli np. położyć ręce na stole
@kwanty: @levil: Układ scalony ma zazwyczaj dwa lub trzy wyprowadzenia właśnie po to, by je podciągnąć do zasilania lub do masy i w ten sposób móc użyć ośmiu chipów na tej samej magistrali. Sprawdź, czy twoja płyta ma coś takiego.
Do używania spi nie potrzebujesz multipleksera tylko musisz sterować liniami CS dla każdego chipu z osobna - wychodzi miso, mosi, spck - te trzy są wspólne dla wszystkich, cs jest
@Analityk: nie wiem co masz na myśli mówiąc czy twoja płytka ma coś takiego. Ja mam tylko czipy do których muszę zrobić płytkę. Nie zamawiałem od razu gotowych z wyprowadzeniami, ponieważ są za duże, potrzebuję na płytce tylko zrobić ścieżki by wyprowadzić kabelki zasilające i do komunikacji
dzięki za podpowiedź, jak dojdę do momentu ze uda mi się to poskładać to na pewno to sprawdzę


@levil: Najpierw sprawdź a potem składaj ;-) Jak będziesz miał jakieś ciekawe wyniki to daj znać. Ja jestem zajawiony na VR :)
@Analityk: na ciepłe powietrze sądzę, że się da, osobiście jeszcze tego nie robiłem i tym pinem zmienia sie ostatni bit adresu tylko, tak było napisane w specyfikacji
@levil: Jeżeli masz w tym chipie kompas (czyli chyba magnetometr) to sprawa wygląda mniej beznadziejnie ;-) W rękawicy, na wewnętrznej stronie dłoni umieść magnes i spróbuj go wykorzystać jako referencję. Może zrób "fuzję" danych z akcelerometru i magnetometru. Jednym będziesz wykrywał względne zmiany a drugim bezwzględne odległości. Ten drugi z mniejszą precyzją ale za to bez dryftu spowodowanego przez kumulację błędów.

edit: a jak magnetometr jest szybki i da się próbkować