Processingã©ã€ãã©ãªã®I2Cåšãã¯çªè²«ã§ã€ãã£ãã®ã§èªåã§ãåããã¥ãã
ã®ã¡ã®ã¡çŽããŠããããã§ã
é è€åå
cessingã©ã€ãã©ãªæ
åœã®é è€ãšç³ããŸã
ADXL345ãå®éã«æã£ãŠããªãã®ã§ãããŒã¿ã·ãŒããèŠãéãã§ããã
> Wire.beginTransmission(0x53);
> Wire.send(0x2D);
> Wire.send(8); //measuring enable
> Wire.endTransmission();
ã¯æ£ãããšæããŸãã
ããŒã¿ãååŸããéã¯ã
ããŒã¿ã·ãŒãã«ã¯ã軞ã®å€ã¯ã¬ãžã¹ã¿0x32ãã0x37ãšãããŸãã®ã§
0ïœ32ãã6ãã€ãèªã¿åºãå¿
èŠããããŸã
byte[] bu = {COM_I2C_REQUEST,COM_READ,0x32,0x06};
ãšãªããšæããŸã
èªã¿ã ããå€ã¯receiveData()颿°å
ã§åç
§ã§ããŸãã®ã§ã
public void receiveData(int regAddress,byte[] data){
switch(regAddress){
case 0x32:
x = (((int)data[1]) << 8) | data[0];
y = (((int)data[3])<< 8) | data[2];
z = (((int)data[5]) << 8) | data[4];
}
}
ãšããæãã«ãªããšæããŸã
ã³ãŒãã¯å®éã«åäœã確èªããŠãŸããã®ã§æ³šæããŠãã ãã
é è€åå
2010幎12æ23æ¥23:29 tonny <tonn...@gmail.com>:
> --
> ãã®ã¡ãŒã«ã¯ Google ã°ã«ãŒãã®ã°ã«ãŒããfunnel-dev-talk-jaãã®ç»é²è
ã«éãããŠããŸãã
> ãã®ã°ã«ãŒãã«æçš¿ããã«ã¯ãfunnel-de...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> ãã®ã°ã«ãŒãããéäŒããã«ã¯ãfunnel-dev-talk...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
> 詳现ã«ã€ããŠã¯ãhttp://groups.google.com/group/funnel-dev-talk-ja?hl=ja ãããã®ã°ã«ãŒãã«ã¢ã¯ã»ã¹ããŠãã ããã
>
>
--
endo takanori
æ©éãåçããã ããŸããŠãããããšãããããŸãã
ãæ·»ä»ããã ãããœãŒã¹ãæèŠããäžã§ãå®è¡ããŠã¿ãŸãããããŒã¿ãååŸããŠããªãã£ãã§ãã(data[0]ããdata[5]ãŸã§ã¯å šéš0ã§ã)
ããäžåããŒã¿ã·ãŒããèªã¿ãŸããšã9ããŒãžç®ã®ãšããã§(http://www.sparkfun.com/datasheets/Sensors/
Accelerometer/ADXL345.pdf)Figure 9. I2C Device Addressingãšããå³ããããŸããããã®å³
ã«ãããŸããšãããŒã¿ãååŸããéã«ã¯ããŸãREGISTER ADDRESSãWRITEããŠãããREADã§ããŸãã
åŸããŸããŠã
ãããããbyte[] vu = {COM_I2C_REQUEST,COM_WRITE,0x53,0x32,0x33};
io.sendSysex(conectedModule.getModuleID(),vu.length,vu);
byte[] bu = {COM_I2C_REQUEST,COM_READ,slaveAddress,0x32, 0x02};
io.sendSysex(conectedModule.getModuleID(),bu.length,bu);
ã詊ããŠãããŸãããçžå€ãããååŸããããŒã¿ã¯ïŒã§ããã
ã©ããåé¡ãããã¯ããšåããŸãããã¯ã£ããããããŸããããã®ç¹ã«ã€ããŠãæããŠããã ããŸããã§ããããã
> 2010幎12æ23æ¥23:29 tonny <tonny1...@gmail.com>:
å°æã§ã
ããŸããã®ãªãã©ã€ã§ãã¿ãŸãããADXL345ã®ããŒã¿ã·ãŒã10ããŒãžã«ãããŸããš
> With the SDO/ALT ADDRESS pin high, the 7-bit I2C address for the device is 0x1D, followed by the R/W bit. This translates to 0x3A for a write and 0x3B for a read. An alternate I2C address of 0x53 (followed by the R/W bit) can be chosen by grounding the SDO/ALT ADDRESS pin (Pin 12). This translates to 0xA6 for a write and 0xA7 for a read.
ãšãããŸãã
ãã®breakout boardã®åè·¯å³
http://www.sparkfun.com/datasheets/Sensors/Accelerometer/ADXL345-BreakoutBoard-v10.pdf
ãèŠãéããSDO/ALT ADDRESSãã³ã¯åæç¶æ ã§ã¯ã©ãã«ãã€ãªãã£ãŠããªãããã«èŠããã®ã§ããããã®ãã³ã¯ã©ãã«æ¥ç¶ãããŠããŸããïŒ
ãã®ãã³ã¯å éšã§ãã«ã¢ãããããŠãããšãããã«ããŠã³ãããŠãããšãæžãããŠããŸããã®ã§ãããããããšã©ã¡ããã«æ¥ç¶ããå¿ èŠãããã®ã§ã¯ããšæã£ãŠããŸããåéãã ã£ãããã¿ãŸããã
2010/12/25 tonny <tonn...@gmail.com>:
ã¬ãžã¹ã¿ã®æžã蟌ã¿ã¯
Arduinoã®Wire.hã®ãããªæãã§èšè¿°ã§ããŸã
èªã¿åºãã¯
requestFromRegister();
ã䜿ããŸã
詳ããã¯HMC6352.javaã確èªããŠã¿ãŠãã ããã
http://www.iamas.ac.jp/~endo/funnelP5lib-r767.zip
é è€åå
2011幎1æ4æ¥11:25 Shigeru Kobayashi <koto...@gmail.com>:
--
endo takanori
å°æå ç
ãææããããšãããããŸãã
ç§ã®å®è£
ã§ã¯SDOããã«ã¢ããã«èšå®ããããŒã¿ã·ãŒãã«ãããŸããšãI2Cã¢ãã¬ã¹ã0x53ã¯ãã§ãã
é è€å ç
ææ°ã®ãªãã䜿ã£ãŠãæ£ç¢ºã«adxl345ããããŒã¿ãååŸããŠãŸãããŸãããããããšãããããŸããã
ãšããã§ãendTransmissionãšrequestFromRegisterã®äžèº«ãèŠãŸããšãããšããšã®å®è£
æ¹æ³
ãbyte[] vu = {COM_I2C_REQUEST,COM_WRITE,0x53,0x32,0x33};
ãio.sendSysex(conectedModule.getModuleID(),vu.length,vu);
ãbyte[] bu = {COM_I2C_REQUEST,COM_READ,0x53,0x32, 0x02};
ãio.sendSysex(conectedModule.getModuleID(),bu.length,bu);
ã¯ãä»ã®
ãbeginTransmission();
ãsend(0x32);
ãsend(0x33);
ãendTransmission();
ãrequestFromRegister(0x3, 2, false);
ãšã»ãŒåãã§ããããªãããšã®ã¯ããŸããããªãã£ãã®ããŸã è¬ã§ãããã
ãå¿ãããšãããæå°ãè³ãå¿ããåãã瀌ç³ãäžããŸãã
On 1æ4æ¥, äžå1æ¶19å, takanori endo <sweetamana...@gmail.com> wrote:
> ãªã§ã®I2Cã®å®çŸ©ããããåãããããããŸããã
>
> ã¬ãžã¹ã¿ã®æžã蟌ã¿ã¯
> Arduinoã®Wire.hã®ãããªæãã§èšè¿°ã§ããŸã
>
> èªã¿åºãã¯
> requestFromRegister();
> ã䜿ããŸã
> 詳ããã¯HMC6352.javaã確èªããŠã¿ãŠãã ããã
>
> http://www.iamas.ac.jp/~endo/funnelP5lib-r767.zip
>
> é è€åå
>
> 2011幎1æ4æ¥11:25 Shigeru Kobayashi <kotob...@gmail.com>:
>
>
>
>
>
> > ãã³ãã
>
> > å°æã§ã
>
> > ããŸããã®ãªãã©ã€ã§ãã¿ãŸãããADXL345ã®ããŒã¿ã·ãŒã10ããŒãžã«ãããŸããš
>
> >> With the SDO/ALT ADDRESS pin high, the 7-bit I2C address for the device is 0x1D, followed by the R/W bit. This translates to 0x3A for a write and 0x3B for a read. An alternate I2C address of 0x53 (followed by the R/W bit) can be chosen by grounding the SDO/ALT ADDRESS pin (Pin 12). This translates to 0xA6 for a write and 0xA7 for a read.
>
> > ãšãããŸãã
>
> > ãã®breakout boardã®åè·¯å³
>
> >http://www.sparkfun.com/datasheets/Sensors/Accelerometer/ADXL345-Brea...
>
> > ãèŠãéããSDO/ALT ADDRESSãã³ã¯åæç¶æ
ã§ã¯ã©ãã«ãã€ãªãã£ãŠããªãããã«èŠããã®ã§ããããã®ãã³ã¯ã©ãã«æ¥ç¶ãããŠããŸããïŒ
>
> > ãã®ãã³ã¯å
éšã§ãã«ã¢ãããããŠãããšãããã«ããŠã³ãããŠãããšãæžãããŠããŸããã®ã§ãããããããšã©ã¡ããã«æ¥ç¶ããå¿
èŠãããã®ã§ã¯ããšæã£ãŠããŸã ãåéãã ã£ãããã¿ãŸããã
>
> > 2010/12/25 tonny <tonny1...@gmail.com>: