Этот проект представляет собой простой таймер с малым количеством компонентов, позволяющий отсчитывать 60 секунд.

Устройство может быть запитано как от батарейки 9 В, так и от подходящего сетевого адаптера для Arduino. Работа схемы очень проста!
Этот проект представляет собой простой таймер с малым количеством компонентов, позволяющий отсчитывать 60 секунд.

Устройство может быть запитано как от батарейки 9 В, так и от подходящего сетевого адаптера для Arduino. Работа схемы очень проста!
Генерация гауссовского шума бывает необходима для задач моделирования и генерации случайных чисел в различных приложениях. И для этих целей полезно иметь универсальную и удобную функцию.

Представленная функция, написанная на языке C, генерирует сэмпл аддитивного белого гауссовского шума при каждом вызове. Ее красота заключается в простоте. Созданный сэмпл будет иметь нулевое среднее и стандартное отклонение, равное 1. Тем не менее, программист может масштабировать выходные сэмплы, изменяя стандартное отклонение для генерации различных профилей шума. Для того, чтобы осуществить такое масштабирование достаточно просто умножить сэмпл на выбранное стандартное отклонение.
Двоично-десятичный формат кода (BCD) часто используется при работе с LCD-дисплеями и часами реального времени. В BCD-числе каждый десятичный разряд рационального числа записывается в виде его четырёхбитного двоичного кода.

Для преобразования DCD-формата в ASCII-код и обратно помогут две приведенные ниже функции bcdToAscii() и asciiToBcd().
Что такое робот?
Есть много различных определений для слова робот. Одно из них предполагает, что машина, которая будет рассматриваться как робот, должна ощущать динамично изменяемую среду и реагировать на эти изменения практически без вмешательства человека. Исходя из этого определения, наш робот – еще машина, но сейчас мы превратим её в робота, добавив «орган чувств».

Сделать робота стоимостью $50 очень просто. Мы уже поговорили про управление моторами робота и про его механические части. Теперь нужно связать всё воедино и запрограммировать электронику.

В прошлой части мы говорили только об управлении двигателями. Сейчас мы рассмотрим базу и систему приведения в движение нашего робота.
Шасси

Создание робота логично начинать с мыслей о шасси или базе. Желательно, чтобы она была дешевая и проста в использовании. В данном случае используется шасси в форме круга, что представляет собой отличную форму для робота, способного перемещаться в различных направлениях. Монтаж двигателей по обеим сторонам такой рамы позволяет совершать поворот при нулевом радиусе, приводя в движение один определенный двигатель. Это также упрощает конструкцию, поскольку одни и те же двигатели используются для движения и поворота робота. Хорошим выбором в данном случае может быть Pololu Robot Chassis RRC01A в дополнении с набором Single Chassis Completion Kit for RRC01A, включающим конструкцию с двумя моторами с редуктором, колеса и шаровые опоры.
Arduino – настолько распространенная и простая плата, что сложно не сделать на ее основе какого-нибудь незамысловатого робота. Например, такого:
Сегодня мы рассмотрим связь с драйвером TB6612FNG и управление двигателем с помощью этого драйвера.
Каждый, кто работал с низкоуровневыми регистрами, сталкивался с необходимостью устанавливать, сбрасывать и инвертировать отдельные биты, не влияя при этом на остальные. Это требует запоминания серии команд, включающих OR, AND и NOT, которые проще реализовать как макрос.

Нижеприведенный фрагмент кода реализует макрос для установки конкретного бита в лог. «1», сброса бита и его инвертирования, а также чтения значения бита.
Иногда бывает полезно иметь внешний монитор последовательного порта, как, например, Serial Monitor в Arduino Editor, чтобы удобнее было отлаживать программу и работать с данными. Поэтому ниже предлагается такое устройство под названием ESM (External Serial Monitor).

В основе ESM лежит микроконтроллер Atmel Atmega328. Его оперативная память составляет 2 КБ, этого достаточно для обработки относительно больших объемов данных. Благодаря меню ESM вы также можете устанавливать скорость передачи данных и останавливать и возобновлять считывание.
Печатать логин и пароль для разблокировки компьютера может быть утомительным занятием, особенно если вводимые данные длинные. Упростить сию задачу можно с помощью Arduino Leonardo и шилда NFC.

В данном случае Arduino считывает уникальный идентификатор карты NFC и после получения верного номера использует эмулятор клавиатуры для ввода пароля.