Вот что я собственно реализую программно:
Вот схема взаимодействия частей робота.
части:
1. Ик - 6 шт.(инфракрасный датчик)
2. Дв - 3 шт.(Двигатель)
3. Озу - 2 шт.(опер.запом.уст. плюс и минус соответсвенно)
4. управляющая плата - 1 шт.
Все ИК датчики разделены на две группы:
группа А. с первого по третий - группа работает по принципу "Если синала нет, то ИСТИНА"
группа Б. с четвертого по шестой - группа роботает по принципу "Если сигнал есть, то ИСТИНА"
Вот как это должно работать:
На таймере висит процедура ИК сигнала (со всех ик сенсеров одноврененно идет сигнал).
ЗАтем проверяется наличие "возврата сигнала" (опять на всех сразу).
И проверяется условие:
Проверить ОЗУ
Если в ОЗУ (-) есть записанные ячейки, то
Проверить значения из ОЗУ со значениями с ИК датчиков
Если на первой группе ИСТИНА, то:
Если на 2 ИСТИНА, то:
Если на 1,2,3 ИСТИНА, то вкл.3 дв. и вкл. динамик {Робот или перевернулся или его подняли}
Если на 1 ИСТИНА, то вкл. 1,2 дв. (-) {спереди обрыв}
Если на 3 ИСТИНА, то вкл. 1,2 дв. (+) {сзади обрыв}
Добавить все значения в отрецательное ОЗУ.
Если на второй группе Истина, то:
Если на 6 ИСТИНА, то вкл. 1,2 дв. (-) {Спереди преграда}
ЕСли на 4 ИСТИНА, то вкл. 1,2 дв. (+) {сзади преграда}
ЕСли на 5 ИСТИНа, то вкл. 1,2 дв. (+) и динамик {либо на него что то падает, либо его хотят взять на руки}
Если 5 ЛОЖ, то добавить все значения в положительное ОЗУ.
Вот пока и все, тока есть один нюанс: на рассмотрение на взята возможность поварачивать в сторону...
Это пробное решение.
Кто что скажит по поводу моей идеи???... (прошу не убивать мой проэкт на корню
)