В интернете масса сайтов, которые предлагают вам сделать самостоятельного робота, но воснавном это роботы "конструкторы", поясняю: покупаеш в магазине отдельные части (там плату под микроконтроллер, корпус и т. д.) лично мне такой робот не нравится, тем более врятли тебе ктото поверит, что это ты сделал сам, да и правильно сделают! В этой статье я расскажу вам, как можно сделать полностью самостоятельного робота на микроконтроллере ATmega8 и драйвере двигателя L293D. Основным компонентом и "мозгом" робота несомненно является микроконтроллер и как и для всех микроконтроллеров ему понадобится "зашить" программу, в нашем случае ей будет вот эта:
#include <avr/io.h>
/***************** Функция задержки ****************/
void delay(unsigned short ms) // Минимальная задержка с кварцем 8 МГц - 1 мс
{ unsigned short i, j, k; // объявляем переменные
for (i=0; i<ms; i++) // главный цикл формирования задержки
for (j=0; j<185; j++) // вложенный цикл формирования задержки k++; // произвольное действие
PORTC |= _BV(PC5); // установить "1" на линии 5 порта CPORTC &= ~_BV(PC2); // установить "0" на линии 2 порта CPORTC |= _BV(PC3); // установить "1" на линии 3 порта CPORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
Поглазели на программу, теперь пора увидеть схему! Схему в студию!!
По сути эта схема достаточно простая, но внешность бывает обманчива...
Собранный и запрограммированный правильно робот должен при "виде" препядствия отъехать назад и развернуться на месте.
Если робот вместо того чтобы отъезжать от препятствие таранит его то скорее всего проблемма в фотоэлементе или в светодиоде (помните свет от светодиода должен отразиться от препятствия и попасть на фотоэлемент который в свою очередь должен на него отреагировать).