Домой Разное Учебный курс «Arduino для начинающих»

Учебный курс «Arduino для начинающих»

0

Краткие сведения об Arduino

Что такое Arduino?

Arduino (Ардуино) — платформа аппаратной обработки, основными компонентами которой являются плата ввода-вывода и среда разработки. Arduino можно использовать как для создания автономных интерактивных объектов, так и для подключения к программному обеспечению, запущенному на компьютере. Arduino, как и Raspberry Pi, является одноплатным компьютером.

Быстрый старт с Arduino

Во-первых, давайте разберемся, что и что мы собираемся делать. Что такое Ардуино и как им пользоваться? Если вы уже знакомы с предметом, можете смело пропустить его. Если нет, давайте вместе сделаем небольшое погружение.

Ардуино – это…

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

Arduino — это мост из мира виртуальных компьютеров в мир реальных вещей и устройств. Написав программу на обычном компьютере, мы используем ее для управления не виртуальными объектами, а вполне реальными датчиками, моторами, экранами. Мы меняем мир вокруг нас, просто программируя на компьютере, используя бесплатное программное обеспечение и множество библиотек готовых примеров.

Создатели Arduino
Основателем Arduino считается преподаватель института IDII итальянского города Ивреа Массимо Банци, который попытался создать удобную платформу для обучения студентов программированию. Выбрав готовый микроконтроллер ATMEGA, он просто добавил на плату необходимую разводку для удобной работы. Большая команда инженеров-электронщиков и разработчиков программного обеспечения, объединившаяся, смогла создать продукт, который оказался очень востребованным на рынке и быстро завоевал популярность. Вы можете узнать больше об Arduino здесь и здесь.

Свое название технология получила, как это часто бывает, почти случайно. Источником вдохновения стало кафе, где будущие создатели Arduino любили выпить чашку чая. Название заведения таково: Ардуино, от имени главной исторической фигуры города Ивреа, короля Ардуино. Король не оставил блестящих следов в истории и был известен как неудачник, но благодаря команде разработчиков новой платформы он приобрел новую популярность и теперь известен миллионам людей по всему миру.

Почему Ардуино?

Прелесть Arduino заключается в следующих простых преимуществах:

  1. Простота. Да-да — просто простота (хотя Лего и другие игрушки, несомненно, более привычны, но мы с ними не сравниваем). Для молодых разработчиков электроники Arduino «скрывает» огромное количество разнообразных технических проблем. Многие довольно сложные проекты можно создать очень быстро, не вдаваясь в подробности. А это для ребенка очень важно: не терять интерес до первого результата, полученного своими руками.
  2. Популярность. Arduino чрезвычайно популярен, вы легко можете найти ответы на любой вопрос на многочисленных форумах или сайтах. Сообщество Arduino обширно и дружелюбно — существует относительно немного инженеров-снобов, которые прожили всю жизнь и полны любителей и новичков, которые рады поделиться своей радостью от того, что они нашли и узнали. Это, конечно, накладывает отпечаток на качество рекомендаций, но обычно даже самые сложные проблемы можно быстро решить с помощью форумов и веб-сайтов.
  3. Доступность. И сама технология, и почти все программное обеспечение выпускаются под открытыми лицензиями, и вы можете свободно использовать чужие разработки, библиотеки, схемы и во многих случаях даже для коммерческого использования. Это экономит много времени и позволяет добиться больших успехов, опираясь на опыт предыдущих исследователей.
  4. Экономика. Комплект для первых занятий электроникой и программированием можно приобрести менее чем за 500 рублей. Полноценные курсы робототехники возможны при покупке оборудования за 3-5 тысяч рублей. Никакая другая технология не позволит вам так быстро и эффективно войти в мир настоящей образовательной робототехники.

С чего начать?

Если вы хотите заниматься робототехникой на Arduino, то вам понадобится этот джентльменский комплект:

  1. Плата Arduino с USB-кабелем для подключения к компьютеру.
  2. Разделочная доска и провода.
  3. Набор основных электронных компонентов и адаптер для батареи кроны.
  4. Среда программирования Arduino IDE, установленная на компьютере

В дальнейшем, если занятия действительно увлекут и появится желание продолжить эксперименты, список экипировки будет расширяться:

  1. Датчики
  2. Экраны и индикаторы.
  3. Двигатели и сервоприводы, реле и драйверы для двигателей.
  4. Коммуникационные модули.
  5. Различные дополнительные модули и карты расширения (экраны)

Если первые шаги будут успешными, со временем вы узнаете половину людей в очереди почтового отделения (если вы их еще не знаете), а почтальоны узнают вас в лицо и нервно перебегут через улицу.

Как купить Ардуино?

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

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

Небольшой и очень доступный стартовый набор, в котором есть все необходимое для ваших первых проектов

Стартовый комплект высочайшего качества от известного производителя Keyestudio

Классического стартового набора Arduino, достаточного для десятков разных проектов

Расширенный стартовый комплект Robotlinking с Arduino UNO и Mega2560. Инструкции и практический бокс

Простой комплект с макетной платой, светодиодами, резисторами и кабелями для подключения

Фантастический комплект для быстрого прототипирования с удобными разъемами RJ11 — справится даже ребенок!

Если вы все же хотите купить плату Arduino отдельно, вот несколько интересных ссылок:

Качественная плата Arduino UNO R3 на CH340G. Комплект без кабеля с минимальной ценой около 220 руб

Плата MegaPower Uno на базе оригинального ATmega328 R3, FTDI FT232RL

Отличный вариант от KeyeStudio: UNO R3 MEGA328P ATMEGA16U2 с комбинированным Sensor Shield

Полезные советы по выбору стола можно найти в Интернете (не только на нашем сайте). Если вы живете в большом городе, покупка всего необходимого займет до двух дней. Найти нужный магазин в Интернете просто. Что ж, еще один совет. Подходящие варианты вы найдете сами на aliexpress: ищите их по слову «стартовый комплект».

Как отличить оригинал от подделки?

Несколько слов о платах Arduino. Сегодня они могут быть изготовлены на полностью легальных условиях любым производителем — как крупным, вроде Intel, так и мелкими поставщиками noname из Китая. Надежность и доступность «китайской» и «официальной» плат Arduino в большинстве случаев одинаковы. Поэтому переплачивать не нужно — для своих образовательных проектов можно смело покупать аналоги, которые легко найти в Интернете.
Варианты Arduino
Как отличить «оригинальную» от «совместимой карты»:

  1. «Китайские» платы не могут вставить логотип Arduino.
  2. «Китайские» карты намного дешевле.
  3. «Китайцы» часто используют другую микросхему для поддержания связи с компьютером, для чего требуются специальные драйверы. Драйвера устанавливаются за секунду и почти не вызывают проблем.

Еще раз подчеркиваем, что использование неоригинальных табличек полностью законно. Arduino — это открытая архитектура, и разработчики дают каждому возможность создать свою собственную версию платы.

Как купить Arduino?

Плата и многие детали Arduino производятся в Италии, поэтому оригинальные компоненты довольно дороги. Но есть отдельные комплектующие производителя или комплекты, так называемые китовые комплекты, которые производятся по итальянской аналогии, но по более доступным ценам.

можно купить аналог внутри страны или, например, заказать из Китая. Например, многие люди знакомы с сайтом Aliexpress. Но тем, кто начинает знакомство с Arduino, лучше всего заказать свою первую плату в российском интернет-магазине. Со временем можно будет перейти к закупке плат и компонентов в Китае. Сроки доставки из этой страны будут колебаться от двух недель до месяца, а например, стоимость большого комплекта не превысит 60-70 долларов.

Стандартные комплекты обычно включают в себя следующие детали:

  • макетная доска;
  • вЕЛ;
  • резисторы;
  • аккумуляторы 9В;
  • регуляторы напряжения;
  • пуговицы;
  • перемычки;
  • матричная клавиатура;
  • карты расширения;
  • конденсаторы.

Функции программ

Ниже приведен список наиболее часто используемых функций в программировании Arduino:

  • pinMode — установить пин для входа или выхода из режима;
  • analogRead — считывает аналоговое напряжение на выводе аналогового входа;
  • analogWrite — записывает аналоговое напряжение на вывод аналогового выхода;
  • digitalRead — считывает значение пина цифрового входа;
  • digitalWrite — установить высокое или низкое значение вывода цифрового выхода;
  • Serial.print — записывает данные в последовательный порт в виде удобочитаемого текста ASCII.

Макетная плата Breadbord

Вы можете создавать простые и сложные устройства. Для удобства рекомендую приобрести макетную плату и перемычки. С их помощью нет необходимости паять и перепаять кабели, модули, кнопки и датчики для разных проектов и отладки. С макетной платой без пайки разработка становится проще, удобнее и быстрее. В этом уроке я рассказал вам, как работать с макетной платой. Вот список беспаечных макетов:

Плата для разработки на 800 точек с 2 линиями электропередач, силовой платой и кабелями: Купить
Большая плата разработки с разрешением 1600 точек и 4 линиями электропередач: Купить
Доска для разработки на 800 точек с 2 линиями электропередач: Купить
Доска для разработки на 400 точек с 2 линиями питания: Купить
Разделочная доска 170 точек: Купить
Соединительные кабели 120 шт: Купить

USB кабель

Большинство плат Arduino подключаются к компьютеру через USB-кабель. Это соединение позволяет загружать эскизы на плату Arduino, а также обеспечивает питание платы.

uSB-кабель
USB-кабель для Arduino

Этапы настройки Arduino

  1. Сначала установите IDE. Вы можете скачать IDE с веб-сайта Arduino. сайт arduino
  2. Установите программное обеспечение на свой компьютер.
  3. Теперь запустите файл .exe Arduino IDE. IDE выглядит так: arduino ide
  4. Напишите свою программу в редакторе кода и загрузите ее в Arduino. Для этого вам необходимо подключить Arduino к компьютеру через USB-кабель. подключение arduino
  5. В среде IDE выберите тип используемой Arduino в меню «Инструменты» → «Платы).
  6. Теперь проверьте свой код, щелкнув значок флажка в верхней части окна IDE, затем щелкните значок со стрелкой вправо рядом, чтобы скомпилировать и загрузить код в Arduino.

Примечание. Возможно, потребуется установить драйверы, если система не обнаруживает Arduino.

Как настроить Ардуино?

Одним из главных преимуществ производителя является его безопасность по отношению к пользовательским настройкам. Потенциально опасные ключевые настройки для Arduino защищены и не будут доступны.

Поэтому даже неопытный программист может смело экспериментировать и менять различные варианты, добиваясь желаемого результата. Но на всякий случай настоятельно рекомендуем прочитать три важных материала о том, как не испортить классную доску:

  • Как защитить Arduino и другие платы от кривых рук
  • 10 способов убить микроконтроллер Arduino
  • Как безопасно подключить к микроконтроллеру внешние устройства?

Алгоритм классической настройки программы Arduino выглядит так:

  • установка IDE, которую можно скачать ниже, здесь или с сайта производителя;
  • установка программного обеспечения на ваш компьютер;
  • запустить файл Arduino;
  • вставить разработанную программу в окно кода и перенести ее на плату (по USB-кабелю);
  • в разделе IDE необходимо выбрать тип используемого конструктора. Это можно сделать в окне «Инструменты» — «Вкладки»;
  • проверьте код и нажмите «Далее», после чего начнется загрузка на Arduino.
1.8.7 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.6 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.5 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.4 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.3 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.2 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.1 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.8.0 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.13 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.12 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.11 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.10 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.9 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Linux ARM
Код на Github
1.6.8 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.7 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.6 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.5 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.4 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.3 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.2 Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.6.1 Окна
Установщик Windows
MAC OS X
MAC OS X Java 7+
Linux 32 бит
Linux 64 бит
Код на Github
1.6.0 Окна
Установщик Windows
MAC OS X
MAC OS X Java 7
Linux 32 бит
Linux 64 бит
Код на Github
1.5.8 БЕТА Окна
Установщик Windows
MAC OS X
MAC OS X Java 7
Linux 32 бит
Linux 64 бит
Код на Github
1.5.7 БЕТА Окна
Установщик Windows
MAC OS X
MAC OS X Java 7
Linux 32 бит
Linux 64 бит
Код на Github
1.5.6-r2 БЕТА Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5.5 БЕТА Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5.4 БЕТА Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5.3 БЕТА Окна
Установщик Windows
MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5.2 БЕТА Окна MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5.1 БЕТА Окна MAC OS X Linux 32 бит
Linux 64 бит
Код на Github
1.5 БЕТА Окна MAC OS X Linux 32 бит
Linux 64 бит
Код на Github

Программное обеспечение (IDE)

Программное обеспечение, используемое для программирования Arduino, — это Arduino IDE. IDE — это приложение Java, которое работает на многих различных платформах, включая ПК, Mac и системы Linux. Он предназначен для новичков, не знакомых с программированием. Он включает в себя редактор, компилятор и загрузчик. В IDE также включены библиотеки кода для использования периферийных устройств, таких как последовательные порты и различные типы дисплеев. Программы Arduino называются «эскизами» и написаны на языке, очень похожем на C или C++.

ЗАМЕТКИ АРДУИНЩИКА

Приложение. Готовые каркасы и роботы Arduino

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

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

Обзор готовых роботов Arduino.

Очередной обзор готового робота Arduino.

Другой вариант — купить раму или корпус робота — колесную платформу или гусеницу, гуманоида, паука и т.д. В этом случае наполнение робота вам придется проводить самостоятельно.

Обзор фреймворков для роботов Arduino и других плат.

Библиотеки Arduino

Библиотеки Arduino — это набор функций, которые позволяют управлять устройствами. Некоторые из наиболее часто используемых библиотек:

  • EEPROM — чтение и запись в постоянную «память;
  • Ethernet — для подключения к Интернету через плату Arduino Ethernet Shield;
  • Подписанный — для связи с приложениями на компьютере по стандартному последовательному протоколу;
  • GSM — для подключения к сети GSM / GRPS через карту GSM;
  • LiquidCrystal — для управления жидкокристаллическими дисплеями (LCD);
  • SD — для чтения и записи SD-карт;
  • Сервопривод — для управления сервоприводами;
  • SPI — для связи с устройствами, использующими шину SPI;
  • SoftwareSerial — для последовательной связи через любой цифровой вывод;
  • Stepper — для управления шаговыми двигателями;
  • TFT — для рисования текста, изображений и фигур на TFT-экранах Arduino;
  • WiFi — для подключения к Интернету с помощью платы Arduino WiFi Shield;
  • Wire — это двухпроводной интерфейс (TWI / I2C) для передачи и приема данных через сеть устройств или датчиков.

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

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

Для программирования Arduino используется упрощенная версия языка C ++ с предопределенными функциями. Как и в других языках программирования Type-C, существует ряд правил написания кода. Вот самые основные:

  • После каждого оператора должна стоять точка с запятой (;)
  • Перед объявлением функции необходимо указать тип данных, возвращаемый функцией, или void, если функция не возвращает значение.
  • вы также должны указать тип данных перед объявлением переменной.
  • Комментарии обозначаются: // Inline и / * Block */

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

Все прошивки для Arduino должны содержать как минимум 2 функции. Это setup () и loop().

Функция setup

Функция setup () выполняется вначале и только один раз сразу после включения или перезапуска устройства. Обычно эта функция объявляет режимы контактов, открывает необходимые протоколы связи, устанавливает соединения с дополнительными модулями и настраивает подключенные библиотеки. Если с прошивкой ничего подобного делать не нужно, функцию все равно нужно заявить. Вот стандартный пример функции setup():

void setup () {Serial.begin (9600); // Открываем последовательное соединение pinMode (9, INPUT); // Назначить вывод 9 как вход pinMode (13, OUTPUT); // Назначаем вывод 13 как выход }

В этом примере просто открывается последовательный порт для связи с компьютером и назначаются контакты 9 и 13 для ввода-вывода. Ничего сложного. Но если вы ничего не понимаете, вы всегда можете задать вопрос в комментариях ниже.

Функция loop

Функция loop () выполняется после функции setup (). Loop в переводе с английского означает «петля». Это указывает на то, что функция находится в цикле, то есть она будет выполняться снова и снова. Например, микроконтроллер ATmega328, присутствующий в большинстве плат Arduino, будет выполнять функцию цикла примерно 10 000 раз в секунду (если не задействованы задержки и сложные вычисления). Благодаря этому у нас есть большие возможности.

Платы расширения Arduino

Платы расширения Arduino (Arduino Shields) — это платы, которые подключаются к Arduino, чтобы дать вам возможность подключать периферийные устройства, датчики и блоки к Arduino. Ниже приведен список некоторых популярных карт расширения:

  • GSM щит;
  • Экран Ethernet;
  • Экран Wi-Fi;
  • Щит двигателя;
  • Прото щит;
  • Щиток джойстика;
  • Щит Bluetooth;
  • Xbee щит.

ШИМ Arduino

Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением с использованием рабочего цикла сигнала. То есть с помощью ШИМ мы можем плавно управлять нагрузкой. Например, вы можете легко изменить яркость светодиода, но это изменение яркости достигается не за счет уменьшения напряжения, а за счет увеличения диапазонов слабого сигнала. Принцип работы ШИМ показан на этой схеме:

ШИМ arduino
ШИМ arduino

Когда мы применяем ШИМ к светодиоду, он начинает быстро включаться и выключаться. Человеческий глаз не может его увидеть, потому что частота слишком высока. Но при съемке на видео вы, скорее всего, увидите моменты, когда светодиод не горит. Это будет происходить до тех пор, пока частота кадров камеры не кратна частоте ШИМ.

Arduino имеет встроенный широтно-импульсный модулятор. ШИМ можно использовать только на тех выводах, которые поддерживает микроконтроллер. Например, у Arduino Uno и Nano по 6 выводов ШИМ — это выводы D3, D5, D6, D9, D10 и D11. На других картах могут быть другие булавки. В этом разделе вы найдете описание интересующей вас карты.

Для использования ШИМ в Arduino есть функция analogWrite (). В качестве аргументов он принимает номер вывода и значение ШИМ от 0 до 255. 0 — это высокий уровень заполнения 0%, а 255 — 100%. Напишем для примера простой скетч. Давайте сделаем так, чтобы светодиод загорелся мягко, подождем секунду и так же мягко погаснет, и так до бесконечности. Вот пример использования этой функции:

// Светодиод подключен к выводу 11 int ledPin = 11; void setup () {pinMode (ledPin, ВЫХОД); } void loop () {for (int я = 0; я <255; я ++) {analogWrite (ledPin, я); задержка (5); } задержка (1000); для (int i = 255; i> 0; i--) {analogWrite (ledPin, i); задержка (5); } }

И всё же

Arduino — это эмоция: вы можете использовать код для управления физическим миром, двигателями, лампами и электрическими деталями. Вы можете создать умный захват; для сейфа можно установить умный замок; вы можете создать датчик влажности почвы, который будет включать автоматический полив. И все это — на довольно понятном, читаемом и компактном языке C ++, который по-прежнему поставляется с удобной аппаратной библиотекой наверху. Отличный способ провести выходные.

Первый проект на Arduino

Соберем первое устройство на базе Arduino. Мы просто подключим сенсорный переключатель и светодиод к Arduino. Схема проекта выглядит так:

Регулировка яркости светодиода
Регулировка яркости светодиода

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

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

// переменные с выводами подключенных устройств int switchPin = 8; int ledPin = 11; // переменные для хранения состояния кнопки и логического светодиода lastButton = LOW; логическое currentButton = LOW; ledOn boolean = false; void setup () {pinMode (switchPin, ВХОД); pinMode (ledPin, ВЫХОД); } // функция для подавления булевского debounse (логическое последнее) {логическое current = digitalRead (switchPin); если (последний! = текущий) {задержка (5); ток = digitalRead (switchPin); } возвращает текущий; } недействительный цикл () {currentButton = debounse (lastButton); if (lastButton == LOW && currentButton == HIGH) {ledOn =! ledOn; } lastButton = currentButton; digitalWrite (ledPin, ledOn); }