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: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

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
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2017. szeptember 26. kedd, 14:34

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

Hozzászólás Szerző: IzLuCSi »

Köszönöm a segítséget
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

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
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

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

Hozzászólás Szerző: vargham »

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
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2017. szeptember 26. kedd, 14:34

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

Hozzászólás Szerző: IzLuCSi »

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: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

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
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2017. szeptember 26. kedd, 14:34

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

Hozzászólás Szerző: IzLuCSi »

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

Az arduino nano megfelelő erre?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

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
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2017. szeptember 26. kedd, 14:34

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

Hozzászólás Szerző: IzLuCSi »

"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: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

"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
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

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

Hozzászólás Szerző: vargham »

> 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
DrótVégénSzéndarab
Hozzászólások: 47
Csatlakozott: 2017. szeptember 26. kedd, 14:34

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

Hozzászólás Szerző: IzLuCSi »

Értem.

Köszönöm
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Hozzászólás Szerző: etwg »

Nekem meg az egyik PCF8574-s chip ir ki rossz eredményt illetve nem tudom miért irja ezt ki. Az egyik cime 0x20 (B100000) az cimportok 0- vannak kapcsolva a másikon az A0 cim 1-re lett állitva az meg 0x39 B(111001).
Még nem lettek semmire használva mégis 3 bit 1-re van programozva. Ilyen esetben hogyan kell megszolitani a PCF-t? )(B111001).
Kösz!
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

PCF8574: 0x20...0x29 a címtartomány
PCF8574A: 0x30...0x39 a címtartománya

Simán ezen a visszakapott címen kell megszólítani.
http://www.tavir.hu - a gazda :)
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Hozzászólás Szerző: etwg »

Kösz!

Egyszerre vettem 10 modult, észre sem vettem, hogy 2 fajta IC-vel lettek szerelve (felirat nincs egyik IC-n sem) :-) Ami persze most jo, mert akkor 8-nál többet is tudok egy buson használni.
Az Xreef PCF8574.h könyvtárában egy kicsit másképp kezelik az extendereket. Ott a portok kezelése az Arduino parancsait használják kiegészitve egy pcf8574. elötaggal, pl.
pcf8574.digitalRead
pcf8574.digitalWrite

Stb.
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Válasz küldése