Колесный мобильный робот Micrоcamp 2.0
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ановите следующие параметры:
)В окне Projecttype выделите строку AVRGCC: для выбора проекта на языке C.
)Задайте имя проекта Switch_LED (пример). Будет создана начальная часть файла проекта. В этом проекте файл главного модуля будет иметь имя Switch_LED.
)Задайте адрес проекта в Location: Пример: M:\ROBO\AVR-ROBOT\Code. После этого нажмите кнопку Finish.
7)Рабочая область проекта Switch_LED будет выглядеть как на рисунке ниже.
)Далее необходимо определить параметры микроконтроллера и задать путь ко всем библиотекам и файлам, которые будут использованы в проекте. Выберите пункт Project-ConfigurationOptions
)После этого появится окно Switch_LED Project Options. В левой части окна расположены 5 иконок:
General
Include Directories
Libraries
Memory Settings
CustomOptions
В пункте General задаются следующие параметры
Device :Atmega8
Frequency: 16000000 Hz
)Иконка Libraries предназначена для связи всех библиотек с проектом
)В окошке AvailableLinkObjects:, выделите строку libm.a и нажмите кнопку AddLibrary. Нажмите кнопку OK для завершения
Иконка IncludeDirectories предназначена для задания пути к библиотеке. Найдите и выделите файл библиотеки, затем нажмите кнопку Add.
)Затем введите код на языке C в файл Switch_LED.c.
)Компилируйте программу в файл Switch_LED.hex выбирая команду Build
Статус операции будет отображаться в окне внизу главного окна AVRStudio, как показано на рисунке:
Как установить программу на робота.
При возникновении любой ошибки, такой как неправильная команда или ошибка связи, появляется окно BuildOutput. В этом случае необходимо отредактировать программу, устранить все ошибки и повторить компиляцию.
После компиляции необходимо загрузить HEX-файл в микроконтроллер. В нашем случае результирующий файл будет Switch_LED.hex. Загрузка файла в микроконтроллер производится в следующем порядке:
а) Включите питание платы (выключатель POWER). Должен загореться зеленый светодиод.
б) Подключите ISP-кабель к программатору PX-400 и к плате MicroCamp.
Схема1 - Подключение программатора PX-400 к плате MicroCamp для загрузки программы:
Запустите программу AVRStudio, выбирайте пункт меню Tool - AVRProg
Должно появиться окно AVRprog
1. В окне AVRprog нажмите кнопку Browse для задания пути к файлу Switch_LED.hex или любому hex-файлу, предназначенному для загрузки.
. Нажмите кнопку Program в группе Flash. Файл Switch_LED.hex будет загружен в микроконтроллер ATmega8 на плате MicorCamp.
Когда загрузка заканчивается, программа запускается автоматически. Нажимайте кнопки SW1 и SW2 на плате MicroCamp. Обратите внимание на состояние индикаторов LED.Индикатор LED будет включаться и выключаться при нажатии на кнопки и мигать когда кнопки не нажаты
Библиотеки и специализированные команды:
Библиотека это файл, содержащий одну или несколько схожих функций. Обычно, название библиотеки отражает назначение содержащихся в ней функций. Для использования библиотеки разработчик должен ее объявить в заголовке главной программы на языке C. Для корректной работы библиотеки необходимо правильно задать путь к ее файлу при создании проекта AVRStudio.
В состав набора MicroCamp входит большое количество библиотек для разработки и обучения. Среди них библиотека управления портами ввода/вывода, чтение данных с аналоговых входов, библиотека временных задержек, библиотека контроля моторов и воспроизведения звука
Перечень библиотек комплекта:
in_out.h Библиотека работы с цифровыми портами.
Пример: x = in_b(2); // Чтение значения с порта РВ2 и запись в х
out_c(5,0);// Выдача логического "0" в порт РС5
sleep.h Библиотека временных задержек
Пример: sleep(1000); //Продолжительность действия в одну секунду
analog.h Библиотека чтения аналоговых данных с портов P0...P4
Пример:adc_val = analog(0); // чтение из аналогового порта 0 (РСО) и запись в adc_val
led.h Библиотека управления светодиодом LED
Пример: led1_on()//Включить мигание LED1 (PC5)
led1_off()//Выключить мигание LED1 (PC5)
motor.h Библиотека управления мотором постоянного тока
Пример:motor(1,60); // Вращение мотора 1 со скоростью 60%
motor_stop(ALL); // остановка двух моторов
sound.h Библиотека генерации звука
Пример:sound (2000,500);// формирует сигнал с частотой 2кГц, длительностью 0.5 секунды
Все необходимые библиотеки должны храниться в папке проекта или путь к ним должен быть правильно указан в проекте. Все дополнительные библиотеки хранятся в папке MicroCamp_include на компакт-диске из комплекта.
Задание 1: управление скоростью робота
Описание схемы:
У робота танковая система движения. Работают два независимых мотора и рулевые колеса.
По данной программе робот движется согласно графику скорости:
Описание программы:
Программа может задавать скорость движения вперед и назад, для обоих моторов одновременно и для каждого мотора в частности
#include //подключение библиотеки ввода-вывода информации
#include //подключение библиотеки задержки
#include //подключение библиотеки контроля моторовmain() //главная программа
{ int i; //задание переменной "i"(1) //бесконечный цикл
{(i=1;i<60;i++) //конечный цикл увеличения скорости от 1% до 30%
{(i); //движение назад 0.05 секунды(50);
}(i=60;i>0;i--) //конечный цикл уменьшения скорости от 30% до 1%
{
backward(i);
sleep (50);
}
sleep (2000); //задержка 2 секудны(i=1;i<100;i++) //цикл увеличения скорости
{(i); // движение вперёд 0.02 секунды(20);
}(i=100;i>0;i--) //?/p>