60 nap alatt Arduino #28 - I2C busz általában

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9768
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: Robert » 2017. szeptember 27. szerda, 18:57

A videóban lévő, arduino oldaláról letöltött programot kell a mikrovezérlőre rá égetni?
Valószínű igen. Az is lehet.

Úgy tudom az Arduino valamilyen egyszerüsitett C nyelvet használ. Attól még az müködik MPLAB X -en C nyelvü fordítóval?

Nem.


Javaslat: http://www.tavir.hu/60nap
http://www.tavir.hu - a gazda :)

IzLuCSi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. szeptember 26. kedd, 14:34

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: IzLuCSi » 2017. szeptember 28. csütörtök, 14:13

Köszönöm a segítséget

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9768
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: Robert » 2017. szeptember 28. csütörtök, 18:34

Ami nem derült ki:
- milyen panelra kötöd
- milyen fordítót használsz
- milyen mintát tesztelsz
- és mi a cél/elvárás?
http://www.tavir.hu - a gazda :)

vargham
Tranzisztorgyógyász
Hozzászólások: 160
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: vargham » 2017. szeptember 29. péntek, 4:47

Elszállt a tegnapi válaszom...

Az Arduino C++ nylevet használ, amit AVR-GCC-vel fordít le a mikrokontrollerre. Annyi extra van benne, hogy raktak mögé egy (egyre csak hízó), könyvtárstruktúrát a különféle perifériák és modulok programozásához. Ezt aztán portolták több platformra is (pl egyes ARM MCU-k), de PIC-ről nem tudok.

Az MPU6050 az egy külön mikrokontroller (Digital Motion Processor), amit fel kell programozni, hogy működjön például a szenzor fúzió. Nincs hozzá nyilvános API, a programot bináris objektumként kapod.
"The MPU-6050 devices combine a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die, together with an onboard Digital Motion Processor" https://www.invensense.com/products/mot ... /mpu-6050/
Ebben az Arduino driver fájlban például jól látszik az DMP binárisa (133.sortól):
https://github.com/jrowberg/i2cdevlib/b ... onApps20.h
Nincs benne flash, így a programot az Arduino-ban kell tárolni, és minden induláskor feltölteni.

IzLuCSi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. szeptember 26. kedd, 14:34

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: IzLuCSi » 2017. szeptember 30. szombat, 13:27

Tehát akkor azt a kódot ami a videóban van (amit az arudino oldaláról lelehet szedni) azt a kódot kéne meg írni PIC-re? Vagy akkor hogyan tudnám arduino panel nélkül kiolvastatni belőle az adatokat?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9768
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: Robert » 2017. szeptember 30. szombat, 16:06

Persze, mindent át lehet írni más chipre/rendszerre.

De ez kb. olyan kérdés:
- Tudok németül. Nagy munka angolul ez alapján transzatlanti jegyet venni NewYorkig?

Arduino nélküli kiolvasásra két módod van:
- I2C buszon az érzékelőt nyaggatod és a kijövő adatokkal dolgozol (lsd. adatlap)
- éleszted a gyroszkóp chipen levő DSP processzort és azzal beszélgetsz.

Az elsőt végigvinni egyszerűbbnek tűnik....

PIC alá van Arduino XLinker:
http://dangerousprototypes.com/blog/201 ... mplab-ide/
Nem annyira egyszerű....
http://www.tavir.hu - a gazda :)

IzLuCSi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. szeptember 26. kedd, 14:34

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: IzLuCSi » 2017. szeptember 30. szombat, 19:42

Mi a negatív oldala az I2C-s megoldásnak?

Az arduino nano megfelelő erre?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9768
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: Robert » 2017. szeptember 30. szombat, 19:49

Nano teljesen jó. Ha natív I2C, akkor a mozgáskoordinátákból az AVR számol, és nem a célprocesszor a chipben.
http://www.tavir.hu - a gazda :)

IzLuCSi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. szeptember 26. kedd, 14:34

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: IzLuCSi » 2017. október 2. hétfő, 21:22

"Ha natív I2C, akkor a mozgáskoordinátákból az AVR számol, és nem a célprocesszor a chipben."
Ezt eltudnád magyarázni?
Mit számol?

Lehet félre értés történt. Én bövebben azt akartam kérdezni hogy ha PIC-vel I2C-vel akarom kiszedni az adatokat a gyrobol akkor annak mik a hátrányai? az a pl arduinos vagy egyébb megoldással szemben?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9768
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: Robert » 2017. október 2. hétfő, 23:41

"Ha natív I2C, akkor a mozgáskoordinátákból az AVR számol, és nem a célprocesszor a chipben."
Ezt eltudnád magyarázni?
Mit számol?

A GY521ben az érzékelő 2 részből áll:
- gyroszkóp
- számolást segítő processzor.

Ha natívan I2C-n regisztereket kérdezed le, akkor az érzékelőadatokat japod vissza. Ha a belső, számolást segítő processzort is inicializálod + használid, akkor a számolási feladatok egy része a modulban történik meg és nem a PIC/AVR hajtja végre (ilyen lehet pl. Hőfokkompenzálás, kiugró adatok kezelése, stb)

Ha PIC vagy AVR kérdezi le a modult - semmi különbség nincs. AVR és Arduino rendszerhet vannak kész eljárások, rendszerek - nem kell megírni, tesztelni külön.
http://www.tavir.hu - a gazda :)

vargham
Tranzisztorgyógyász
Hozzászólások: 160
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: vargham » 2017. október 3. kedd, 10:54

> akkor a számolási feladatok egy része a modulban történik meg és nem a PIC/AVR hajtja végre (ilyen lehet pl. Hőfokkompenzálás, kiugró adatok kezelése
Valamint az egyik legfontosabb, a szenzor fúzió. Ez a művelet készít a 6 vagy 9 tengely adataiból egy, a test orientációját leíró kvaterniót.

IzLuCSi
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. szeptember 26. kedd, 14:34

Re: 60 nap alatt Arduino #28 - I2C busz általában

HozzászólásSzerző: IzLuCSi » 2017. október 3. kedd, 18:05

Értem.

Köszönöm


Vissza: “60 nap alatt Arduino - Házi feladatok”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 vendég