"Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом."

суббота, 2 декабря 2017 г.

unsigned int

Описание типа

Тип данных unsigned int - беззнаковое целое число, также как и тип int (знаковое) занимает в памяти 2 байта. Но в отличие от int, тип unsigned int может хранить только положительные целые числа в диапазоне от 0 до 65535 (2^16)-1).
Отличие кроется в том как unsigned int использует старший бит, иногда называемый знаковый бит. Если старший бит равен 1, то для типа int компилятор Arduino считает, что это число отрицательное, а остальные 15 bit несут информацию о модуле целого числа в дополнительного кода представления числа, в то время как unsigned int использует все 16 бит для хранения модуля числа.
Пример
unsigned int ledPin = 13;
Синтаксис
unsigned int var = val;
  • var - имя переменной
  • val  - присваиваемое значение
Замечание по использованию типа unsigned int
Когда переменная типа int в следствие арифметической операции достигает своего максимального значения, она "перескакивает" на самое минимальное значение и наоборот:
unsigned int x
x = 0;
x = x - 1;  // x теперь равна 65535
x = x + 1; // x теперь равна 0

pulseIn()

pulseIn()

Описание

Считывает длительность импульса (любого - HIGH или LOW) на выводе. Например, если заданное значение (value) - HIGH, то функция PulseIn() ожидает появления на выводе сигнала HIGH, затем засекает время и ожидает переключения вывода в состояние LOW, после чего останавливает отсчет времени. Функция возвращает длительность импульса в микросекундах, либо 0 в случае отсутствия импульса в течение определенного таймаута.
Эмпирическим путем установлено, что при использовании функции для измерения широких импульсов возможно возникновение ошибок. Функция работает с импульсами длительностью от 10 микросекунд до 3 минут.

Синтаксис

pulseIn(pin, value)
pulseIn(pin, value, timeout)

Параметры
pin: номер вывода, с которого необходимо считыть импульс (int)
value: тип считываемого импульса: HIGH или LOW (int)
timeout (опционально): время ожидания импульса в микросекундах; значение по умолчанию - одна секунда (unsigned long)

Возвращаемые значения

длительность импульса (в микросекундах) либо 0 в случае отсутствия импульса в течение таймаута (unsigned long)

Пример


int pin = 7;
unsigned long duration;
void setup()
{
  pinMode(pin, INPUT);
}
void loop()
{
  duration = pulseIn(pin, HIGH);
}


пятница, 1 декабря 2017 г.

ЗОНА АРДУИНО: к занятию от 02.12.17

В тетрадь помещаем и заполняем таблицу использования портов на нашей плате Arduino Uno c подключенным к ней шилдом.
А затем отметить эти занятые порты на схеме шилда
Затем в тетрадь записываем алгоритм загрузки скетча из Arduino IDE в наш контроллер http://walwalru-robot.blogspot.ru/2017/11/arduino_26.html






Дальномер HC-SR04

Принцип работы ультразвукового дальномера основан на испускании ультразвука и его отражения от впереди находящихся предметов. Исходя из времени возвращения звука, по простой формуле, можно рассчитать расстояние до объекта. Дальномер HC-SR04 является самым дешевым дальномером, способен измерять расстояние в диапазоне от 2 до 450см.

Подключение к Arduino

Модуль оборудован четырех-пиновым разъемом стандарта 2.54мм
VCC: "+" питания
TRIG (T): вывод входного сигнала
ECHO (R): вывод выходного сигнала (Длина сигнала зависит от расстояния объекта до датчика)
GND: "-" питания

воскресенье, 26 ноября 2017 г.

Задание на 27.11.17

В конце последнего часа проводим конкурс на лучшего работающего робота.
Оцениваем робота начисляя штрафные балы (один за каждое замечание) по 
  1. Функциональности
  2. Работоспособности
  3. Дизайну
Потом подводим итог
Победитель 10 балов к рейтингу
Призеры (2 и 3 место) 5 балов к рейтингу

Таким образом Вам необходимо:
  • дописать программу
  • доделать робота
  • загрузить программу в робота и отладить ее работу
  • выставить робота на конкурс 

Подключение Arduino к компьютеру

После установки Arduino IDE пришло время подключить Arduino Uno к компьютеру.

Соедините Arduino Uno с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino Uno начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).
Чтобы настроить Arduino IDE на работу с Arduino Uno, нам необходимо узнать, какой номер COM-порта присвоил компьютер Arduino Uno. Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть следующую картину:
Это означает, что операционная система распознала нашу плату Arduino Uno как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 7. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому, если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

Настройка Arduino IDE на работу с Arduino Uno

Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту «COM7».
Для этого переходим в меню «Сервис» → «Последовательный порт» и выбираем порт «COM7». Теперь Arduino IDE знает — что-то находится на порту «COM7». И с этим «чем-то» ей вскоре предстоит общаться.

Чтобы у Arduino IDE не осталось никаких сомнений, необходимо прямо указать: «Мы будем использовать Arduino Uno!». Для этого переходим в меню «Сервис» → «Плата» и выбираем нашу «Arduino Uno».

суббота, 25 ноября 2017 г.

Исследование нашего робота

Robot Car Kit Atmega 328p UNO 328 for Arduino Electronics 2WD Intelligent Little Smart Turtle Robotics
Основные компоненты исследованные на данный момент:
Atmega 328p UNO 328





Arduino Sensor Shield V5.0 и Atmega 328p UNO 328