На данный момент нахожусь в стадии написания "мозгов" для робота. Проблемы есть. Не получается написать программу обмена информацией через usart между МК и сонором. Требуется: отправляю 22 00 00 22 Получаю 22 00 ab cd. И вывожу данные на ЖКИ Пытаюсь отправить данные, но ответа не получаю... разбираюсь.
1. Убедиться, что МК работает на правильной частоте. Бывает так, что вместо внешнего кварца МК тактуется внутренним. Или частота не так настоена. Убедиться просто - мигай светодиодом 1 раз в 1 секунду. Как правило после этого многое становится понятно. 2. Убедиться, что правильно выставлен бод-рейт. Во многих даташитах есть бод-рейты в таблицах в зависимости от частоты.
Добавлено спустя 2 минуты 29 секунд: 3. Вместо отправки строки, отправьте для начала четыре байта подряд без всяких хитростей.
Добавлено спустя 2 минуты 22 секунды: 4. Подключить комп, и увидеть - что же там все-таки ходит. Потому что 22 00 АА ВВ, отображенное на ЛСД еще не значит, что пришло именно это.
Решил проблему заменив плату собственного производства на arduino duemilanove. Сначала отлажу всё на ней, а потом переведу на свою плату. Честно сказать- писать на processing значительно проще, чем на c, благодаря массе готовых библиотек. Может быть , плохо , что мозг при этом напрягается меньше, но.... если вы хотите сделать робота, а не столкнуться с проблемой и кинуть начатое (я три дня пытался отправить 22 00 00 22 на мегу16- так и не получилось, а в ардуино через пару мин всё получилось) - попробуйте... ... А потом можно и в си с ассемблером вникать... СЕЙЧАС --- отрабатываю алгоритм сканирования местности дальномером с сервой (кто- нибудь сталкивался с этим? измеряю дальность в диапазоне 180 град. через каждый градус, делю всё измеренное на 10- участков по 18 град и вычисляю, какой участок менее всего загромождён предметами)
--- разрабатываю плату-драйвер для движков под ЛУТ на L 298n.
ВОПРОСЫ К ВАМ, дорогие единомышленники:
1)- какой обвес нужен для L 298N? есть у кого-нибудь схемка? Там диоды FR 307 стоят на определенных ножках. Таких у меня в городе нет, зато есть FR 207. Пойдут такие?
2)- вопрос по программированию на processing .Есть 180 чисел, надо из них вычислить большее. Есть функция max(), сравнивающая 2 числа , возвращающая большее. Конечно, можно перебирать числа попарно, организовывать циклы... Есть ли другой путь? через какие либо математические вычисления?
zuluss008 писал(а): 2)- вопрос по программированию на processing .Есть 180 чисел, надо из них вычислить большее. Есть функция max(), сравнивающая 2 числа , возвращающая большее. Конечно, можно перебирать числа попарно, организовывать циклы... Есть ли другой путь? через какие либо математические вычисления?
zuluss008 писал(а):Есть функция max(), сравнивающая 2 числа , возвращающая большее.
max() - работает и с массивами... max(value1, value2) max(value1, value2, value 3) max(array) только массив должён быть либо int, либо float... int[] list = { 9, -4, 230.24 }; int h = max(list); // Устанавливает h равным 230.24 http://processing.org/reference/max_.html
Попытка передать функции max() три операнда приводит к ошибке компиляции "macro "max" passed 3 arguments, but takes just 2",
попытка передать в качестве операнда массив приводит к ошибке: "izmrasst3.cpp:66:24: error: macro "max" requires 2 arguments, but only 1 given"
что то тут не так. По указанной вами ссылке написано: Reference for Processing version 1.2. If you have a previous version, use the reference included with your software. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Javadoc. Стало быть мою версию надо патчить...
Установил на робота несколько дополнительных плат. Ещё одну ардуину, моторшилд, ещё один дальномер sharp. Написал основную программу управления роботом и достиг поставленной промежуточной цели- робот умеет самостоятельно выезжать из простенького лабиринта. Дальнейшее развитие направлю в сторону openCV, roborealm, navigator и автономной навигации робота. В ближайшее время планирую купить беспроводную камеру,занят активным поиском. Беспроводные модули RS232-TTL скоро приедут из Харькова. Ну как Вам моя поделка? Чего в ней не хватает?
сделать корпус для робота- это значит завершить над ним работу. У меня же еще много планов. Придумать занятие для второй ардуины, поставить камеру, кучу датчиков. Не суждено ему (роботу) иметь корпус...