Технический форум по робототехнике.
SkyStorm » 20 фев 2011, 01:28
Есть такой датчик
"Color Light Sensor Evaluation Board" SEN-08663 производства SFE.
Для ардуино использовал раньше код от
Interactive-Matter все работает но не сильно быстро и удобно.
Тут попался мне библиотека на этот датчик
I2C_RGBC_Reader. Глазами смотрю вроде все хорошо, а компилиться не компилится ...
Народ посмотрите пожалуйста, а то у меня уже глаз замылился (((
=DeaD= » 20 фев 2011, 12:02
Выложи плиз файл, который не компилится?
SkyStorm » 20 фев 2011, 20:41
libraries
- Вложения
-
- I2C_RGBC_Reader.zip
- (5.56 КиБ) Скачиваний: 0
=DeaD= » 20 фев 2011, 21:29
Странно, у меня вообще на слове "class" в штатной "Wire.h" компилятор спотыкаться начинает. Интересно, это где-то включать надо классы, что-ли?
SkyStorm » 20 фев 2011, 21:59
Там что то с зонами видимости библиотек напутано.
Если за комментировать большую часть объявлений то начинают идти более внятные сообщения.
Я оригинальный вариант выложил.
blindman » 21 фев 2011, 04:01
А какого C++ код делает в файле с расширением .c? Как компилятор догадываться будет что там C++?
SkyStorm » 21 фев 2011, 11:03
Андрей, если ты про Wire.h/Wire.c то в примерах он отлично компилится ...
=DeaD= » 21 фев 2011, 11:08
У меня и Wire.h судя по всему вылетает
Может у меня какой-то не ардуиновский компилер подцепился.
SkyStorm » 21 фев 2011, 11:46
Немного пошуршал с инклюдами ...
Стало осмысленные ошибки выдавать ... но опять какие то странные ...
- Вложения
-
- I2C_RGBC_Reader.zip
- (5.55 КиБ) Скачиваний: 0
blindman » 21 фев 2011, 13:43
какой еще Wire? У тебя в файле I2C_RGBC_Reader.c код на C++. Я его переименовал в I2C_RGBC_Reader.cpp, кинул в ~/sketchbook/libraries/I2C_RGBC_Reader - и все, пример компилится, только в мегу168 не влазит
SkyStorm » 21 фев 2011, 14:57
ВОТ ... !!! НЕТ СЛОВ!!!
Спасибо!!! действительно собралось! Размер правда какой то не гуманный!
SkyStorm » 23 фев 2011, 00:35
Никто не знает как этому сенсору поменять I2C адрес?
Пол года назад где то видел, а сейчас найти не могу.
Dmitri Vladimirovich » 23 фев 2011, 10:38
The 2-wire serial bus on ADJD-S371-QR999 requires one device to act as a master while all other devices must be slaves. A master is a device that initiates a data transfer on the bus, generates the clock signal and terminates the data transfer while a device addressed by the master is called a slave. Slaves are identified by unique device addresses.
Брррр, вроде как тут у них написно что Адреса датчиков уникальны
А в другом месте
Addressing
Each slave device on the serial bus needs to have a unique address....
...The slave address on ADJD-S371-QR999 is 0x74 (7-bits).
=DeaD= » 23 фев 2011, 11:08
Dmitri Vladimirovich писал(а):Slaves are identified by unique device addresses.
Брррр, вроде как тут у них написно что Адреса датчиков уникальны
Уникальность бывает ведь не абсолютная, а в каких-то ограничениях\условиях. Думаю тут как раз этот случай.
SkyStorm » 23 фев 2011, 11:42
Где то видел что можно выбрать адресс из 4х возможных. 0х74 первый по у молчанию.
Сейчас ищу найти не могу ...