Leonardo+can-bus shield помогите
- Войдите на сайт для отправки комментариев
Чт, 03/09/2015 - 22:39
Народ помогите! 5ый день голову ломаю.
Есть леонардо r3
и шилд can bus.
хочу покдлючить их к can шине авто. но не как могу подружить их
#include <mcp_can.h> #include <SPI.h> long unsigned int rxId; unsigned char len = 0; unsigned char rxBuf[8]; int value = 0; int current_volume, new_volume, current_key_position, new_key_position; int NEXT, PREV, MUTE; MCP_CAN CAN0(10); void setup() { Serial.begin(9600); if(CAN0.begin(CAN_100KBPS) == CAN_OK) { Serial.println("can init ok!!"); } else { Serial.println("Can init fail!!"); } pinMode(2, INPUT); NEXT = 0; PREV = 0; MUTE = 0; } void loop() { if(!digitalRead(2)) { CAN0.readMsgBuf(&len, rxBuf); rxId = CAN0.getCanId(); Serial.print("ID: "); Serial.print(rxId, HEX); Serial.print(" Data: "); for(int i = 0; i<len; i++) // Print each byte of the data { if(rxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero { Serial.print("0"); } Serial.print(rxBuf[i], HEX); Serial.print(" "); } Serial.println(); } }
заливаю такой скетч, подключаю лео к компу, выставляю порт,выбираю свою плату, заливаю, открываю мониторинг порта и вижу такие строки :
ID: 1FFFFFFF Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
на лео горит ON и L. на шилде только красное питание
Подключаю шилд таким образом:
лео 1 icsp ---> шилд 12
лео 3 icsp ---> шилд 13
лео 4 icsp ---> шилд 11
Подскажите куда копать ?
еще на шилде не пашет тумблер вкл, щелкаешь реакции 0, питание горит всегда.
Может шилд или лео не рабочи? как проверить?
А проверка из setup проходит?
может конечно ошибаюсь, но данный код с данным шилдом на леонардо не будет работать
потому что у леонардо spi не на пинах 11 12 13. на уно скорее всего работало бы
но решение есть
http://1.bp.blogspot.com/-4jsahEkSrpw/U0S3keOXfiI/AAAAAAAAETc/c9-F5Ptt_v...
http://i.imgur.com/B7ZYyQy.png
правда придется паять или проводками подключать
да прверка и компидляция проходит.
ну так я же и беру на леонардо контакты sip с разьема icsp, а на шилде уже 13 12 11 соответственно, соединяю проводами.
я так понимаю из кода, что если не подключить шилд к леонардо или не подключать их к can шине то должно писать
"Can init fail!!"
У вас еще много гиммороя с CAN впереди. Даю вероятность 30% что вы автомобиль хоте читать. Ну если очень хочется . Это уже другая тема. Короче я с этой темы соскочил и купил готовый китайский проектор на лобовое стекло.
я хочу считать только кнопки на руле, для планшета. остальное уже все реализованно через диагностический разьем.
выверяй разницу схем arduino uno arduino leonardo arduino shield can
больше нечего тут обсуждать
А я забросил google nexus прикручивать. :( Эх загружен по самое нехачу. Некогда даже прошивку оплатить. И начать тестировать. А щитком на леонардо я макетку у китайцев брал и врукопашную паял. Кстати а нафига в руле САN Там же модно резистивные кнопки по трем проводам. Разве не так? Что за чудо папелац? если так уж arduino uno R3 шоб не паять была у меня прошивка загрузчика имитации клавы. Видео не вспомню. Где-то тут на форуме выкладывал. Ключевые слова в моих постах что-то типа "не верю" Да еще китайский проектор на лобовик приехал и все добра стало и лень. Видно прекрасно. Фото непередает Все роботун напал. :)