Уроки ардуино

Содержание

Sketch

A sketch is the name that Arduino uses for a program. It’s the unit of code that is uploaded to and run on an Arduino board.

Comments

The first few lines of the Blink sketch are a comment:

/*
 * Blink
 *
 * The basic Arduino example.  Turns on an LED on for one second,
 * then off for one second, and so on…  We use pin 13 because,
 * depending on your Arduino board, it has either a built-in LED
 * or a built-in resistor so that you need only an LED.
 *
 * http://www.arduino.cc/en/Tutorial/Blink
 */

Everything between the and is ignored by the Arduino when it runs the sketch (the at the start of each line is only there to make the comment look pretty, and isn’t required). It’s there for people reading the code: to explain what the program does, how it works, or why it’s written the way it is. It’s a good practice to comment your sketches, and to keep the comments up-to-date when you modify the code. This helps other people to learn from or modify your code.

There’s another style for short, single-line comments. These start with and continue to the end of the line. For example, in the line:

int ledPin = 13;                // LED connected to digital pin 13

the message «LED connected to digital pin 13» is a comment.

Variables

A variable is a place for storing a piece of data. It has a name, a type, and a value. For example, the line from the Blink sketch above declares a variable with the name , the type , and an initial value of 13. It’s being used to indicate which Arduino pin the LED is connected to. Every time the name appears in the code, its value will be retrieved. In this case, the person writing the program could have chosen not to bother creating the variable and instead have simply written 13 everywhere they needed to specify a pin number. The advantage of using a variable is that it’s easier to move the LED to a different pin: you only need to edit the one line that assigns the initial value to the variable.

Often, however, the value of a variable will change while the sketch runs. For example, you could store the value read from an input into a variable. There’s more information in the Variables tutorial.

Functions

A function (otherwise known as a procedure or sub-routine) is a named piece of code that can be used from elsewhere in a sketch. For example, here’s the definition of the function from the Blink example:

void setup(){
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output}

The first line provides information about the function, like its name, «setup». The text before and after the name specify its return type and parameters: these will be explained later. The code between the and is called the body of the function: what the function does.

You can call a function that’s already been defined (either in your sketch or as part of the Arduino language). For example, the line calls the function, passing it two parameters: and . These parameters are used by the function to decide which pin and mode to set.

pinMode(), digitalWrite(), and delay()

The function configures a pin as either an input or an output. To use it, you pass it the number of the pin to configure and the constant INPUT or OUTPUT. When configured as an input, a pin can detect the state of a sensor like a pushbutton; this is discussed in a later tutorial. As an output, it can drive an actuator like an LED.

The functions outputs a value on a pin. For example, the line:

digitalWrite(ledPin, HIGH);

set the (pin 13) to HIGH, or 5 volts. Writing a LOW to pin connects it to ground, or 0 volts.

The causes the Arduino to wait for the specified number of milliseconds before continuing on to the next line. There are 1000 milliseconds in a second, so the line:

delay(1000);

creates a delay of one second.

setup() and loop()

There are two special functions that are a part of every Arduino sketch: and . The is called once, when the sketch starts. It’s a good place to do setup tasks like setting pin modes or initializing libraries. The function is called over and over and is heart of most sketches. You need to include both functions in your sketch, even if you don’t need them for anything.

Exercises

1. Change the code so that the LED is on for 100 milliseconds and off for 1000.

2. Change the code so that the LED turns on when the sketch starts and stays on.

Пример работы

В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод , подключенный к пину микроконтроллера.

blink.ino
void setup() {
  // Устанавливаем пин светодиода в режим выхода.
  // Используем определение LED_BUILTIN,
  // которое содержит в себе пин светодиода
  pinMode(LED_BUILTIN, OUTPUT);
}
 
void loop() {
  // Включаем светодиод
  digitalWrite(LED_BUILTIN, HIGH);
  // Ждём пол секунды
  delay(500);
  // Выключаем светодиод                       
  digitalWrite(LED_BUILTIN, LOW);
  // Ждём пол секунды   
  delay(1000);                       
}

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

Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.

Freeduino – Arduino совместимый микроконтроллер

Что такое Freeduino?

Freeduino — программируемая через USB порт микро-ЭВМ, в которую можно загрузить любую программу и получить компактное автономное микропроцессорное устройство с заложенными в него Вашими функциями.

Freeduino — совместимая с Arduino открытая платформа, популярная во всем мире, и наиболее известная именно под именем Arduino. Встречаются также и русские варианты написания: «Ардуино» и «Фридуино».

Возможности платформы не ограничены имеющейся «на борту» периферией – существуют модули, добавляющие к Freeduino новые функции и интерфейсы, такие, например, как модуль Ethernet, или модуль M-Shield, упрощающий подключение двигателей постоянного тока и шаговых двигателей:

^^^

Чем вызвана популярность проекта?

Проект действительно популярен — Google насчитал больше 60 миллионов ссылок: https://www.google.com/search?q=Arduino

  • Сопряжение устройства с USB портом компьютера;
  • Не требуется навыков программирования микроконтроллеров;
  • Не требуются специализированные программаторы и компиляторы;
  • Программируется на очень простом языке, понятном неспециалисту;
  • Удобная и простая среда разработки программ для микроконтроллера;
  • Широкое распространение в сети Internet: сотни сайтов с примерами готовых проектов и библиотек дополнительных функций;
  • Проект является 100% открытым — доступны все исходные тексты;
  • Устройство достаточно функционально — 14 цифровых входов/выходов, из них 6 выходов с широтно-импульсным модулированием, 6 аналоговых входов;
  • Кроссплатформенность. Среда разработки программ для Freeduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытой и реализована на Java.

Области применения

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

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

Чем отличается Freeduino от Arduino?

Если отвечать коротко, то почти ничем.

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

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

Используйте любой из приведенных выше способов и откройте Arduino IDE, затем выберите плату ESP8266 в меню:

Tools → Board → Generic ESP8266 Module
(Инструменты → Плата → Модуль ESP8266)

Если вы не установили и не настроили плату ESP8266 для Arduino, сделайте это, выполнив шаги выше этого руководства. Затем можете идти дальше.

Теперь скопируйте приведенный ниже код в Arduino IDE и нажмите кнопку загрузки. Измените SSID на точку доступа Wi-Fi и измените пароль на свой пароль Wi-Fi и скомпилируйте.

#include <ESP8266WiFi.h>

const char* ssid = "YOUR_SSID";//type your ssid
const char* password = "YOUR_PASSWORD";//type your password

int ledPin = 2; // GPIO2 of ESP8266
WiFiServer server(80);//Service Port

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
} 
if (request.indexOf("/LED=OFF") != -1){
digitalWrite(ledPin, LOW);
value = LOW;
}

//Set ledPin according to the request
//digitalWrite(ledPin, value);

// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); //  do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Led pin is now: ");

if(value == HIGH) {
client.print("On");  
} else {
client.print("Off");
}
client.println("<br><br>");
client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 2 OFF<br>");
client.println("</html>");

delay(1);
Serial.println("Client disconnected");
Serial.println("");
}

Откройте последовательный монитор и откройте URL, показанный на вашем последовательном мониторе, через веб-браузер. Подключите GPIO 2 от ESP8266 к более длинному выводу светодиода. Теперь вы можете управлять светодиодом удаленно через Интернет!

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

Удалите все провода, которые были необходимы для загрузки кода. Модуль LM1117 используется для обеспечения регулируемого выхода 3,3 В. Это позволит вам сделать модуль ESP8266 или ESP-01 автономным.

Из чего состоит плата Arduino?

Выпускаются различные модели Arduino. Каждая из них «заточена» для различных задач. Некоторые платы принципиально отличаются от приведенной на рисунке ниже. Но большинство из них имеют следующие одинаковые узлы:

Разъем питания (USB / разъем для адаптера)

Каждая плата Arduino должна подключаться к источнику питания. Arduino Uno может запитываться от USB кабеля от вашего персонального компьютера Или от отдельного адаптера, который подключается к предусмотренному на плате разъему. На рисунке соединение через USB отмечено (1), а разъем для внешнего источника питания — (2).

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

Примечание! Не используйте источник питания с напряжением на выходе более 20 вольт. Это может привести к тому, что ваша плата перегорит. Рекомендуемое напряжение питания для Arduino — от 6 до 12 вольт.

Разъемы (пины) (5V, 3.3V, GND, Analog, Digital, PWM, AREF)

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

  • GND (3): сокращение от ‘Ground’ — ‘Земля’. На платах несколько пинов GND, каждый из которых может использоваться для заземления вашей электрической цепи.
  • 5V (4) и 3.3V (5): как вы могли уже догадаться — питы, которые на выходе обеспечивают питание 5 вольт и 3.3 вольт соответственно. Большинство компонентов, которые подключаются к Arduino, благополучно питаются именно от 5 или 3.3 вольт.
  • Analog (6): на участке, который подписан ‘Analog In’ (от A0 до A5 на Arduino Uno) расположены аналоговые входы. Эти пины позволяют считывать сигналы от аналоговых датчиков (например, датчик температуры) и преобразовывать их в цифровые значения, которыми мы в дальнейшем оперируем.
  • Digital (7): напротив аналоговых пинов находятся цифровые пины (от 0 до 13 на Arduino Uno). Эти пины используются для цифровых входящих (input) сигналов (например, нажатие кнопки) и для генерации цифровых исходящих (output) сигналов (например, питание светодиода).
  • PWM (8): вы наверное заметили знак (~) рядом с некоторыми цифровыми пинами (3, 5, 6, 9, 10, и 11 на UNO). Эти пины работаю как в обычном цифровом режиме, так и в режиме ШИМ-модуляции (PWM). Если объяснить вкратце — эти пины могут имитировать аналоговый выходной сигнал (например, для постепенного затухания светодиода).
  • AREF (9): Этот пин используется достаточно редко. В некоторых случаях это подключают в схему для установки максимального значения напряжения на аналоговых входах (от 0 до 5 вольт).

Кнопка сброса (Reset Button)

Как и на оригинальных Nintendo, на Arduino есть кнопка сброса (reset) (10). При нажатии на нее контакт сброса замыкается с землей и код, загруженный на Arduino начинает отрабатывать заново. Полезная опция, если ваш код отрабатывает без повторов, но вы хотите протестить его работу.

Индикатор питания (Power LED)

Немного справа и ниже надписи “UNO” установлен светодиод, подписанный «on» (11). Этот светодиод должен загореться, когда вы подключили Arduino к источнику питания. Если светодиод не загорелся — плохой знак ;).

Светодиоды TX и RX

TX — сокращение от transmit (передача), RX — от receive (прием). Эти условные обозначения часто встречаются в электронике для обозначения контактов, которые отвечают за серийный обмен данным. На Arduino Uno эти контакты встречаются два раза на цифровых пинах 0 и 1 и в качестве светодиодов TX и RX (12). Эти светодиоды позволяют визуально отслеживать, передает или принимает данные Arduino (например, при загрузке программы на плату).

Главная интегральная микросхема (IC)

Черная деталь с металлическими коннекторами с двух сторон это интегральная микросхема, микропроцессор (IC или Integrated Circuit) (13). Можете смело считать, что это «мозги» нашей Arduino. Этот чип разный в разных моделях Arduino, но обычно он относится к линейке микропроцессоров ATmega от компании ATMEL

Это может оказаться важной информацией для загрузки скетча на плату. Модель интегральной микросхемы обычно указана на ее верхней корпусной части

Для дополнительной информации о вашей микросхеме стоит обратиться к ее даташиту.

Регулятор напряжения

Регулятор напряжения (14) is выполняет функцию, указанную в названии — контролирует напряжение, которое поступает на плату Arduino. Можете его себе представить как охранника, который не пропускает слишком большое напряжение на плату во избежание ее повреждений. Конечно же, у регулятора есть свой предел. Так что питать Arduino напряжением больше 20 вольт нельзя.

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

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

Arduino – это электронные платы, к которым можно подсоединять различные датчики, двигатели, экраны и много других электронных компонентов. Плата Ардуино будет управлять этими компонентами с помощью программы, который вы в нее загрузите. Самые популярные платы для начинающих – это Arduino Uno, Arduino Mega, Arduino Nano и Arduino Leonardo. Кроме этого есть множество  других вариантов, подходящих для конкретных случаев.

Arduino – это еще и совершенно бесплатная среда программирования Arduino IDE, в которой можно писать программы (скетчи) для контроллера. Программа прошивается в микроконтроллер буквально одним нажатием на кнопку. Никаких особых знаний не требуется!  Вы можете даже не писать программу – просто найти и скачать готовый скетч, который просто откроете в Arduino IDE.

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

Что можно сделать с помощью Ардуино?

Для начала работы с Ардуино нам достаточно любой платы. Большинство начинающих Ардуинщиков и любителей сделать что-либо своими руками начинают с Arduino Uno:

Arduino Uno R3

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

Как я уже написал выше — один из первых и самых популярных уроков для начинающих — моргание встроенным на плату светодиодом.

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

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

  • светом,
  • моторами,
  • разнообразными приводами,
  • и т.п..

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

Если вы только начинаете знакомство с микроконтроллерами, то рекомендуем вам начать с самых простых, которые есть на нашем сайте:

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

Справочник языка Ардуино

Операторы

  • setup()
  • loop()

Синтаксис

  • ; (точка с запятой)
  • {} (фигурные скобки)
  • // (одностроковый коментарий)
  • /* */ (многостроковый коментарий)
  • #define
  • #include

Битовые операторы

  • & (побитовое И)
  • | (побитовое ИЛИ)
  • ^ (побитовое XOR или исключающее ИЛИ)
  • ~ (побитовое НЕ)
  • << (побитовый сдвиг влево)
  • >> (побитовый сдвиг вправо)
  • ++ (инкремент)
  • — (декремент)
  • += (составное сложение)
  • -= (составное вычитание)
  • *= (составное умножение)
  • /= (составное деление)

  • &= (составное побитовое И)
  • |= (составное побитовое ИЛИ)

Данные

Типы данных

  • void
  • boolean
  • char
  • unsigned char
  • byte
  • int
  • unsigned int
  • word
  • long
  • unsigned long
  • short
  • float
  • double
  • string — массив символов
  • String — объект
  • массивы

sizeof()

Библиотеки

  • EEPROM
  • SD
  • SPI
  • SoftwareSerial
  • Wire

Функции

Цифровой ввод/вывод

  • pinMode()
  • digitalWrite()
  • digitalRead()

Аналоговый ввод/вывод

  • analogReference()
  • analogRead()
  • analogWrite() — PWM

Только для Due

  • analogReadResolution()
  • analogWriteResolution()

Расширенный ввод/вывод

  • tone()
  • noTone()
  • shiftOut()
  • shiftIn()
  • pulseIn()

Время

  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Математические вычисления

  • min()
  • max()
  • abs()
  • constrain()
  • map()
  • pow()
  • sqrt()
  • sq()

Тригонометрия

  • sin()
  • cos()
  • tan()

Случайные числа

  • randomSeed()
  • random()

Биты и байты

  • lowByte()
  • highByte()
  • bitRead()
  • bitWrite()
  • bitSet()
  • bitClear()
  • bit()

Внешние прерывания

  • attachInterrupt()
  • detachInterrupt()

Прерывания

  • interrupts()
  • noInterrupts()

Распиновка

Пины питания

  • VIN: Входной пин для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
  • 5V: Выходной пин от с выходом 5 вольт и максимальным током 1 А. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
  • 3V3: Выходной пин от с выходом 3,3 вольта и максимальным током 150 мА.
  • IOREF: Вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера. В нашем случае рабочее напряжение платформы 5 вольт.
  • GND: Выводы земли.

Порты ввода/вывода

  • Пины общего назначения: 20 пинов: –
    Логический уровень единицы — 5 В, нуля — 0 В. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
  • АЦП: 6 пинов: – / –
    Позволяет представить аналоговое напряжение в виде цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В, при подаче большего напряжения микроконтроллер может выйти из строя.
  • ШИМ: 6 пинов: , , и –
    Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ не меняется и установлена в 8 бит.
  • I²C Для общения контроллера c платами расширения и сенсорами по интерфейсу I²C.

    I²C: пины SDA/18/A4 и SCL0/19/A5

  • SPI Для общения контроллера c платами расширения и сенсорами по интерфейсу SPI.

    SPI: пины MOSI/11, MISO/12 и SCK/13

  • Serial/UART Для общения контроллера c платами расширения и сенсорами по интерфейсу UART.

    Serial: пины TX1/1 и RX1/0. Контакты также соединены с соответствующими выводами сопроцессора ATmega16U2 для общения платы по USB. Во время прошивки и отладки программы через ПК, не используйте эти пины в своём проекте.

Особенности проектов

Большинство электронщиков предпочитают создавать свои проекты на основе микроконтроллера Аrduino Uno, о которой и мы писали уже несколько раз.

Для начала стоит познакомиться с функционалом микропроцессора Ардуино уно, на котором строится большинство проектов, а также рассмотреть причины выбора данного приспособления. Ниже описаны факторы, по которым начинающему изобретателю стоит остановиться на Аrduino uno:

  1. Довольно простой в использовании интерфейс. Понятно, где какой контакт, и к чему прикреплять соединительные провода.
  2. Чип на плате подключается прямо к USB-порту. Преимущество этой установки заключается в том, что последовательная связь – это очень простой протокол, который проверен временем, а USB делает соединение с современными компьютерами очень удобным.
  3. Легко найти центральную часть микроконтроллера, которая представляет собой чип ATmega328. Он имеет больше аппаратных функций, таких как таймеры, внешние и внутренние прерывания, пины PWM и несколько режимов ожидания.
  4. Устройство с открытым исходным кодом, поэтому большое количество радиолюбителей могут исправить баги и неполадки в программном обеспечении. Это облегчает отладку проектов.
  5. Тактовая частота равна 16 МГц, что достаточно быстро для большинства приложений и не ускоряет работу микроконтроллера.
  6. Очень удобно управлять мощностью внутри него, и она имеет функцию встроенного регулирования напряжения. Также микроконтроллер можно отключить от USB-порта без внешнего источника питания. Можно подключить внешний источник питания до 12 В. Причем микропроцессор сам определит нужное напряжение.
  7. Наличие 13 цифровых контактов и 6 аналоговых контактов. Эти пины позволяют подключать оборудование к плате Arduino uno со стороннего носителя. Контакты используются в качестве ключа для расширения вычислительной способности Arduino uno в реальном мире. Просто подключите свои электронные устройства и датчики к разъемам, которые соответствуют каждому из этих контактов.
  8. Имеется в наличии разъем ICSP для обхода USB-порта и сопряжения с Arduino напрямую в качестве последовательного устройства. Этот порт необходим, чтобы перезагрузить чип, если он поврежден и больше не может использоваться на вашем компьютере.
  9. Наличие 32 КБ флэш-памяти для хранения кода разработчика.
  10. Светодиод на плате подключается к цифровому контакту 13 для быстрой отладки кода и упрощения этого процесса.
  11. Наконец, у него есть кнопка для сброса программы на чипе.

Arduino был создан в 2005 году двумя итальянскими инженерами – Дэвидом Куартиллесом и Массимо Банзи с целью, чтобы ученики научились программировать микроконтроллер Arduino uno и улучшить свои навыки в области электроники и использовать их в реальном мире.

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

Последние публикации

Тип Сообщение Автор Откликов Последнее обновление
Тема форума Помогите вывести значение регистра в монитор порта. Discover0708 105 6 минут 47 секунд назад
Тема форума Помощь от старожилов в подготовке проекта Gromushka 34 13 минут 27 секунд назад
Тема форума Адресная светодиодная лента загорается белым и не реагирует retronik 57 33 минуты 17 секунд назад
Тема форума управлении шаговым и сервоприводом по температуре на базе этого модуля ESP8266 CH340G NodeMcu V3 Lua Беспроводной Wi-Fi модуль -Евгений- 22 41 минута 18 секунд назад
Тема форума Чистим форум от спама вместе! Yarik.Yar 553 45 минут 39 секунд назад
Тема форума arduino tester Pontianus warae 3 50 минут назад
Тема форума помогите мне исправить программу ниже Pontianus warae 54 минуты 24 секунды назад
Тема форума В городе новосибирске в развивающуюся компанию ооо «симвэир» требуется инженер-электронщик Александр Кунгуров 57 минут 50 секунд назад
Тема форума Наливатор — автоматизированная машина, которая будет разливать алкоголь по стопкам. Sergei36rus 4404 1 час 48 минут назад
Тема форума Интеллектуальный контроль доступа на основе Arduino uno и ЖК-дисплея kakaxi 1 2 часа 5 минут назад
Тема форума как управлять отдельно взятую емкостной панелью смартфона с помощью ардуйно begun 46 2 часа 16 минут назад
Тема форума arduino tester Pontianus warae 2 часа 24 минуты назад
Тема форума arduino tester Pontianus warae 2 часа 25 минут назад
Тема форума Как помочь девушке прикованной к инвалидной коляске? Алексей Горкунов 7 2 часа 26 минут назад
Тема форума Software Serial нет приема даже по шлейфу Валерий К 7 2 часа 34 минуты назад
Тема форума Методы библиотеки Radio Billy Bons 11 2 часа 46 минут назад
Тема форума Вопрос по использованию Millis() Ардуинна 25 3 часа 43 минуты назад
Тема форума Помянем DetSimen 11 4 часа 27 минут назад
Тема форума Считать ключ от ворот Doorhan rapidshe 4 4 часа 47 минут назад
Тема форума Помогите разобраться, сил нет. Регулятор оборотов BearMeat132 14 4 часа 58 минут назад
Тема форума WI-FI интернет радио. vis22 10003 5 часов 59 минут назад
Тема форума Универсальный Ардуино пробник svm 392 6 часов 10 минут назад
Тема форума Как настроить и использовать ESP8266MOD? skystar84 12 6 часов 23 минуты назад
Тема форума ПИ регулятор для теплого пола pacik33 31 17 часов 57 минут назад
Тема форума С толстых проводов на провода для макетной платы Frut 8 20 часов 51 секунда назад
  • 1
  • следующая ›
  • последняя »

Аппаратная часть Arduino

Существует множество версий этого микроконтроллера. Они отличаются друг от друга размерами, фирмой производителем, частотой процессора, количеством встроенной памяти, количеством контактов вывода/ввода. Так например есть самая популярная ардуинка — Arduino UNO.

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

Есть и более маленькие версии такие как Arduino Mini и Arduino Pro.

Описание самых популярных плат вы найдете на странице «Платы»

Что можно подключить к Arduino

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

Переферийные устройства

  • Кнопки, переключатели, сенсорные панели
  • Светодиоды
  • Динамики и микрофоны
  • Коллекторные, безколлекторные и шаговые электродвигатели
  • Сервоприводы
  • ЖК и LCD дисплеи.
  • Устройства считывающие радиометки RFID и NFC
  • Ультразвуковые и лазерные датчики расстояния
  • Модули Ethernet, WiFi и Bluetooth
  • Кардридеры SD
  • Модули GSM для совершения звонков и приема/отправки SMS
  • GPS для получения точных координат местоположения

Датчики

  • Освещенности
  • Магнитного поля
  • Температуры
  • Влажности воздуха и почвы
  • Уровня шума
  • Вибрации
  • Огня и дыма
  • Электронные компасы, гироскопы и акселерометры для определения положения в пространстве.

Датчики для Arduino

Заключение

Arduino Nano одна из самых маленьких полноценных версий плат Ардуино. По сути своей, она с точностью повторяет Arduino Uno, но имеет два главных отличия:

  1. Размеры платы.
  2. Связь платы UNO с компьютером осуществляется с помощью USB serial преобразователя на базе микроконтроллера типа Atmega8u.

На нано-плате использован преобразователь на базе ft232, однако более дешевые китайские версии используют другой способ связи с ПК Arduino Nano CH341. По сути, эти микросхемы являются основой для USB-UART конвертера.

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

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

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

Всего выпущено несколько платформ Arduino, Nano является одной из них, в миниатюрном исполнении

В то же время сохраняется легкость подключения при помощи разъемов с шагом выводов 2,54 мм, что важно для любительских экспериментов. Для программирования используется Arduino IDE (среда разработки) и язык высокого уровня, похожий на Си, а фактически это и есть C/C++, просто структура программы немного изменена

Вместо функции main() используются две другие: setup() и loop(). Компилятор сам создает из них остальное)

Достоинства. Функциональная маленькая плата Arduino Nano, ничуть не уступающая по функциям большой UNО, – дешевле, удобнее для монтажа и сборки миниатюрных устройств.

Конечно, нельзя забывать, что это все та же 8-битная Атмега, которая имеет свой потенциал, и нельзя возлагать на неё невозможное – используйте её там, где ей место, а именно в малой автоматизации без особых прецизионных задач.

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

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

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

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

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