Потенциометр
Потенциометр — это электронный компонент, используемый для изменения электрического сопротивления и регулировки сигналов. Это тип изменяемого сопротивления, с помощью которого можно изменять ток или напряжение для достижения желаемого результата. Потенциометры широко используются в различных приложениях, включая аудиоустройства, регулировку освещения и другие электронные устройства.
Потенциометр обычно состоит из трех контактов: два из них соединены с резистором, а третий контакт подвижен, что позволяет регулировать сопротивление. При вращении подвижного контакта (также называемого щеткой) сопротивление изменяется, а значит, изменяется и выходной сигнал.
Существуют различные типы потенциометров, включая линейные и поворотные, которые отличаются принципом работы и областью применения. Эти компоненты незаменимы, так как позволяют пользователю регулировать работу устройства в соответствии с его пожеланиями и потребностями.
Эксперимент 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); }