Руководство по Arduino — Начало работы для начинающих

Arduino — это платформа для создания прототипов электроники с открытым исходным кодом, одна из самых популярных в мире, за исключением, возможно, Raspberry Pi.

, Продав более 3 миллионов единиц (и еще больше в виде устройств-клонов сторонних производителей): что делает его таким хорошим и что можно сделать с ним?

Что такое Arduino?

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

Arduino

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

Проекты Arduino могут быть автономными или взаимодействовать с программным обеспечением, работающим на компьютере (для этого наиболее популярным является обработка). Они могут поговорить с другими Arduinos, Малиновый Пис

, NodeMCU

или почти что-нибудь еще. Обязательно прочтите наше сравнение микроконтроллеров за 5 долларов

для тщательного сравнения различий между этими микроконтроллерами.

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

В дополнение к простоте Arduino, это также недорогой, кроссплатформенный и с открытым исходным кодом. Arduino Uno (самая популярная модель) основана на микроконтроллерах Atmel ATMEGA 16U2. Выпускается много разных моделей, которые различаются по размеру, мощности и техническим характеристикам, поэтому посмотрите наше руководство по покупке.

для всех различий.

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

Что вы можете сделать с Arduino?

Arduino может сделать ошеломляющее количество вещей. Они — мозг выбора для большинства 3D-принтеров.

, Их низкая стоимость и простота использования означают, что тысячи производителей, дизайнеров, хакеров и создателей сделали удивительные проекты. Вот только некоторые из проектов Arduino, которые мы сделали здесь в MakeUseOf:

  • Пользовательские кнопки быстрого доступа
  • Электронный D20 Die
  • Лазерная Башенка
  • Midi Controller
  • Ретро-игры с OLED-дисплеем
  • Контроллер светофора

Что внутри Arduino?

Хотя существует много различных типов плат Arduino, это руководство фокусируется на Arduino Uno модель. Это самая популярная доска Arduino. Так что же делает эту штуку галочкой? Вот технические характеристики:

  • Процессор: 16 МГц ATmega16U2
  • Флэш-память: 32KB
  • Баран: 2KB
  • Рабочее напряжение: 5V
  • Входное напряжение: 7-12V
  • Количество аналоговых входов: 6
  • Количество цифровых входов / выходов: 14 (из них 6 широтно-импульсной модуляции — PWM)

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

Еще одна замечательная особенность Arduino — это возможность использовать так называемые «щиты» или надстройки. Хотя щиты не будут рассмотрены в этом руководстве, они являются действительно изящным способом расширить возможности и функциональность вашего Arduino.

,

Что вам нужно для этого руководства

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

вместо.

  • 1 х Arduino Uno
  • 1 х USB A-B кабель (так же, как ваш принтер)
  • 1 х макет
  • 2 х светодиодов
  • 1 х фото резистор
  • 1 х тактильный переключатель
  • 1 х пьезо-динамик
  • 1 х 220 Ом резистор
  • 1 х 10 кОм резистор
  • 1 х 1 кОм резистор
  • 1 х комплект проволочной перемычки

Если вы не можете получить конкретное значение резистора, то как можно более близкое будет нормально работать.

Обзор электрических компонентов

Давайте посмотрим, что именно представляют собой все эти компоненты, что они делают и как они выглядят.

макетировать

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

макетировать

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

светодиоды

Светодиод означает Светоизлучающий диод. Они являются очень дешевым источником света и могут быть очень яркими, особенно когда они сгруппированы вместе. Они могут быть приобретены в различных цветах, не очень жарко, и длятся долго. У вас могут быть светодиоды на телевизоре, приборной панели автомобиля или лампах Philips Hue.

светодиоды

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

Фото резистор

Фото резистор (пhotocell или же Светозависимый резистор) позволяет вашему Arduino измерять изменения в свете. Вы можете использовать это, например, для включения компьютера в дневное время.

Фото резисторы

Тактильный переключатель

Тактильный переключатель — это в основном кнопка. Нажатие на него завершит цепь и (обычно) изменится с 0 В до + 5 В. Arduinos может обнаружить это изменение и ответить соответствующим образом. Они часто кратковременны — это означает, что они «нажимаются» только тогда, когда их держит палец. После того, как вы отпустите, они вернутся в состояние по умолчанию («не нажата» или выключена).

Тактильный переключатель

Пьезо-динамик

Пьезо-динамик — это крошечный динамик, который издает звук от электрических сигналов. Они часто резкие и жестяные, и звучат совсем не так, как настоящий оратор. Тем не менее, они очень дешевые, и их легко программировать. Наша игра Buzz Wire использует одну из них, чтобы сыграть тему песни «Летучий цирк» Монти Пайтона.

Piezo

резистор

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

Резисторы

Проволочные перемычки

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

Проволочные перемычки

Настройка вашего Arduino

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

Установка программного пакета Arduino в Windows

Зайдите на сайт Arduino и загрузите версию программного обеспечения Arduino, подходящую для вашей версии Windows. После загрузки следуйте инструкциям по установке Arduino Интегрированная среда развития (IDE),.

Программа установки Windows

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

  • Подключите свою плату и подождите, пока Windows начнет процесс установки драйвера. Через несколько секунд процесс не удастся, несмотря на все усилия.
  • Нажмите на Стартовое меню > Панель управления.
  • Перейдите к Система и безопасность > система. Когда окно системы открылось, откройте Диспетчер устройств.
  • Под Порты (COM LPT), вы должны увидеть открытый порт с именем Arduino UNO (COMxx).
  • Щелкните правой кнопкой мыши на Arduino UNO (COMxx) > Обновление программного обеспечения драйвера.
  • выберите Просмотрите мой компьютер для программного обеспечения драйвера.
  • Найдите и выберите файл драйвера Uno с именем ArduinoUNO.inf, расположенный в Драйверы папка загрузки программного обеспечения Arduino.

Программа установки Windows

Оттуда Windows завершит установку драйвера.

Установка программного пакета Arduino на Mac OS

Загрузите программное обеспечение Arduino для Mac с веб-сайта Arduino. Извлеките содержимое .застежка-молния файл и запустите приложение. Вы можете скопировать его в папку с приложениями, но он будет отлично работать с вашего рабочий стол или же загрузок папки. Вам не нужно устанавливать никаких дополнительных драйверов для Arduino UNO.

Настройка Mac

Установка программного обеспечения Arduino в пакете Ubuntu / Linux

устанавливать НКА-АРН а также АРН-Libc:

sudo apt-get install gcc-avr avr-libc

Если у вас еще нет openjdk-6-jre, установите и настройте его тоже:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Выберите правильный JRE если у вас установлено более одного.

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

tar xzvf arduino-x.x.x-linux64.tgz
CD Arduino-1.0.1
./ Arduino

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

Запуск программного обеспечения Arduino

Теперь, когда программное обеспечение установлено и ваш Arduino настроен, давайте проверим, что все работает. Самый простой способ сделать это — использовать пример приложения «Blink».

Откройте программное обеспечение Arduino, дважды щелкнув приложение Arduino (./ Arduino на Linux). Убедитесь, что плата подключена к вашему компьютеру, и откройте Светодиод мигает пример эскиза: файл > Примеры > 1.Basics > мерцать. Вы должны увидеть код для открытого приложения:

Ардуино Блинк

Чтобы загрузить этот код на свой Arduino, выберите запись в инструменты > доска меню, соответствующее вашей модели — Arduino Uno в этом случае.

Arduino Board

Выберите последовательное устройство вашей платы из инструменты > Последовательный порт меню. В Windows это может быть COM3 или выше. На Mac или Linux это должно быть что-то с /dev/tty.usbmodem в этом.

Порт Ардуино

Наконец, нажмите Загрузить кнопка в левом верхнем углу вашей среды. Подождите несколько секунд, и вы должны увидеть RX а также Техас Светодиоды на Arduino мигают. Если загрузка прошла успешно, в строке состояния появится сообщение «Готово».

Через несколько секунд после завершения загрузки вы увидите контакт 13 Светодиод на плате начнет мигать. Поздравляем! Ваш Arduino запущен и работает.

Стартовые проекты

Теперь, когда вы знакомы с основами, давайте рассмотрим некоторые проекты для начинающих.

Мигать светодиодом

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

Ардуино Блинк

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

Вот код, который вам нужен:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Этот код делает несколько вещей:

void setup (): Он запускается Arduino один раз при каждом запуске. Здесь вы можете настроить переменные и все, что нужно для запуска вашего Arduino.
pinMode (7, OUTPUT): Это говорит Arduino использовать этот вывод в качестве выхода, без этой линии Arduino не будет знать, что делать с каждым выводом. Это нужно настроить только один раз для каждого контакта, и вам нужно только настроить контакты, которые вы собираетесь использовать.
void loop (): Любой код внутри этого цикла многократно повторяется, пока Arduino не будет выключен. Это может сделать более крупные проекты более сложными, но это прекрасно работает для простых проектов.
digitalWrite (7, HIGH): Это используется для установки булавки ВЫСОКО или же НИЗКИЙНА или же OFF. Точно так же, как выключатель света, когда штырь ВЫСОКИЙ, светодиод будет включен. Когда штырь НИЗКИЙ, светодиод не горит. Внутри скобок необходимо указать дополнительную информацию для правильной работы. Дополнительная информация называется параметрами или аргументами.

Первый (7) — это номер пина. Например, если вы подключили свой светодиод к другому контакту, вы изменили бы его с семи на другой номер. Второй параметр должен быть ВЫСОКО или же НИЗКИЙ, который указывает, должен ли светодиод быть включен или выключен.
Задержка (1000): Ардуино сообщает, что нужно ждать указанное количество времени в миллисекундах. 1000 миллисекунд равны одной секунде, поэтому Arduino будет ждать одну секунду.

Как только светодиод включается на одну секунду, Arduino запускает тот же код, только он продолжает выключать светодиод и ждать еще одну секунду. После завершения этого процесса цикл начинается снова, и светодиод снова включается.

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

Добавление кнопки

Теперь, когда у вас работает светодиод, давайте добавим кнопку в вашу схему:

Arduino Button

Подключите кнопку так, чтобы она соединяла канал в середине макета. Подключите в правом верхнем углу нога к Контакт 4. Подключите Нижний правый нога к 10 кОм резистор, а затем земля. Подключите Нижний левый нога к 5V.

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

Когда кнопка не нажата, Arduino обнаруживает землю (контакт 4 > резистор > земля). Когда вы нажимаете кнопку, 5V подключается к земле. Контакт 4 Arduino может обнаружить это изменение, так как контакт 4 теперь изменился с земли на 5В;

Вот код:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

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

логическое buttonOn = false: Эта переменная используется для хранения состояния кнопки — ON или OFF, HIGH или LOW. По умолчанию используется значение false.
pinMode (4, INPUT): Как и код, используемый для светодиода, эта строка сообщает Arduino, что вы подключили вход (вашу кнопку) к выводу 4.
если (digitalRead (4)): Подобным образом digitalWrite (), digitalRead () используется для чтения состояния булавки. Вы должны предоставить ему пин-код (4, для вашей кнопки).

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

Если Arduino уверен, что вы действительно нажали кнопку, он изменит значение buttonOn переменная. Это переключает состояние:

ButtonOn — это правда: Установите в ложь.
ButtonOn ложно: Установите в true.

Наконец, светодиод выключается в соответствии с состоянием, сохраненным в buttonOn.

Световой датчик

Давайте перейдем к продвинутому проекту. Этот проект будет использовать Светозависимый резистор (LDR) для измерения количества доступного света. Arduino сообщит вашему компьютеру полезные сообщения о текущем уровне освещенности.

Вот схема:

Arduino LDR

Поскольку LDR являются резистором, не имеет значения, в каком направлении они расположены — они не имеют полярности. соединять 5V в одну сторону от ЛДР. Подключите другую сторону к земля через 1 кОм резистор. Также подключите эту сторону к аналоговый вход 0.

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

Вот код:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR
//tell computer the light level
if(light  100 && light < 400) {
Serial.println("It is average light!");
}
else {
Serial.println("It is pretty dark!");
}
delay(500); // don't spam the computer!
}

Этот код делает несколько новых вещей:

Serial.begin (9600): Это говорит Arduino, что вы хотите общаться по последовательному порту со скоростью 9600. Arduino подготовит все необходимое для этого. Скорость не так важна, но и ваш Arduino, и компьютер должны использовать один и тот же.
analogRead (А0): Это используется для чтения значения, поступающего из LDR. Чем ниже значение, тем больше света доступно.
Serial.println (): Это используется для записи текста в последовательный интерфейс.

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

Загрузите этот код и оставьте USB-кабель подключенным (так Arduino будет связываться и откуда поступает питание). Откройте серийный монитор (В правом верхнем углу > Серийный монитор), Вы должны видеть, что ваши сообщения приходят каждые 0,5 секунды.

Что вы наблюдаете? Что произойдет, если вы накрываете LDR или освещаете его ярким светом? Можете ли вы изменить код для печати значения LDR поверх последовательного?

Сделать шум

Этот проект использует Piezo динамик для создания звуков. Вот схема:

Arduino Piezo

Заметили что-нибудь знакомое? Эта схема почти такая же, как у светодиодного проекта. Пьезо - это очень простые компоненты - они издают звук при подаче электрического сигнала. Подключите положительный нога в цифровой контакт 9 через 220 Ом резистор. Подключите отрицательный нога к земля.

Вот код, это очень просто для этого проекта:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Здесь есть только несколько новых функций кода:

тон (9, 1000): Это заставляет пьезо генерировать звук. Требуется два аргумента. Первый - это пин-код, а второй - частота тона.
noTone (9): Это прекратит производить любой звук на предоставленном булавке.

Попробуйте изменить этот код, чтобы получить другую частоту. Измените задержку на 1 мс - что вы заметили?

Куда пойти отсюда

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

  • Создать рождественские украшения света
  • Arduino Shields превзойдет по силе ваш проект
  • Создайте свою собственную игру в понг с Arduino
  • Подключите Arduino к Интернету
  • Создайте систему домашней автоматизации с вашим Arduino

Какой Arduino у вас есть? Есть ли какие-нибудь забавные проекты, которые ты любишь делать? Дайте знать об этом в комментариях ниже!

Ссылка на основную публикацию
Adblock
detector