Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Оборудование и программное обеспечение.Стр 1 из 2Следующая ⇒
Методические указания
к лабораторной работе
«Изучение оптоэлектронных элементов биоморфной аналоговой техники в приложении к задачам фоторецепции и фотокинеза роботов»
Новочеркасск 2013
Лабораторная работа
Опыт №1. Экспериментальное определение цифровой и аналоговой функций преобразования фоторезистора в приложении к задачам фоторецепции и фотокинеза роботов. Общие положения. Принцип поведения робота, основыванный на "фоторецепции" является типичным для целого класса BEAM-роботов. В живой природе, которой будет подражать такой робот, фоторецепция - одно из основных фотобиологических явлений, в котором свет выступает как источник информации. В зависимости от способа соединения моторов, микросхем и фотоэлементов робот будет двигаться на свет или, наоборот, прятаться в темноту, бежать вперед в поисках света или пятиться назад, следовать по темной или светлой линии. BEAM-робототехника родилась в 1989 году в тот момент, когда 10 ноября в Лаборатории MFCF Hardware университета Waterloo Марком Тилденом (Mark W. Tilden) был создан простой BEAM-робот класса solaroller. За 20 минут, находясь под лучами солнечного света, робот смог преодолеть дистанцию в 15 сантиметров. Концепция BEAM-роботов, предложенная Марком Тилденом, состояла в том, что реакция на внешние факторы должна обеспечиваться на первом этапе самой машиной, без участия какого-либо "мозга", как это происходило и в живой природе, на пути от простейших к человеку. По этому же пути должно идти совершенствование и создание более сложных систем, своего рода "робогенетика" через "робобиологию". Заимствуя эволюционные идеи у природы, Тилден решил создавать простых роботов, которые были бы похожи на живых существ и управлялись преимущественно нейронными цепями. Новый подход был назван BEAM, что означает: -четыре слова, которые делают BEAM-роботов живыми Biolоgy (Биология), Electronics (Электроника), Aesthetics (Эстетика), Mechanics (Механика). Оборудование и программное обеспечение. Для проведения опытов с фоторезистором используетсяArduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен. На концептуальном уровне все платы программируются через RS-232 (последовательное соединение. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие платы, вроде ArduinoUNO, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial типа FTDI FT232. Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате ArduinoUNO доступно 14 цифровых вводов/выводов(уровни «LOW» -0В и «HIGH» -5В), 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов(0-5В). Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields». Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату. Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC. Датчик освещенности – это переменный резистор, и его также часто называют «фоторезистором» [light dependent resistor, LDR], что прекрасно описывает принцип действия. Фоторезистор можно использовать в самых разных задачах, от измерения освещенности помещения до построения сети защитных датчиков и лазеров Фоторезистор — полупроводниковый прибор, изменяющий величину своего сопротивления при облучении светом, рис.1,а. В измерительной схеме фоторезистор с последовательно соединённым резистором составляют потенциометр— т.н. делитель напряжения, рис. 1,б. При изменении сопротивления R2 под действием света меняется потенциал на выводе ai0, рис. 1.в, который можно подключить к Arduino, и использовать для управления роботом. Элементы управления Arduino IDE слева направо: — компиляция (оригинальное название — проверка) кода
Структура программы В программе необходимо объявить две основные функции.Функция setup() запускается один раз, после каждого включения питания или сброса платы Arduino. Используйте её, чтобы инициализировать переменные, установить режимы работы цифровых портов, и т.д. Функция loop() в бесконечном цикле последовательно раз за разом исполняет команды, которые описаны в ее теле. Т.е. после завершения функции снова произойдет ее вызов. /* * Photoresistor *скетч для работы с фоторезистором */ int photoPin = 0; // фоторезистор подключен 0-му аналоговому входу int ledPin = 9; // светодиод подключается к digital pin 9 int val = 0; // переменная для хранения значения входного напряжения void setup() {pinMode(ledPin, OUTPUT);pinMode(photoPin, INPUT); Serial.begin(9600); } void loop() { val = analogRead (photoPin); // считываем значение с фоторезистора digitalWrite (ledPin, HIGH);delay (val);digitalWrite (ledPin, LOW);delay (val);Serial.println(val); } Уровень напряжения, зависящий от освещённости фоторезистора, считывается на аналоговом порту Analog Input 0 и записывается в COM-порт. Мы считываем аналоговые данные с датчика освещенности и используем их как задержку delay (val) мигания светодиода LED. Чем ярче свет, падающий на датчик, тем меньше задержка между вспышками светодиода. Аналоговые значения варьируются в диапазоне от 0 до 1023, что может дать задержку вспышек от более одной секунды до практически нулевой. Большинству датчиков нужен прямой солнечный свет, чтобы задержки стали меньше 150 миллисекунд (единицы измерения, используемые командой ‘delay’). Чтобы увидеть «оцифрованные» значения, считываемые с датчика освещенности, используются строки Serial.begin(9600) и Serial.println(val), которые открывают последовательное соединение с компьютером и передают значения с датчика освещенности. Чтобы увидеть значение, нужно просто открыть Serial Monitor в IDE Arduino на вашем компьютере. Вы будете видеть каждое значение в новой строке и сможете отслеживать читаемые с датчика освещенности числа, отражающие количество света.Порядок проведения работы. 1. На основании принципиальной схемы на рис.2,а собрать на макетной плате схему на рис. 2,б. 2. Набрать программу и «залить» скэтч в контроллер, произвести компиляцию, подключить последовательный порт и приступить к замерам освещенности, приближая или удаляя источник света по отношению к фоторезистору. 3. Рядом с фоторезистором расположить датчик люксометра «Ю 116» так, чтобы его освещенность была такой же, как и у фоторезистора. 3. Изменяя освещенность фоторезистора и наблюдая ее значения в окошке COM-порта, составить таблицу значений в диапазоне 0-1023. 4. Используя показания люксометра для измерений освещенности в «люксах», составить таблицу (табл.1) перевода оцифрованных значений сопротивления фоторезистора в значения освещенности в единицах СИ. Таблица 1
5. Для схемы подключения фоторезистора на рис.2,а справедливо выражение, позволяющее определить сопротивление RRDL: , откуда . 6. По результатам замеров и расчетов построить совмещенный график цифровой и аналоговой функций преобразования фоторезистора в виде зависимостей и .
Рис. 3. Расположение осей для совмещенного графика цифровой и аналоговой функций преобразования фоторезистора Опыт №2. Изучение оптопары с открытым оптическим каналом для наблюдения за линией в задаче фотокинеза робота. |
||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 209. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |