Шаблон:Arduino/Примеры: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Строка 291: Строка 291:
===Светодиодные матрицы===
===Светодиодные матрицы===


* [[Arduino:Примеры/Гайд по использованию светодиодной матрицы MAX7219 с Arduino (плюс игра Pong)|Гайд по использованию светодиодной матрицы MAX7219 с Arduino (плюс игра Pong)]]
<gallery mode="traditional" widths=200px heights=200px>
Файл:Pongping bb.jpg|link=Arduino:Примеры/Гайд по использованию светодиодной матрицы MAX7219 с Arduino (плюс игра Pong)|[[Arduino:Примеры/Гайд по использованию светодиодной матрицы MAX7219 с Arduino (плюс игра Pong)|Гайд по использованию светодиодной матрицы MAX7219 с Arduino (плюс игра Pong)]]
</gallery>


===Cветодиодные ленты===
===Cветодиодные ленты===

Версия от 22:30, 31 декабря 2022

Примеры

Стандартные функции

Простые программы, которые демонстрируют основные команды Arduino.

Они включены в среду Arduino; чтобы открыть их, нажмите кнопку "Открыть" на панели инструментов и посмотрите в папке примеров.

Основы

Цифровой сигнал

Аналоговый сигнал

Связь

Эти примеры позволяют Arduino «общаться» со скетчами для Processing, запущенными на компьютере. Для более подробной информации о Processing пройдите сюда – processing.org (там же можно скачать программу).

Здесь также представлены патчи Max/MSP, связанные со скетчами Arduino. Более подробно о Max/MSP читайте на Cycling 74. О патчах для Pd, которые могут работать с этими примерами, читайте в примерах Скотта Фитцджеральда.

Управляющие структуры

Датчики

Дисплей

Примеры, объясняющие основы управления дисплеем:

Строки

USB (для Leonardo, Micro и Due плат)

В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.

Клавиатура

Мышь

Разное

Использование сдвигового регистра 74HC595

Использование одного сдвигового регистра 74HC595

Использование двух сдвиговых регистров 74HC595

  • ShftOut21 - Два светодиодных счетчика от «0» до «255» (в двоичном формате)
  • ShftOut22 - Поочередное зажигание 16 светодиодов
  • ShftOut23 - Использование двух массивов

Использование сдвигового регистра CD4021B

Использование одного сдвигового регистра CD4021B

  • ShftIn11 - Простой ввод данных
  • ShftIn12 - Какая кнопка нажата?
  • ShftIn13 - Проверка разных комбинаций
  • ShftIn14 - Нажата ли кнопка?

Использование двух сдвиговых регистров CD4021B

  • ShftIn21 - Простой ввод данных от двух сдвиговых регистров
  • ShftIn22 - Проверка разных комбинаций на двух комплектах переключателей
  • ShftIn23 - Печать включенных настроек

DHT

BMP180

Датчики дождя

Датчики влажности

Датчики освещенности

Температурные датчики

Часы реального времени

Датчики газа/дыма

Ультразвуковые датчики

Датчики движения

Уклономеры

Датчики звука

Герконы

RFID

Реле

nRF24L01

Приемники/передатчики RF 433 MHz

OLED-дисплеи

LCD-дисплеи

Светодиодные матрицы

Cветодиодные ленты

Клавиатуры

Роботы

Датчик цвета

Управление DC-моторами

Управление серводвигателями

Управление RGB-светодиодом

Источники звука

Последовательный порт

Использование библиотеки Keyboard

Использование библиотеки Wire

Использование библиотеки SPI

Использование библиотеки SD

Использование библиотеки Ethernet

Использование прерываний

Аппаратные прерывания

Прерывания по таймеру

Библиотеки

Примеры к библиотекам, входящим в состав ПО для Arduino.

Библиотека Bridge (для Arduino Yún)

  • Bridge - Доступ к контактам платы через веб-браузер.
  • Console ASCII Table - Демонстрирует, как выводить на консоль символы в разных форматах.
  • Console Pixel - Управление светодиодом при помощи консоли.
  • Console Read - Анализ информации, пришедшей через консоль, а затем отправка ее обратно.
  • Datalogger - Сохранение информации от датчика на SD-карте.
  • File Write Script - Демонстрирует, как при помощи класса Process записывать shell-скрипт в файловую систему Yun, а затем исполнять его.
  • HTTP Client - Создает простой клиент, который загружает веб-страницу и выводит ее на Serial Monitor.
  • Process - Демонстрирует, как использовать класс Process для запуска Linux-команд.
  • Shell Commands - Использует класс Process для запуска shell-команд.
  • Temperature Web Panel - После запроса через браузер постит на веб-странице данные от датчика.
  • TimeCheck - Берет информацию о текущем времени от сетевого сервера времени, а затем выводит ее на Serial Monitor.
  • WiFiStatus - Запускает преднастроенный скрипт, который в ответ сообщает о мощности сигнала в текущей WiFi-сети.
  • Yun Serial Terminal - Доступ к Linux Terminal через Serial Monitor.
  • MailboxReadMessage - Отправляет процессору Arduino текстовые сообщения через браузер и при помощи REST API.

Примеры для Temboo На сайте Temboo есть отдельная секция о библиотеке Temboo и примерах с использованием IDE Arduino. Смотрите здесь.

Примеры для Spacebrew Для Yun и Spacebrew существует множество примеров. Подробнее смотрите на страницах с проектной документацией.

Советы и хитрости при работе с Linux

Библиотека EEPROM

  • EEPROM Clear - Очищает байты с EEPROM.
  • EEPROM Read - Считывает данные с EEPROM и отсылает их на компьютер.
  • EEPROM Write - Записывает на EEPROM значения, считанные с аналогового входа.
  • EEPROM Crc – Проверка содержимого EEPROM-памяти на предмет того, изменилось/повредилось ли оно. Проверка осуществляется при помощи CRC. Содержимое EEPROM-памяти рассматривается как массив
  • EEPROM Get – Считывание данных с EEPROM-памяти и их вывод на монитор порта в виде числа с плавающей точкой (float)
  • EEPROM Iteration – Несколько разных способов пробежаться по всей EEPROM-памяти
  • EEPROM Put – Запись данных в EEPROM-память разными способами
  • EEPROM Update – Запись в EEPROM-память данные, считанные с 0-ого аналогового контакта (A0). Запись осуществляется только в том случае, если новые данные отличаются от предыдущих – это позволяет увеличить срок службы EEPROM-памяти

Библиотека Esplora

Esplora для начинающих

  • EsploraBlink - Моргание RGB-светодиодом Esplora.
  • EsploraAccelerometer - Считывание данных с акселерометра.
  • EsploraJoystickMouse - Использует джойстик для управления экранным курсором компьютера.
  • EsploraLedShow - Использует джойстик и слайдер для создания «светового шоу» при помощи светодиода.
  • EsploraLedShow2 - Использует микрофон, слайдер и световой датчик Esplora для того, чтобы менять цвет встроенного светодиода.
  • EsploraLightCalibrator - Калибрует данные от светового датчика, встроенного в Esplora.
  • EsploraMusic - Создание музыки при помощи Esplora.
  • EsploraSoundSensor - Считывает значения с микрофона Esplora.
  • EsploraTemperatureSensor - Считывает данные с температурного датчика в Фаренгейтах или Цельсиях.

Esplora для экспертов

  • EsploraKart - Использует Esplora в качестве контроллера для игры в гоночный симулятор.
  • EsploraTable - Выводит информацию от датчика Esplora в табличном формате.
  • EsploraRemote - Подключение Esplora к Processing и удаленное управление ее устройствами вывода.
  • EsploraPong - Игра в Pong при помощи Esplora и Processing.

Библиотека Ethernet

Библиотеки Firmata

Библиотека GSM

Примеры для GSM

Инструменты для GSM

Библиотека LiquidCrystal

  • LiquidCrystal Hello World - Показывает надпись «Hello, World!» и секунды с последнего RESET’а.
  • LiquidCrystal Blink - Управление блокообразным курсором.
  • LiquidCrystal Cursor - Управление курсором в виде нижнего подчеркивания.
  • LiquidCrystal Display - Как быстро погасить дисплей, при этом не теряя имеющейся на нем информации.
  • LiquidCrystal TextDirection - Управление тем, в какую сторону от курсора будет перемещаться текст.
  • LiquidCrystal Scroll - Изменение направления двигающегося текста.
  • LiquidCrystal Serial input - Принимает данные, пришедшие черед последовательный порт и отображает их.
  • LiquidCrystal SetCursor - Устанавливает позицию курсора.
  • LiquidCrystal Autoscroll - Автоматическое смещение текста.

Библиотека SD

  • Card Info – Получение информации о SD-карте
  • Yún Datalogger – Запись на SD-карту логов от трех аналоговых датчиков
  • Datalogger – Регистрация данных от датчиков при помощи SD-карты
  • Dump File – Считывание файла с SD-карты
  • Files – Создание/удаление файла с SD-карты
  • List Files – Отображение списка файлов и папок, находящихся в указанной директории на SD-карте
  • Read Write – Считывание/запись данных на SD-карту

Библиотека Robot

  • Robot Logo - Как задать направление движения для робота при помощи встроенной клавиатуры.
  • Robot Line Following - Рисуем «гоночный трек» и программируем робота, чтобы он по нему ехал.
  • Robot Disco Bot - Превращаем робота в музыкальный проигрыватель, который, к тому же, умеет еще и танцевать.
  • Robot Compass - Настраиваем компас и ищем карту сокровищ (опционально).
  • Robot Inputs - Учимся, как управлять потенциометром и кнопками на верхней (контрольной) плате Arduino Robot.
  • Robot Wheel Calibration - Регулируем точность колес.
  • Robot Runaway Robot - Оснащаем робота дальномером, а затем играем с ним в пятнашки (опционально).
  • Robot Remote control - Удаленное управление роботом при помощи пульта от телевизора.
  • Robot Picture browser - Хотите просматривать на экране Arduino Robot собственные картинки?
  • Robot Rescue - «Спасение пострадавших».
  • Robot Hello User - Взламываем приветственное демо Arduino Robot и делаем на его основе собственное.
  • Robot Calibrate Compass - Калибруем компас-модуль, чтобы он вращался равномерно (для старых моделей, использующих Honeywell HMC 6352).

Библиотека SPI

  • BarometricPressureSensor - Считываем с датчика данные об атмосферном давлении и температуре при помощи протокола SPI.
  • SPIDigitalPot - Управление цифровым потенциометром AD5206 при помощи протокола SPI.

Библиотека Servo

  • Knob - Как настроить Arduino Robot таким образом, чтобы при кручении потенциометра вращался вал сервомотора.
  • Sweep - Вращение валом сервомотора вперед и назад.

Библиотека Software Serial

  • Software Serial Example - Объясняет, как использовать библиотеку SoftwareSerial... потому что иногда одного последовательного порта просто недостаточно.
  • Two Port Receive - Как работать с несколькими портами типа Software Serial.

Библиотека Stepper

  • Motor Knob – Управление очень точным шаговым мотором при помощи потенциометра
  • Stepper One Revolution – Поворот вала на один оборот по часовой стрелке и на один оборот против часовой стрелки
  • Stepper One Step At A Time – Пошаговый поворот вала для проверки того, правильно ли подключен мотор
  • Stepper Speed Control – Управление скоростью «шагов» при помощи потенциометра

Библиотека TFT

Esplora

  • Esplora TFT Bitmap Logo - Считываем файл-картинку с карты micro-SD, а затем показываем ее в случайных местах экрана.
  • Esplora TFT Color Picker - При помощи джойстика и слайдера меняем фоновый цвет TFT-экрана.
  • Esplora TFT Etch a Sketch - Esplora-вариация на тему классической игрушки «Волшебный экран».
  • Esplora TFT Graph - Графическое отображение на TFT-экране значений от светового датчика.
  • Esplora TFT Horizon - Отображение на TFT-экране «линии горизонта», чье положение зависит от наклона акселерометра.
  • Esplora TFT Pong - Упрощенная вариация на тему игры Pong.
  • Esplora TFT Temperature - Проверка температуры при помощи встроенного сенсора, а затем ее отображение на TFT-экране.

Arduino

  • TFT Bitmap Logo - Считываем с карты micro-SD файл-картинку ,а затем отображаем ее в случайных местах экрана.
  • TFT Display Text - Считываем значение датчика, а затем выводим его на экран.
  • TFT Pong - Упрощенная вариация на тему игры Pong.
  • TFT Etch a Sketch - Arduino-вариация классической игрушки «Волшебный экран».
  • TFT Color Picker - Изменение фонового цвета TFT-экрана при помощи трех датчиков.
  • TFT Graph - Графическое отображение на TFT-экране значений от переменного резистора.

Библиотека Wire

  • SFRRanger Reader - При помощи I2C-коммуникации считывает данные с ультразвукового дальномера Devantech SRFxx.
  • Digital Potentiometer - Управление цифровым потенциометром AD5171 при помощи библиотеки Wire.
  • Master Reader - Настройка двух (или более) плат Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата считывает / ведомая плата отсылает».
  • Master Writer - Настройка двух (или более) плат Arduino таким образом, чтобы они делились информацией по принципу «ведущая плата отсылает / ведомая плата считывает».

Библиотека WiFi

  • Connect No Encryption - Демонстрирует, как подключаться к открытой сети.
  • Connect With WEP - Демонстрирует, как подключаться к WEP-зашифрованной сети.
  • Connect With WPA - Демонстрирует, как подключаться к сети, зашифрованной через WPA2 Personal.
  • Scan Networks - Показывает все доступные WiFi-сети.
  • WiFi Chat Server - Настраиваем простой чат-сервер.
  • WiFi Web Client - Подключаемся к удаленному веб-серверу.
  • WiFi Web Client Repeating - Делаем повторяющиеся HTTP-запросы на сервер.
  • WiFi Web Server - Настраиваем Arduino и WiFi Shield, чтобы они служили веб-сервером с веб-страницей.
  • WiFi Send Receive UDP String – Отправка и получение текстовых строк через UDP при помощи WiFi-модуля
  • WiFi Udp NTP Client – Создание при помощи WiFi-модуля клиента, запрашивающего время через NTP

Только для Arduino 101

Библиотека CurieBLE

Библиотека Curie IMU

Библиотека Curie Timer One

  • Curie Timer One Interrupt – Устанавливает таймер и запускает прерывание
  • Curie Timer One PWM – Генерация ШИМ-сигнала на цифровом контакте (полное управление всеми параметрами)

Только для Arduino Due

Библиотека Audio

Библиотека Scheduler

  • MultipleBlinks – Мигание несколькими светодиодами, выполняемое в их собственных loop-функциях.

Только для Arduino Due, Zero и MKR1000

Библиотека USBHost

  • MouseController – Скетч, демонстрирующий работу функций MouseController
  • KeyboardController – Скетч, демонстрирующий работу функций KeyboardController

Только для Arduino Zero и MKR1000

Библиотека Audio Frequency Meter Library

Библиотека AudioZero

Библиотеки RTC

  • Simple RTC - Простые часы реального времени (RTC)
  • Simple RTC Alarm - Простой будильник для часов реального времени (RTC)
  • Sleep RTC Alarm - RTC-будильник, выводящий плату из спящего режима

Только для WiFi 101 и MKR1000

  • wifi101ConnectNoEncryption – Демонстрирует, как подключиться к открытой сети.
  • wifi101ConnectWithWEP – Демонстрирует, как подключаться к WEP-зашифрованной сети. wifi101ConnectWithWPA – Демонстрирует, как подключаться к сети, зашифрованной через WPA2 Personal.
  • wifi101ConnectWithWPA - Демонстрирует, как подключаться к WPA2 Personal - зашифрованной сети.
  • wifi101ScanNetworks – Показывает все доступные WiFi-сети.
  • wifi101WiFiChatServer – Настройка простого чат-сервера.
  • wifi101WiFiWebClient – Подключение к удаленному веб-серверу.
  • wifi101WiFiWebClientRepeating – Генерация повторяющихся HTTP-запросов на сервер.
  • wifi101WiFiWebServer – Настройка Arduino и WiFi-модуля, чтобы они служили веб-сервером с веб-страницей.
  • Wifi101WiFiUdpSendReceiveString – Отправка и получение текстовых строк через UDP при помощи WiFi-модуля
  • wifi101UdpNTPClient – Демонстрирует, как при помощи WiFi-модуля создать клиент, запрашивающий время через NTP

Библиотека CmdMessenger

  • Receive – Настройка PC-переключателя для светодиода, встроенного в Arduino.
  • SendandReceive – Расширенная версия Receive. Теперь Arduino отсылает обратно статус.
  • SendandReceiveArguments – Расширенная версия SendandReceive. Теперь Arduino получает и отправляет множество float-значений.
  • SendandReceiveBinaryArguments – Расширенная версия SendandReceiveArguments. Теперь Arduino принимает и отсылает множество двоичных значений, тем самым демонстрируя более эффективный способ коммуникации
  • DataLogging – Расширенная версия SendandReceiveBinaryArguments. Теперь при перемещении ползунка PC будет отправлять команды на Arduino.
  • ArduinoController – Расширенная версия Receive. Теперь Arduino отправляет обратно статус.
  • SimpleWatchdog – Демонстрирует настройку автоматического подключения между PC и Arduino.
  • TemperatureControl – Расширенная версия ArduinoController. Демонстрирует, как создать адаптивный интерфейс (в данном случае для отображения температурных данных).
  • ConsoleShell – Демонстрирует, как использовать ConsoleShell в качестве оболочки и коммуницировать с нею при помощи консоли. Этот пример отличается от других тем, что для него нет PC-кода.

Библиотека OneWire

  • DS18x20 Temperature - Этот пример демонстрирует, как при помощи библиотеки OneWire считывать данные с температурных датчиков типа 1-Wire. Поддерживаются модели DS18S20, DS18B20 и DS1822.
  • DS2408 Switch - Этот пример показывает, как при помощи библиотеки OneWire работать с PIO-чипом DS2048.
  • DS250x PROM - Этот пример показывает, как считывать данные с PROM-чипа семейства DS250x.

Библиотека PS2Keyboard

Библиотека SimpleMessageSystem

Библиотека SSerial2Mobile

Библиотека Webduino

  • Web AjaxBuzzer - Управление зуммером через браузерный интерфейс (AJAX)
  • Web AjaxRGB - Управление RGB-светодиодом через браузерный интерфейс
  • Web AjaxRGB mobile - Управление RGB-светодиодом при помощи смартфона
  • Web Authentication - HTTP-аутентификация
  • Web Buzzer - Управление зуммером через браузерный интерфейс
  • Web Demo - Запрос значений на контактах через браузерный интерфейс
  • Web HelloWorld - Показ в браузере надписи «Hello, World!»
  • Web Image - Показ в браузере иконки со светодиодом
  • Web Net Setup - Браузерный интерфейс для настройки сети
  • Web Parms - Передача и анализ параметров

Библиотека X10

  • x10Blink - Мигание лампочкой
  • x10Fade - Управление яркостью лампочки
  • x10Multi - Включение/выключение нескольких лампочек

Библиотека XBee

  • AtCommand - Отправка AT-запросов к XBee-модулю
  • Echo Callbacks - Прослушка входящих пакетов и отправка идентичных ответов
  • RemoteAtCommand - Отправка AT-команд на удаленный XBee-модуль
  • Series1 IoSamples - Получение данных от удаленного XBee-модуля
  • Series1 Rx - Получение пакетов и преобразование в ШИМ-сигнал
  • Series1 Tx - Отправка пакетов
  • Series2 IoSamples - Получение данных от удаленного XBee-модуля (Series 2)
  • Series2 Rx - Получение пакетов и преобразование в ШИМ-сигнал (Series 2)
  • Series2 Rx Nss - Получение и отображение пакетов (Series 2)
  • Series2 Sleep - Введение и выведение XBee-модуля из режима ожидания
  • Series2 Tx - Отправка пакетов (Series 2)
  • ZdpScan - Поиск узлов в XBee-сети

Библиотека CapacitiveSensing

Библиотека Bounce

  • Bounce - Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)
  • Bounce2Buttons - Устранение дребезга при нажатии на кнопку (вариант с двумя кнопками)
  • Change - Определение перехода из HIGH в LOW
  • Duration - Определение продолжительности нажатия на кнопку
  • Retrigger - Перезапуск события

Библиотека GLCD

  • BigNums - Использование текстовых областей
  • clockFace - Аналоговые часы
  • GLCDdemo - Пример работы нескольких графических функций
  • GLCDdiags - Тест памяти и интерфейса GLCD-модуля
  • HelloWorld - «Привет, мир!»
  • ks0108example - Пример работы нескольких графических функций (версия для ks0108)
  • life - Игра «Жизнь»
  • Rocket - Игра «Ракета»
  • Serial2GLCD - Показ символов, введенных через монитор порта
  • GLCD BigDemo - Большое демо

Библиотека LedControl

Библиотека LedDisplay

Библиотека Matrix

Библиотека PCD8544

Библиотека ST7735

  • graphicstest - Графический тест
  • rotationtest - Тест функций вращения
  • shieldtest - Перемещение картинки на TFT-дисплее (при помощи джойстика)
  • soft spitftbitmap - Вывод изображения на 1,8-дюймовый TFT-дисплей
  • spitftbitmap - Вывод изображения на 1,8-дюймовый или 1,44-дюймовый TFT-дисплей

Библиотека FFT

  • fft adc - Применение БПФ на данных от АЦП и отправка результата посредством write()
  • fft adc serial - Применение БПФ на данных от АЦП и отправка результата посредством println()
  • fft codec - Применение БПФ на данных от модуля Codec Shield

Библиотека Tone

  • DTMFTest - Тональный сигнал
  • RTTTL - RTTTL
  • ToneTest - Одновременное проигрывание нот

Библиотека TLC5940

Библиотека Time

  • TimeArduinoDue - Синхронизация времени с помощью RTC (для Arduino Due)
  • TimeGPS - Синхронизация времени с помощью GPS
  • TimeNTP - Синхронизация времени с помощью NTP-сервера
  • TimeNTP ESP8266WiFi - Синхронизация времени с помощью NTP-сервера и WiFi
  • TimeRTC - Синхронизация времени с помощью RTC (для остальных Arduino)
  • TimeRTCLog - Учет изменений состояний на контактах с помощью RTC
  • TimeRTCSet - Установка RTC-времени
  • TimeSerial - Настройка библиотеки Time при помощи последовательного порта
  • TimeSerialDateStrings - Настройка библиотеки Time при помощи последовательного порта (со строковыми сообщениями)
  • TimeTeensy3 - Синхронизация времени с помощью RTC на Teensy

Библиотека Metro

  • blinking - Периодическое мигание светодиодом
  • blinking 2 instances - Периодическое мигание двумя светодиодами
  • blinking 2 intervals - Мигание светодиодом с использованием двух периодичностей
  • serialInterval - Периодическая отправка сообщений по последовательному порту

Библиотека MsTimer2

  • FlashLed - Периодическое включение и выключение светодиода

Библиотека FlexiTimer2

Библиотека PString

Библиотека Streaming