Потенциометр
Потенциометр — это электронный компонент, используемый для изменения электрического сопротивления и регулировки сигналов. Это тип изменяемого сопротивления, с помощью которого можно изменять ток или напряжение для достижения желаемого результата. Потенциометры широко используются в различных приложениях, включая аудиоустройства, регулировку освещения и другие электронные устройства.
Потенциометр обычно состоит из трех контактов: два из них соединены с резистором, а третий контакт подвижен, что позволяет регулировать сопротивление. При вращении подвижного контакта (также называемого щеткой) сопротивление изменяется, а значит, изменяется и выходной сигнал.
Существуют различные типы потенциометров, включая линейные и поворотные, которые отличаются принципом работы и областью применения. Эти компоненты незаменимы, так как позволяют пользователю регулировать работу устройства в соответствии с его пожеланиями и потребностями.
Эксперимент 2)
Использование потенциометра
Компоненты:
- Плата Arduino UNO (1 шт.)
- Макетная плата (1 шт.)
- Провода (7 шт.)
- Резистор (1 шт., 1 кОм)
- Светодиод (1 шт., красный)
Схема подключения:
Сначала необходимо установить светодиод и потенциометр на макетную плату и соединить их с ардуино по схеме, изображённой на рисунке. Для регулировки скорости мигания светодиода используется потенциометр.

int sensorPin = 0;
int ledPin = 13;
int sensorValue = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin); // loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023. See tähendab 10 bitilist täpsust (2^10 = 1024).
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
}
Praktiline töö 2 — Valguskett
Команды, которые здесь задействованы:
int ledPin[6] = {13,12,11,10,9,8};— Создание массива ledPin с шестью элементами и присвоение им пинов для управления светодиодами.int sensorValue = 0;— Объявление переменной sensorValue и присвоение ей значения 0.pinMode(ledPin[0], OUTPUT);,pinMode(ledPin[1], OUTPUT);, …,pinMode(ledPin[5], OUTPUT);— Настройка пинов массива ledPin на вывод данных.Serial.begin(9600);— Настройка последовательной связи для вывода данных через последовательный порт.int sensorPin = 0;— Объявление переменной sensorPin и присвоение ей значения 0.sensorValue = analogRead(sensorPin);— Считывание аналогового значения с пина, указанного в переменной sensorPin, и присвоение результата переменной sensorValue.sensorValue = map(sensorValue,0,1023,1,7);— Преобразование значения sensorValue из диапазона 0-1023 в диапазон 1-7.digitalWrite(ledPin[i], HIGH);иdigitalWrite(ledPin[i], LOW);— Управление состоянием пинов массива ledPin для включения и выключения светодиодов.delay(250);— Пауза в программе на 250 миллисекунд.
Задание “Световая цепочка”
Описание работы
Компоненты:
- Плата Arduino UNO (1 шт.)
- Макетная плата (1 шт.)
- Провода (11 шт.)
- Резисторы (6 шт., 1 кОм)
- Светодиоды (6 шт.: 2 красных, 2 зелёных, 2 синих)
Процесс работы:

int ledPin[6] = {13,12,11,10,9,8};
int sensorValue = 0;
void setup()
{
pinMode(ledPin[0], OUTPUT);
pinMode(ledPin[1], OUTPUT);
pinMode(ledPin[2], OUTPUT);
pinMode(ledPin[3], OUTPUT);
pinMode(ledPin[4], OUTPUT);
pinMode(ledPin[5], OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorPin = 0;
sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue,0,1023,1,7);
if (sensorValue==1){
digitalWrite(ledPin[0], HIGH);
delay(250);
digitalWrite(ledPin[0], LOW);
delay(250);
digitalWrite(ledPin[1], HIGH);
delay(250);
digitalWrite(ledPin[1], LOW);
delay(250);
digitalWrite(ledPin[2], HIGH);
delay(250);
digitalWrite(ledPin[2], LOW);
delay(250);
digitalWrite(ledPin[3], HIGH);
delay(250);
digitalWrite(ledPin[3], LOW);
delay(250);
digitalWrite(ledPin[4], HIGH);
delay(250);
digitalWrite(ledPin[4], LOW);
delay(250);
digitalWrite(ledPin[5], HIGH);
delay(250);
digitalWrite(ledPin[5], LOW);
delay(250);
}
else if (sensorValue==2) {
digitalWrite(ledPin[0], HIGH);
digitalWrite(ledPin[3], HIGH);
delay(250);
digitalWrite(ledPin[0], LOW);
digitalWrite(ledPin[3], LOW);
delay(250);
digitalWrite(ledPin[1], HIGH);
digitalWrite(ledPin[4], HIGH);
delay(250);
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[4], LOW);
delay(250);
digitalWrite(ledPin[2], HIGH);
digitalWrite(ledPin[5], HIGH);
delay(250);
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[5], LOW);
delay(250);
}
else if (sensorValue==3) {
int i = rand();
int a=i%6;
digitalWrite(ledPin[a], HIGH);
delay(250);
digitalWrite(ledPin[a], LOW);
delay(250);
}
else if (sensorValue==4) {
digitalWrite(ledPin[0], HIGH);
digitalWrite(ledPin[1], HIGH);
digitalWrite(ledPin[2], HIGH);
digitalWrite(ledPin[3], HIGH);
digitalWrite(ledPin[4], HIGH);
digitalWrite(ledPin[5], HIGH);
delay(500);
digitalWrite(ledPin[0], LOW);
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[3], LOW);
digitalWrite(ledPin[4], LOW);
digitalWrite(ledPin[5], LOW);
delay(500);
}
else if (sensorValue==5) {
digitalWrite(ledPin[0], HIGH);
digitalWrite(ledPin[5], HIGH);
delay(250);
digitalWrite(ledPin[0], LOW);
digitalWrite(ledPin[5], LOW);
delay(250);
digitalWrite(ledPin[1], HIGH);
digitalWrite(ledPin[4], HIGH);
delay(250);
digitalWrite(ledPin[1], LOW);
digitalWrite(ledPin[4], LOW);
delay(250);
digitalWrite(ledPin[2], HIGH);
digitalWrite(ledPin[3], HIGH);
delay(250);
digitalWrite(ledPin[2], LOW);
digitalWrite(ledPin[3], LOW);
delay(250);
}
else if (sensorValue==6) {
digitalWrite(ledPin[0], HIGH);
delay(150);
digitalWrite(ledPin[1], HIGH);
digitalWrite(ledPin[0], LOW);
delay(150);
digitalWrite(ledPin[2], HIGH);
digitalWrite(ledPin[1], LOW);
delay(150);
digitalWrite(ledPin[3], HIGH);
digitalWrite(ledPin[2], LOW);
delay(150);
digitalWrite(ledPin[4], HIGH);
digitalWrite(ledPin[3], LOW);
delay(150);
digitalWrite(ledPin[5], HIGH);
digitalWrite(ledPin[4], LOW);
delay(150);
digitalWrite(ledPin[5], LOW);
}