Arduino uno r3 примеры программ

Содержание

Платы разработки Ардуино предлагают своим пользователям множество преимуществ, поэтому они идеально подходят для создания различных и интересных устройств. В этой статье мы приводим назначение и описание выводов платы Arduino UNO R3 на базе 8-битного микроконтроллера AVR ATmega328P.

1. Arduino UNO распиновка выводов

Большинство моделей Ардуино, включая самую популярную Arduino UNO R3, оснащены 8-битным микроконтроллером AVR ATmega328P. Дорожки на печатной плате соединяют выводы микроконтроллера с гребенкой контактов. Благодаря этому мы можем подключить к Arduino внешние устройства, такие как Arduino Shield, светодиоды, транзисторы, датчики, потенциометры и другие.

Контакты Arduino UNO R3 включают в себя 14 цифровых контактов, 6 аналоговых контактов, разъемы питания, разъем USB и разъем для дополнительного внешнего программатора USB-ASP. Полная схема распиновки платы Arduino UNO R3 показана на следующем рисунке:

Arduino - общая распиновка выводов

Установка Arduino UNO и пример программы

2. Arduino — питание платы

Как подключить Arduino к питанию. Как и любое другое электронное устройство, для работы платы Ардуино необходимо подключить питающее напряжение. Питание к Arduino UNO R3 может подаваться тремя способами.

  • Первый способ — использовать разъем питания Arduino 5,5 мм/2,1 мм (круглый). В данном случае выходное напряжение должно быть в диапазоне от 7В до 12В.
  • Второй способ — подать на вывод «VIN» напряжение от внешнего источника в диапазоне от 7В до 12В. Это может быть лабораторный блок питания или два литий-ионных аккумулятора формата 18650, соединенных последовательно. Вывод «VIN» подключен к выпрямительному диоду, что предотвращает повреждение в случае подключения напряжения с обратной полярностью.
  • Третий способ — также питание можно подать через разъем USB типа B — как при подключении Ардуино к компьютеру, так и при питании от зарядного устройства для смартфона. Необходимо иметь в виду, что USB компьютера обеспечивает максимальный ток до 500 мА.

Arduino - питание платы

Мощность блока питания следует подобрать в соответствии с энергопотреблением разрабатываемого устройства. Независимо от выбранного источника питания, схема должна соединяться с землей (GND). На плате Ардуино есть пять контактов «GND», которые гальванически связаны друг с другом.

Также на плате есть контакт «RESET», который после короткого замыкания на землю, например, с помощью кнопки на плате, вызывает временное отключение питания и перезапуск Arduino.

На Arduino можно подать внешний источник опорного напряжения через вывод «IOREF».

3. Arduino — аналоговые контакты

У Arduino UNO 6 аналоговых входов («A0» — «A5»). Эти входы соединены через мультиплексор с входом аналого-цифрового преобразователя (АЦП) микроконтроллера ATmega328.

АЦП преобразовывает входной аналоговый сигнал в диапазоне 0В-5В в цифровую форму. Разрешение АЦП в Ардуино составляет 10 бит. Это означает, что количество уровней напряжения на входе преобразователя равно 1023 с разрешением 4,89 мВ. Разрешение можно расширить с помощью опорного напряжения ниже 5В, которое подается на вывод «AREF».

Arduino - аналоговые контакты

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров.

Частота дискретизации преобразователя АЦП составляет примерно 9600 Гц. АЦП будет безупречно обрабатывать данные пока сигнал будет ниже половины частоты дискретизации АЦП, т.е. не более 4800Гц.

Типичные приложения с использованием АЦП Arduino: аналоговые датчики, потенциометры, а также управление голосом через микрофон (VoIP).

4. Arduino — цифровые контакты

У Arduino Uno 14 цифровых контактов («D0» — «D13»), которые можно настроить как входы или выходы. Один из этих контактов «D13» подключен к встроенному светодиоду.

Максимальный ток (нагрузка) каждого цифрового контакта составляет 20 мА. Цифровые выводы работают с логическими состояниями: низкое состояние означает лог.0, а высокое состояние — лог.1. Если цифровые контакты Ардуино настроены как выходы, то низкое напряжение равно 0 В, а высокое равно 5 В.

Arduino - цифровые контакты

Если же цифровые контакты сконфигурированы как входы, принимающие сигналы от внешних устройств, то логические уровни будут другие. Ардуино интерпретирует входное напряжение в диапазоне 0,0В — 0,8В как низкое состояние («0»), а в диапазоне 2,0В до 5,0В как высокое состояние («1»). Диапазон 0,8В — 2,0В означает запрещенное состояние, в котором нет права на изменение логического состояния.

5. Arduino — цифровые выводы с функцией генерации сигналов ШИМ

В дополнение к своей стандартной функциональности некоторые цифровые контакты используются для генерации сигнала ШИМ. Выходы ШИМ в Arduino: «D3», «D5», «D6», D9», «D10» и «D11». По умолчанию частота ШИМ Arduino составляет 490 Гц.

Arduino - цифровые выводы с функцией генерации сигналов ШИМ

Величина скважности определяет, в течение какой части периода на цифровом выводе находиться низкое состояние. Например, если скважность ШИМ-сигнала составляет 40%, то при пиковом напряжении 5В среднее значение напряжения такого сигнала будет равно 2В. Соответственно, чем больше значение коэффициента заполнения, тем выше среднее значение сигнала ШИМ.

Популярными приложениями, использующие ШИМ-сигнал, являются регуляторы скорости электродвигателя, регуляторы яркости светодиодного освещения, музыкальные синтезаторы.

6. Arduino — коммуникационные контакты — интерфейс UART

Ардуино использует несколько интерфейсов для связи с внешними устройствами. Одним из них является протокол UART (Universal Asynchronous Receiver-Transmitter — универсальный асинхронный приемник-передатчик). Это последовательный протокол, реализованный с помощью цифровых выводов:

  • «D0» («RX» — приемник, который получает сигнал от внешнего устройства)
  • «D1» («TX» — передатчик, который отправляет сигнал на внешнее устройство)
Читайте также:
Как отключить программу в режиме совместимости

Arduino - коммуникационные контакты - интерфейс UART

UART обеспечивает связь с внешними модулями, а также с компьютером, к которому он подключается через USB разъем.

7. Arduino — коммуникационные контакты — интерфейс SPI

Другим интерфейсом, является SPI (Serial Peripheral Interface — последовательный периферийный интерфейс ). Это последовательный протокол, который позволяет микроконтроллеру обмениваться данными с одним или несколькими устройствами. Данный протокол обеспечивает синхронную связь с другим микроконтроллером в топологии Master — Slave.

Arduino - коммуникационные контакты - интерфейс SPI

В Arduino UNO R3 шина SPI имеет следующие контакты:

  • SS (Slave Select) — пин «D10» — выбор адреса ведомого устройства, с которым должен связаться микроконтроллер
  • SCK (Serial Clock) — пин «D13» — тактовый сигнал, синхронизирующий передачу данных в обе стороны
  • MISO (Master Input Slave Output) — пин «D12» — линия отправки информации от ведомых устройств к ведущему устройству
  • MOSI (Master Output Slave Input) — пин «D11» — линия, которая отправляет информацию от ведущего устройства к ведомым устройствам

8. Arduino — коммуникационные контакты — интерфейс I 2 C

Ардуино также имеет шину I 2 C, которая обеспечивает связь между двумя компонентами. Для платы UNO R3 связь по I 2 C реализована с помощью двух контактов:

  • SDA (Data Series) — пин «A4» для передачи данных по шине I 2 C
  • SCL (Serial Clock) — пин «A5» тактового сигнала, синхронизирующий передачу данных по шине I 2 C в обе стороны

Arduino - коммуникационные контакты - интерфейс I2C

Каждое внешнее устройство, которое обменивается данными с Arduino через шину I 2 C, имеет свой уникальный адрес, например, 0x23. К одной шине одновременно может быть подключено до 255 устройств.

9. Arduino — контакты прерывания

В микроконтроллерах, таких как ATmega238P, встроенных в Arduino, мы можем инициировать процедуру внешнего прерывания. Внешнее прерывание — системное прерывание, которое инициируется автоматически с уровня взаимодействующего устройства или вручную с уровня пользователя по причине внешних сигналов.

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

Arduino - контакты прерывания

В Arduino UNO R3 за прерывания отвечают следующие контакты:

Активацию и деактивацию каждого из прерываний можно настроить индивидуально в программе: запуск как по спадающему, так и по нарастающему фронту, а также по низкому и высокому состоянию.

10. Arduino — разъем ICSP на UNO R3

ICSP (In-Circuit Serial Programming — внутрисхемное последовательное программирование) — 6-контактный разъем, позволяющий подключить внешний программатор USB-ASP. Это решение реализовано для пользователей, предпочитающих «традиционное» программирование на языках Си и Ассемблер и желающих сэкономить дополнительно 5кБ памяти микроконтроллера, которую занимает загрузчик Ардуино.

Arduino - разъем ICSP на UNO R3

Контакты ICSP выполняют следующие функции:

  • SCK (Serial Clock) — тактовый сигнал, синхронизирующий передачу данных между памятью микроконтроллера и компьютером
  • MISO (Master Input Slave Output) — линия, которая отправляет информацию от ведомых устройств на ведущее устройство (компьютер)
  • MOSI (Master Output Slave Input) — линия, которая отправляет информацию с ведущего устройства (компьютера) на ведомые устройства
  • VCC — линия вспомогательного питания 5В
  • GND — земля вспомогательного питания
  • RESET — сброс микроконтроллера

Источник: www.joyta.ru

Как начать программировать Arduino

Print Friendly, PDF </li><li>кабель USB (USB A — USB B);</li><li>персональный компьютер;</li><li>светодиод;</li><li>пара соединительных проводов длиной 5-10 см;</li><li>при наличии – макетная плата (breadboard).</li></ul><h2>1 ЗагрузкаArduino IDE</h2><p>Загрузите среду разработки для Ардуино (Arduino IDE) с официального сайта для своей операционной системы (поддерживаются ОС Windows, Mac OS X, Linux). Можете выбрать установщик (Installer), можете архив (ZIP file for non admin install). Во втором случае программа просто запускается из папки, без установки. Скачанный файл содержит кроме среды разработки также драйверы для плат семейства Arduino.</p><p> <img decoding=2 Подключение Arduinoк компьютеру

Подключите плату Arduino с помощью USB кабеля (типа USB-A — USB-B) к компьютеру. Должен загореться зелёный светодиод ON на плате.

USB кабель для подключения Arduino

3 Установка драйверадля Arduino

Установите драйвер для Arduino. Рассмотрим вариант установки на операционную систему Windows. Для этого дождитесь, когда операционная система предложит установить драйвер. Откажитесь. Нажмите клавиши Win + Pause, запустите Диспетчер устройств.

Найдите раздел «Порты (COM и LPT)». Увидите там порт с названием Arduino UNO (COMxx). Кликните правой кнопкой мыши на нём и выберите Обновить драйвер. Укажите операционной системе расположение драйвера. Он находится в поддиректории drivers в той папке, которую мы только что скачали.

Запомните порт, к которому подключена плата Arduino. Чтобы узнать номер порта, запустите диспетчер устройств и найдите раздел «Порты (COM и LPT)». В скобках после названия платы будет указан номер порта. Если платы нет в списке, попробуйте отключить её от компьютера и, выждав несколько секунд, подключить снова.

Установка драйвера Arduino

4 НастройкаArduino IDE

Укажите среде разработки свою плату. Для этого в меню Инструменты Плата выберите Arduino UNO.

Настройка Arduino IDE

Укажите номер COM-порта, к которому подключена плата Arduino: Инструменты Порт .

Выбрать COM-порт, которому назначена плата Arduino

5 Открываем примерпрограммы

Среда разработки уже содержит в себе множество примеров программ для изучения работы платы. Откройте пример «Blink»: Файл Образцы 01.Basics Blink . Кстати, программы для Ардуино называются «скетчи».

Открыть пример программы для Arduino

6 Сборка схемысо светодиодом

Отключите Arduino от компьютера. Соберите схему, как показано на рисунке. Обратите внимание, что короткая ножка светодиода должна быть соединена с выводом GND, длинная – с цифровым пином «13» платы Arduino. Удобно пользоваться макетной платой, но при её отсутствии соедините провода скруткой.

Цифровой пин «13» имеет встроенный резистор на плате. Поэтому при подключении светодиода к плате внешний токоограничивающий резистор использовать не обязательно. При подключении светодиода к любым другим выводам Ардуино использование резистора обязательно, иначе сожжёте светодиод, а в худшем случае – порт Ардуино, к которому подключён светодиод!

Собираем первую схему на Arduino

7 Загрузка скетчав память Ардуино

Теперь можно загрузить программу в память платы. Подключите плату к компьютеру, подождите несколько секунд, пока происходит инициализация платы. Нажмите кнопку Загрузить, и Ваш скетч запишется в память платы Arduino. Светодиод должен начать весело подмигивать вам с периодичностью 2 секунды (1 секунду горит, 1 выключен). Ниже приведён код нашей первой программы для Ардуино.

Читайте также:
Программа для обновления драйверов видеокарты радеон

void setup() // блок инициализации pinMode(13, OUTPUT); // задаём пин 13 в качестве выхода. > void loop() // цикл, который повторяется бесконечно, пока включена плата: digitalWrite(13, HIGH); // подаём на 13 вывод высокий уровень — зажигаем светодиод delay(1000); // на 1000 мсек = 1 сек. digitalWrite(13, LOW); // подаём на 13 вывод низкий уровень — гасим светодиод delay(1000); // на 1 сек. > // далее цикл повторяется

Почитайте комментарии в тексте программы – их достаточно чтобы разобраться с нашим первым экспериментом. Сначала описываем блок инициализации setup(), в котором задаём начальные значения переменных и функции выводов Arduino. Далее следует бесконечный цикл loop(), который повторяется снова и снова, пока на плату подаётся питание.

В этом цикле мы выполняем все необходимые действия. В данном случае – зажигаем и гасим светодиод. Оператор delay() задаёт длительность выполнения (в миллисекундах) предшествующего оператора. Оператор digitalWrite() указывает Ардуино, на какой вывод подать напряжение, и какой именно уровень напряжения. Ваш первый скетч готов!

Полезный совет

В сети есть множество сайтов, посвящённых работе с платами семейства Arduino. Читайте, осваивайте, не бойтесь экспериментировать и познавать новое! Это увлекательное и полезное занятие, которое принесёт вам много удовольствия.

Обратите внимание

Будьте внимательны при работе с платой Arduino – это электронное изделие, которое требует бережного отношения. Снизу платы есть оголённые проводники, и если Вы положите плату на токопроводящую поверхность, есть вероятность сжечь плату. Также не трогайте плату влажными или мокрыми руками и избегайте при работе сырых помещений.

Источник: soltau.ru

Ардуино для начинающих – ТОП-3 проекта, схемы, фото, видео

Ардуино для начинающих

Как создать своими руками интересные приборы на основе Ардуино — уроки для начинающих с пошаговыми и подробными объяснениями алгоритма действий. Фото и видео прилагаются.

  1. Датчик движения
  2. Управление устройствами со смартфона
  3. Мини-пианино — схемы и видео
  • Смотрите также ТОП-3 интересных проекта на Ардуино

Датчик движения с Ардуино — проект для начинающих

Датчик движения с Arduino, HC-SR04 и светодиодом

Для начала рассмотрим, как можно сделать датчик движения с помощью ультразвукового датчика (HC-SR04), который будет включать каждый раз светодиод. Это устройство легко смогут повторить новички, но при этом он будет интересен и более опытным инженерам.

Необходимые детали

Необходимые комплектующие

Чтобы создать датчик движения с Arduino, HC-SR04 и светодиодом (LED) нам понадобятся следующие комплектующие:

  • Плата Arduino (мы использовали Arduino Uno).
  • Светодиод (LED, цвет не имеет значения).
  • Резистор/сопротивление 220 Ом.
  • Макетная плата.
  • USB-кабель Arduino.
  • Батарейка 9В с зажимом (опционально).
  • 6 проводов.

Позиционирование деталей

Позиционирование деталей

Сначала подключите ультразвуковой датчик и светодиод на макетной плате. Подключите короткий кабель светодиода (катод) к контакту GND (земля) датчика. Затем установите резистор в том же ряду, что и более длинный провод светодиода (анод), чтобы они были соединены.

Подключение частей

Подключение отдельных компонентов

Теперь нужно подключить несколько проводов на задней панели датчика. Есть четыре контакта — VCC, TRIG, ECHO и GND. После вставки проводов необходимо выполнить следующие подключения:

  1. Датчик — Arduino.
  2. VCC — 5V (питание).
  3. TRIG — 5 с пометкой.
  4. ECHO — 4 с пометкой.
  5. GND — GND (земля).
  6. Конец резистора на цифровой вывод по вашему выбору, просто не забудьте изменить его позже в коде.

Загрузка кода

Собранное устройство

Теперь вы можете подключить Arduino к компьютеру с помощью USB-кабеля. Откройте программное обеспечение Arduino и загрузите код, который вы можете найти ниже. Константы прокомментированы, поэтому вы точно знаете, что они делают и, возможно, поменяете их.

const int ledPin = 6; // Цифровой выход светодиода
const int trigPin = 5; // Цифровой выход для подключения TRIG
const int echoPin = 4; // Цифровой выход для подключения ECHO
const int ledOnTime = 1000; // Время, в течение которого светодиод остается включенным, после обнаружения движения (в миллисекундах, 1000 мс = 1 с)
const int trigDistance = 20; // Расстояние (и меньшее значение) при котором срабатывает датчик (в сантиметрах)

int duration;
int distance;

void setup() pinMode(ledPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
>

void loop() digitalWrite(trigPin, LOW);
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;

if (distance digitalWrite(ledPin, HIGH);
delay(ledOnTime);
digitalWrite(ledPin, LOW);
>
delay(100);
>

Видео работы датчика движения на Ардуино:

Урок Ардуино для начинающих: управление устройствами со смартфона

Когда-нибудь задумывались о том, чтобы управлять любыми электронными устройствами с помощью смартфона? Согласитесь, управлять роботом или любыми другими устройствами таким образом было бы очень круто. Предлагаем простой урок для начинающих и чайников о том, как с помощью Ардуино через Bluetooth управлять смартфоном. Если вам после этого урока захочется познакомиться с Arduino поближе — вы можете найти книги о нём здесь.

Необходимые детали

  • Модуль — Bluetooth Module HC 05/06
  • Плата — Arduino
  • Светодиод (LED)
  • Резистор — 220 Ом
  • Android-устройство

Схема Ардуино

Как это работает

Обычно мы делаем этот шаг в конце, но, чтобы вы понимали к чему мы должны прийти — посмотрите на результат на этом промежуточном шаге.

Управление через смартфон

Пошаговая сборка схемы проекта на Ардуино

Цепь в нашем Arduino проекте настолько проста и мала, что нам нужно сделать всего несколько соединений:

  • Arduino Pins — Bluetooth Module Pins
  • RX (Pin 0) — TX
  • TX (Pin 1) — RX
  • 5V — VCC
  • GND — GND

Не подключайте RX к RX и TX к TX выходы Bluetooth к выходам Arduino, вы не получите никаких данных, здесь TX означает «передача», RX означает «прием».

Схема подключения

Загрузка программы в Ардуино

Теперь нам нужно написать программу и загрузить её в наш Arduino. Код ниже именно то, что нам нужно загрузить в Ардуино.

/* Bluetooh Basic: LED ON OFF
* Coder — Mayoogh Girish
* This program lets you to control a LED on pin 13 of arduino using a bluetooth module
*/
char data = 0; //Variable for storing received data
void setup()
Serial.begin(9600); //Sets the baud for serial data transmission
pinMode(13, OUTPUT); //Sets digital pin 13 as output pin
>
void loop()
if(Serial.available() > 0) // Send data only when you receive dаta:
data = Serial.read(); //Read the incoming data and store it into variable data
Serial.print(data); //Print Value inside data in Serial monitor
Serial.print(«n»); //New line
if(data == ‘1’) // Checks whether value of data is equal to 1
digitalWrite(13, HIGH); //If value is 1 then LED turns ON
else if(data == ‘0’) // Checks whether value of data is equal to 0
digitalWrite(13, LOW); //If value is 0 then LED turns OFF
>
>

Читайте также:
Как хранить пароль в программе

Принцип работы

Модуль HC 05/06 работает по последовательному каналу связи. Андроид-приложение последовательно отправляет данные на модуль Bluetooth, когда вы нажимаете определенную клавишу. Bluetooth на другом конце получает данные и отправить на Arduino через TX-соединение модуля Bluetooth (RX-соединение Arduino).

Код загруженный в Arduino проверяет полученные данные и сравнивает их. Если получена «1» — светодиод включается и выключается при получении «0». Откройте монитор последовательного порта и наблюдайте полученные данные.

Монитор последовательного порта

Приложение для Андроид-устройств

В этом уроке мы не будем касаться создания приложений для устройств на основе Андроида. Вы можете скачать приложение на GitHub.

Приложение на Андроид

Приложение на Андроид

После того, как мы подключились через Bluetooth, нужно скачать и установить приложение, которое будет управлять нашим светодиодом на расстоянии. Подсоединяем смартфон к модулю Bluetooth HC 05/06:

  • Включаем модуль HC 05/0.
  • Ищем устройство
  • Соединяемся с HC 05/06 введя дефолтный пароль «1234» или «0000» (четыре нуля).
  • Возможно, вам также будет интересна инструкция по созданию сигнализатора поклевки своими руками

Видео с пошаговой сборкой устройства для управления со смартфона:

Делаем мини-пианино с помощью Ардуино — схемы и видео

Мини-пианино на Ардуино

Сделаем пианино с помощью Arduino и сыграем на нем свою первую мелодию.

Ардуино — платформа с открытым исходным кодом, используемая для создания проектов в электронике. Она состоит из программируемой платы (часто называемой микроконтроллером) и части программного обеспечения или интегрированной среды разработки Arduino IDE для ПК, которая используется для написания и загрузки компьютерного кода на плату.

Компоненты

Платформа Arduino стала довольно популярной среди начинающих в электронике и не зря. В отличие от большинства предыдущих программируемых печатных плат, Arduino не нуждается в отдельном аппаратном обеспечении для загрузки нового кода на плату — вы можете просто использовать USB-кабель.

Кроме того, в Arduino IDE используется упрощенная версия C ++, что упрощает обучение программе. Наконец, Ардуино предоставляет стандартный форм-фактор, который разбивает функции микроконтроллера на более доступные пакеты.

Необходимые компоненты для нашего проекта:

  • Arduino UNO — 1 шт.
  • Провода-переходники папа-папа — 104×4.
  • Клавиатура — 14 Ом.
  • Динамики — 1A.
  • ПК или ноутбук.

Соединяем компоненты

Подключаем клавиатуру строки к 3 2 8 0 контактам Arduino, а столбцы к 7 6 5 4 выводам Arduino.

Схема подключения элементов

Подключаем провода динамика к клеммам 11 и Земля (GND).

Настройка

Кнопки клавиатуры (наше пианино) были подключены с помощью перемычек. Основной эскиз (скетч) определяет, какие частоты музыкальных нот связаны с каждой клавишей пианино.

Для этого проекта мы использовали C4, D4, E4, F4, G4, A4, B4, C5, D5, E5, F5, G5, A5 и B5, причем C4 был переключателем «0», D4 — переключателем «1» и так далее. Измените значения частот или добавьте дополнительные переключатели, чтобы полностью настроить собственный проект. Динамик просто подключен одним концом к контакту 11 Arduino, а другой — к земле.

Функция «тон» (tone) в коде будет искать этот вывод для воспроизведения вызываемой ноты.

Рабочий код

Вставьте код ниже в Arduino IDE и затем загрузите его в микроконтроллер. Нажмите кнопку сброса, если что-то пойдет не так. Вам также необходимо загрузить и установить библиотеку Arduino Keypad, которая доступна для скачивания ниже:

#include
#include «pitches.h» #
define GND 12
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
const int SPEAKER=11;
//define the symbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = <
,
,
,
>;
byte rowPins[ROWS] = ; //connect to the row pinouts of the keypad
byte colPins[COLS] = ; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup()
<
Serial.begin(9600);
pinMode(GND,OUTPUT);
digitalWrite(GND,LOW);
>
void loop()
<
char customKey = customKeypad.getKey();
if (customKey==’0′)
<
Serial.println(customKey);
tone(SPEAKER,NOTE_C4,350);
>
if (customKey==’1′)
Serial.println(customKey);
tone(SPEAKER,NOTE_D4,350);
>
if (customKey==’2′)
Serial.println(customKey);
tone(SPEAKER,NOTE_E4,350);
>
if (customKey==’3′)
Serial.println(customKey);
tone(SPEAKER,NOTE_F4,350);
>
if (customKey==’4′)
Serial.println(customKey);
tone(SPEAKER,NOTE_G4,350);
>
if (customKey==’5′)
Serial.println(customKey);
tone(SPEAKER,NOTE_A4,350);
>
if (customKey==’6′)
Serial.println(customKey);
tone(SPEAKER,NOTE_B4,350);
>
if (customKey==’7′)
<
Serial.println(customKey);
tone(SPEAKER,NOTE_C5,350);
>
if (customKey==’8′)
Serial.println(customKey);
tone(SPEAKER,NOTE_D5,350);
>
if (customKey==’9′)
Serial.println(customKey);
tone(SPEAKER,NOTE_E5,350);
>
if (customKey==’A’)
Serial.println(customKey);
tone(SPEAKER,NOTE_F5,350);
>
if (customKey==’B’)
Serial.println(customKey);
tone(SPEAKER,NOTE_G5,350);
>
if (customKey==’C’)
Serial.println(customKey);
tone(SPEAKER,NOTE_A5,350);
>
if (customKey==’D’)
Serial.println(customKey);
tone(SPEAKER,NOTE_B5,350);
>
if (customKey==’E’)
<
Serial.println(customKey);
tone(SPEAKER,NOTE_C6,350);
>
if (customKey==’F ‘)
Serial.println(customKey);
tone(SPEAKER,NOTE_D6,350);
>
>

Эскиз (скетч) начинается с импорта библиотек «Keypad.h» и «pitches.h», поэтому мы сможем ссылаться на различные элементы из них позже в коде. Далее код настраивается путем определения количества ROWS и COLUMNS, определяющих, какие контакты входы и выходы, а также устанавливаем контакт динамика как 11-й вывод Arduino.

Затем мы определяем значение каждой ноты в форме Матрицы и назначаем, какой вывод нам нужно связать со строками и столбцами (в этом проекте мы использовали 3, 2, 8, 0 выводы как ROWS — строк, и 7, 6, 5, 4 в качестве COLUMNS — столбцов).

Основной цикл. Мы сохраняем каждое значение ноты в переменную «customkey», а также печатаем значение в серийном мониторе Arduino IDE. Далее мы сравниваем каждую пользовательскую ноту и отправляем вывод SPEAKER NOTE (нота динамика) и DURATION (длительность) на функцию «тона».

На предыдущем шаге мы скачали библиотеку Arduino Keypad. Разархивируйте её в папку Arduino в Arduino IDE и далее пройдите:

Files — Example — Keypad — Custom Keypad

Играем песню «С Днем Рождения»

Динамик должен быть подключен только к любым штыревым (PWM) разъемам ARDUINO, иначе настройка не будет работать.

Как играть песню «С Днем Рождения» на клавиатуре:

4 4 5 4 B 6 4 4 5 4 7 B
4 4 C 8 B 6 5
9 9 9 B 7 B

Источник: tehnoobzor.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru