51 №1(16) 2019 Молодой исследователь Дона



Pdf көрінісі
бет4/5
Дата18.05.2023
өлшемі0,53 Mb.
#94660
1   2   3   4   5
Байланысты:
primenenie-arduino-v-uchebnom-protsesse

http://mid-journal.ru 
53 
№1(16) 2019 
Молодой исследователь Дона 
Лабораторная установка на платформе Arduino. На рис. 1 представлена фотография 
возможного варианта лабораторной установки, содержащей модуль Arduino Uno, подключаемый к 
ПК (ноутбуку), макетную плату с соединительными проводниками, парой светодиодов и кнопок 
на плате. 
Ниже, в качестве примера, представлены листинги учебных программ управления двумя 
светодиодами с помощью двух кнопок и программа считывания выходного сигнала 
потенциометра. Первая программа позволяет реализовать различные режимы работы 
микроконтроллерного мультивибратора, а вторая — управлять интенсивностью свечения 
светодиода в зависимости от сигнала потенциометра. 
Рис. 1. Плата лабораторной установки на основе Arduino 
Программа 1. 
const int buttonPin1 = 2; 
const int ledPin = 13; 
const int buttonPin2 = 4;
int ledPin_G = 12;
//Объявление констант и/или переменных.
//К пинам 2, 4 подключаются кнопки, к пинам 12 
//и 13 - светодиоды 
int buttonState1 = 0;
int buttonState2 = 0;
//переменным button даём начальное состояние 
//"ноль".
int ledPin_H = 8;
// второй светодиод 
void setup()
 
pinMode(buttonPin1, INPUT);
// режим пинов(INPUT/OUTPUT) 
pinMode(buttonPin2, INPUT); 
pinMode(ledPin_G,OUTPUT); 
pinMode(ledPin_H,OUTPUT); 
 

void loop()
 
//режимы работы мультивибратора 


ф 
http://mid-journal.ru 
54 
№1(16) 2019 
Молодой исследователь Дона 

buttonState1 = digitalRead(buttonPin1); 
buttonState2 = digitalRead(buttonPin2); 
// считывание состояние на входе пина 2 
// считывание состояние на входе пина 4 
if (buttonState1 == HIGH &&
buttonState2 == HIGH); 
// если сигнал есть на обоих входах (нажаты обе 
кнопки) 

delay(100);
digitalWrite(ledPin_H,HIGH);
delay(100); 
digitalWrite(ledPin_H,LOW); 
delay(100); 
digitalWrite(ledPin_G,HIGH); 
delay(100); 
digitalWrite(ledPin_G,LOW); 
delay(100); 

// ждём 100 миллисекунд, включаем один диод
//ждём, выключаем, потом тоже действие 
// с другим светодиодом 
else if (buttonState2 == HIGH); 

digitalWrite(ledPin_H,HIGH); 
delay(100); 
digitalWrite(ledPin_H,LOW); 
delay(100); 

// если условие выше не выполнено (не нажали 
//одновременно две кнопки), но нажата кнопка 
//buttonState2, то выполним другой алгоритм 
else if (buttonState1 == HIGH); 

digitalWrite(ledPin_G,HIGH); 
delay(100); 
digitalWrite(ledPin_G,LOW); 
delay(100); 

//если условия выше не выполнены (не нажали 
//одновременно 
две кнопки и не нажали 
//buttonState2), но нажата кнопка buttonState1, 
//то выполним другой алгоритм 
else
// если ничего не нажимать, то... 

digitalWrite(ledPin_G,LOW); 
digitalWrite(ledPin_H,LOW);
}
// ...тушим светодиоды 

 
Программа 2. 
#define led 9 
#define pot A0 
void setup() 
{ 
// даём имена пинов со светодиодом и
// потетциометром 
 
pinMode(pot, INPUT); 
pinMode(led, OUTPUT); 
// пин с потенциометром — вход 
// пин со светодиодом — выход 

void loop() 
 


ф 


Достарыңызбен бөлісу:
1   2   3   4   5




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет