Начало работы с Arduino: руководство для новичков

Начало работы с Arduino: руководство для новичков

Arduino - это платформа для создания прототипов электроники с открытым исходным кодом, и она одна из самых популярных в мире - за возможным исключением Raspberry Pi. Было продано более 3 миллионов единиц (и еще больше в виде устройств-клонов сторонних производителей): что делает его таким хорошим и что вы можете с ним сделать?





Что такое Ардуино?

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





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





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

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



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

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





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

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

Что внутри Arduino?

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





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

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

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

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

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

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

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

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

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

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

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

Светодиоды

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

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

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

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

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

Внешний жесткий диск Windows не отображается

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

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

Пьезо-динамик - это крошечный динамик, который воспроизводит звук из электрических сигналов. Они часто бывают резкими и жесткими и не похожи на настоящие колонки. Тем не менее, они очень дешевы и просты в программировании. В нашей игре Buzz Wire один из них используется для Музыкальная тема Monty Python 'Flying Circus' .

Резистор

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

Провода перемычки

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

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

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

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

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

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

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

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

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

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

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

Установить gcc-avr а также avr-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. основы > Мигать . Вы должны увидеть код открытого приложения:

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

Выберите последовательное устройство вашей платы из Инструменты > Последовательный порт меню. В 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, ВЫХОД): Это говорит Arduino использовать этот вывод в качестве выхода, без этой линии Arduino не знал бы, что делать с каждым выводом. Это нужно настроить только один раз для каждого контакта, и вам нужно только настроить контакты, которые вы собираетесь использовать.

void loop (): Любой код внутри этого цикла многократно запускается снова и снова, пока Arduino не выключится. Это может усложнить большие проекты, но отлично работает с простыми проектами.

digitalWrite (7, ВЫСОКИЙ): Используется для установки штифта ВЫСОКИЙ или НИЗКИЙ - НА или ВЫКЛЮЧЕННЫЙ . Так же, как выключатель света, когда контакт ВЫСОКИЙ, светодиод будет гореть. Когда на контакте низкий уровень, светодиод не горит. В скобках вам необходимо указать дополнительную информацию, чтобы это работало правильно. Дополнительная информация называется параметрами или аргументами.

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

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

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

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

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

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

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

Вам может быть интересно, зачем простой кнопке резистор. Это служит двум целям. Это тянуть вниз резистор - он связывает штырь с землей. Это гарантирует, что не будут обнаружены ложные значения, и предотвратит ошибку 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
}

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

логическая кнопкаOn = false: Эта переменная используется для хранения состояния кнопки - ON или OFF, HIGH или LOW. Ему дается значение по умолчанию false.

pinMode (4, ВХОД): Подобно коду, используемому для светодиода, эта строка сообщает Arduino, что вы подключили вход (свою кнопку) к контакту 4.

если (digitalRead (4)): Аналогично digitalWrite () , digitalRead () используется для чтения состояния булавки. Вам необходимо предоставить ему пин-код (4, для вашей кнопки).

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

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

ButtonOn верно: Установите значение false.

ButtonOn - ложь: Установите значение true.

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

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

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

как смотреть инстаграм в прямом эфире на пк

Вот схема:

Поскольку LDR представляют собой тип резистора, не имеет значения, в каком направлении они расположены - у них нет полярности. Соединять по одну сторону от LDR. Подключите другую сторону к земля через 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) {
Serial.println('It is quite light!');
}
else 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 (A0): Он используется для чтения значения, поступающего из LDR. Меньшее значение означает, что доступно больше света.

Serial.println (): Это используется для записи текста в последовательный интерфейс.

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

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

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

Сделайте немного шума

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

Заметили что-нибудь знакомое? Эта схема почти такая же, как и в светодиодном проекте. Пьезо очень простые компоненты - они издают звук при подаче электрического сигнала. Подключите положительный нога в цифровой вывод 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 легко создавать простые электронные проекты. Вы сможете создавать гораздо более сложные проекты, если поймете основные из них:

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

Какой Arduino у вас есть? Есть ли у тебя какие-нибудь забавные проекты? Для получения дополнительной информации посмотрите, как улучшить кодирование Arduino с помощью VS Code и PlatformIO.

Делиться Делиться Твитнуть Эл. адрес 15 команд командной строки Windows (CMD), которые вы должны знать

Командная строка по-прежнему остается мощным инструментом Windows. Вот самые полезные команды CMD, которые должен знать каждый пользователь Windows.

Читать далее
Похожие темы
  • Сделай сам
  • Ардуино
  • Электроника
Об авторе Джо Коберн(136 опубликованных статей)

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

Ещё от Joe Coburn

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться