Вы находитесь на странице: 1из 11

ЛАБОРАТОРНАЯ РАБОТА № 13 ARDUINO

Цель работы: усвоить понятие Arduino, научиться работать с


основными компонентами, изучить возможности платформы.
Ход работы:
Выполним вход в приложение, используя ранее созданный аккаунт.
Результат входа представлен на рис. 1.

Рис. 1 Внешний вид приложения, после входа в систему.


Далее перейдем в раздел для создания электрических цепей, для чего
щелкнем по ссылке «Circuits» (рис. 2).

Рис. 2 Вид вкладки «Circuits»

Далее перейдём к выполнению задания:


1. Разработать программу, выполняющую следующие действия: по
нажатию на кнопку, светодиод загорается. При повторном нажатии
светодиод выключается. Данную работу выполнить в среде Tinkercad
Circuits. Составить блок схему выполнения программы.
Решение:
Для выполнения данного задания нам необходима кнопка, макетная
плата, светодиод и токоограничивающий резистор. Внешний вид
компонентов представлен на рис. 3.

Рис. 3 Внешний вид компонентов, необходимых для выполнения задания.

Произведём подключение светодиода через токоограничивающий


резистор для проверки его работоспособности. Соответствующий снимок
экрана представлен на рис. 4. Запустим схему на симуляцию, нажав на
кнопку Start Simulation. Светодиод засветится зелёным – схема собрана
правильно. Далее необходимо выполнить подключение светодиода к любому
цифровому пину, для того, чтобы иметь возможность управлять его
состоянием с помощью кнопки. Выполним конфигурирование пина и
установим ему состояние высокого уровня (рис. 7). Программный код
представлен ниже:
int ledPin=7;

void setup()
{
pinMode(ledPin, OUTPUT);
}

void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(ledPin, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}

Рис. 4 Собранная схема.

Рис. 7 Подключение светодиода к цифровому пину


Подключим к схеме кнопку. Программный код для управления представлен ниже:
int ledPin = 7;
int button = 3;
int knopka=0;

void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(button, INPUT_PULLUP);
}

void loop()
{
if ((digitalRead(button) == HIGH)&&(knopka==0))
{
delay(50);
digitalWrite(ledPin, !digitalRead(7));
knopka++;
}

if ((digitalRead(button) == LOW)&&(knopka==1))
{
knopka=0;
}
}

Рис. 8 Подключение кнопки.


Составим блок-схему выполнения программы.
Рис. 9. Блок-схема программы.
2. Разработать программу, выполняющую следующие действия: по
нажатию на кнопку, сервопривод начитается вращаться на 90 градусов и
трехцветный светодиод начинает гореть красным цветом. При повторном
нажатии, светодиод загорается синим цветом и сервопривод вращается в
обратном направлении на 90 градусов. При бездействии светодиод горит
зеленым цветом и сервопривод находится в состоянии покоя. Данную работу
выполнить в среде Tinkercad Circuits. Составить блок схему выполнения
программы.

Рис. 10 Компоненты системы.

Кроме представленных на рис. 10 компонентов необходимо добавить


токоограничивающий резистор номиналом 200 Ом. Код программы
представлен ниже. На рис. 11 показана схема соединения.
#include <Servo.h>
Servo servo1;
int button = 3;
int knopka=0;

void setup()
{
servo1.attach(7);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(button, INPUT_PULLUP);
}
void loop()
{
digitalWrite(11,HIGH);
if ((digitalRead(button) == LOW)&&(knopka==0))
{
delay(50);
servo1.write(90);
knopka++;
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
if ((digitalRead(button) == HIGH)&&(knopka==1))
{
servo1.write(0);
knopka=0;
digitalWrite(9,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
}
}

Рис. 11 Схема соединения.

Блок-схема программы.
Рис. 12 Блок-схема программы
3. Творческое задание. Самостоятельно разработать задание и
выполнить его в среде Tinkercad Circuits. При сборке схемы разрешается
использовать любые компоненты. Составить блок схему выполнения
программы.
Создадим проект, включающий LCD-дисплей и показывающий
количество секунд, прошедших с начала подачи питания на плату. Нам
необходим дисплей, подстроечный резистор и макетная плата. Экранный
снимок представлен на рис. 13

Рис. 13 Экранный снимок устройства, отображающего количество секунд.


Код программы представлен ниже
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void setup(){
lcd.begin(16, 2);
}
void loop(){
lcd.print(millis()/1000);
delay(1000);
lcd.clear();
}
Рис. 14 Блок-схема.
1. Что такое Arduino?
Arduino представляет собой микроконтроллерную программируемую
плату, позволяющую быстро собрать и протестировать различные
электронные устройства.
2. Для чего используется Arduino?
Плата используется для создания электронных устройств различной
сложности
3. Какие основные компоненты Arduino Вы знаете?
Светоизлучающий диод, тактовая кнопка, сервопривод, датчик
освещённости, ультразвуковой датчик.
4. Что такое скетч?
Скетч – это программа, написанная на языке Wiring (диалект С++),
загружаемая в плату и исполняемая ей.
5. Назовите 3 любые версии платформ Arduino?
Arduino UNO, Arduino Mega, Arduino Pro Mini.
6. Что такое плата расширения?
Плата расширения представляет собой электронный модуль,
подключаемый к Arduino, позволяющий расширить её
функциональные возможности.
7. Какие основные платы расширения Вы знаете?
Ethernet Shield, Motor Shield, Wi-Fi Shield, GSM Shield, GPS-Shild и др.
Вывод. В данной лабораторной работы было выполнено
первоначальное ознакомление с платформой Arduino, ее основными
возможностями, компонентами, и особенностями работы. Были
созданы три простых проекта в эмуляторе электронного конструктора,
написаны простые скетчи.

Вам также может понравиться