Потенциометр
Подключение потенциометра
Аналоговые входы
Функция analogRead
Задача 1
Схема
Scatch
Задание для самостоятельного решения
Фоторезистор
Фоторезистор
Схема подключения фоторезистора
Код программы управления фоторезистором
Терменвокс: изменяем высоту звучания бесконтактным путем, закрывая от света фоторезистор.
Задания для самостоятельного решения
Ночной светильник
Задания для самостоятельного решения
Термистор
Термистор
Термистор
Комнатный термометр
Задания для самостоятельного решения
Микрофон
Зажечь светодиод по хлопку
1.49M
Category: electronicselectronics

Потенциометр, фото и терморезистор

1. Потенциометр

2.

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

3. Подключение потенциометра

Для подключения
потенциометра
необходимо
использовать 3 вывода:
• 5V
• A0 (либо другой
аналоговый вход)
• GND

4. Аналоговые входы

Аналоговый сигнал – это непрерывно
изменяющийся во времени сигнал, показывающий,
как изменяется та или иная величина.
Аналоговые входы считывают данные с аналоговых
датчиков. Пины Arduino, соответствующие
аналоговым входам, имеют номера А0-А5.

5. Функция analogRead

Функция ввода аналоговой информации
analogRead считывает значение с указанного
аналогового входа. Напряжение, поданное на
аналоговый вход (0-5 В) будет преобразовано в
значение 0-1023.
Синтаксис:
analogRead(pin);
Если аналоговый вход не подключен, то значения,
возвращаемые функцией analogRead, могут
принимать случайные значения!

6. Задача 1

Подключить к Arduino потенциометр, который будет
управлять яркостью светодиода.
Для эксперимента нам понадобятся:
1. платформа Arduino
2. USB-кабель
3. пьезоизлучатель
4. соединительные провода
5. макетная плата
6. светодиод
7. резистор 220 Ом

7. Схема

8. Scatch

#define LED_PIN 9
#define POT_PIN A0
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(POT_PIN, INPUT);
}
void loop()
{
int rotation, brightness;
rotation = analogRead(POT_PIN);
brightness = rotation / 4;
analogWrite(LED_PIN, brightness);
}

9. Задание для самостоятельного решения

• Подключите еще один светодиод. Измените код
таким образом, чтобы второй светодиод
светился на 1/8 от яркости первого.
• Схема с потенциометром. В монитор
последовательного порта выводится значение (в
вольтах), соответствующее напряжению на
аналоговом входе. Изменение напряжения
путем поворота ручки потенциометра
отображается на экране.

10. Фоторезистор

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

11. Фоторезистор

Фоторезисторы чаще всего используются для
определения наличия или отсутствия света или для
измерения интенсивности света.
В темноте сопротивление фоторезисторов очень
высокое, иногда доходит до 1 МОм, но когда датчик
подвергается воздействию света, его
сопротивление падает вплоть до нескольких
десятков Ом.
Это свойство используется во многих устройствах
(системы уличного освещения, охранные
системы).

12. Схема подключения фоторезистора

13. Код программы управления фоторезистором

void setup(){
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(100);
}

14. Терменвокс: изменяем высоту звучания бесконтактным путем, закрывая от света фоторезистор.

#define BUZZER_PIN 3
#define LDR_PIN A0
void setup(){
pinMode(BUZZER_PIN, OUTPUT);
}
void loop()
{
int val, frequency;
val = analogRead(LDR_PIN);
frequency = map(val, 0, 1023, 3500, 4500);
tone(BUZZER_PIN, frequency, 20);
}

15. Задания для самостоятельного решения

• Измените код программы так, чтобы с
падением освещенности звук становился
ниже (например, падал от 5 кГц до 2,5
кГц).
• Измените код программы так, чтобы звук
терменвокса раздавался не непрерывно,
а 10 раз в секунду с различимыми
паузами.

16. Ночной светильник

#define LED_PIN 13
#define LDR_PIN A0
#define POT_PIN A1
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop()
{
int lightness = analogRead(LDR_PIN);
int threshold =
analogRead(POT_PIN);
boolean tooDark = (lightness <
threshold);
if (tooDark) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
}

17. Задания для самостоятельного решения

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

18. Термистор

Термистор – это переменный резистор,
меняющий своё сопротивление в зависимости от
температуры окружающей среды. При изменении
температуры на 1 градус по Цельсию, термисторы
способны изменять сопротивление на 100…120 Ом
Обозначение на схеме

19. Термистор

Термисторы бывают двух типов: с положительным и
отрицательным температурным коэффициентом.
У термистора с положительным коэффициентом
при повышении температуры сопротивление
возрастает, а с отрицательным коэффициентом –
уменьшается.
Термистор может измерять температуру до 125°C,
но сами контакты порой рассчитаны на меньшую
температуру. То есть, термистор не стоит
использовать температуры слишком горячих
жидкостей

20. Термистор

Термисторы используются в метеорологических
лабораториях (метеостанциях), в системах
пожарной безопасности (при коротком
замыкании, согласно закона Ома, сила тока
увеличивается, термистор нагревается и
срабатывает как предохранитель) и в других
устройствах.

21. Комнатный термометр

#include <math.h>
#define TERM 4300
#define VIN 5.0
void setup() {
for (int i = 0; i < 10; ++i)
pinMode(i + 2, OUTPUT);
}
void loop() {
float voltage = analogRead(A0) * VIN / 1023.0;
float r1 = voltage / (VIN - voltage);
float temperature = 1./( 1./(TERM)*log(r1)+1./(25. + 273.) ) - 273;
for (int i = 0; i < 10; ++i) {
boolean enableSegment = (temperature >= 21+i);
digitalWrite(i + 2, enableSegment);
}
}

22. Задания для самостоятельного решения

На экран выводится комнатная температура в
данный момент времени.
Измените код программы таким образом, чтобы
индикатор включался при 0 градусов и его
показания прирастали на одно деление каждые 5
градусов.
Добавьте в схему пьезопищалку и доработайте
программу так, чтобы срабатывала звуковая
сигнализация при достижении температуры,
например, 25 градусов.

23. Микрофон

Микрофон – электроакустический прибор,
преобразующий акустические колебания в
электрические.
Микрофон используется для измерения шума,
управления роботом (поехать по хлопку или
остановиться), определения различных звуков.
Обозначение на схеме

24.

Модуль имеет 4 вывода:
”+” – питание
“G” – “земля”
“A0” – аналоговый выход, передающий выходное
напряжения на микрофоне
“D0” – цифровой выход, посылающий логическую
единицу при достижении порогового уровня
громкости

25.

const int digital = 2;
const int analog = A0;
void setup(){
pinMode(digital, INPUT);
Serial.begin(9600);
}
void loop(){
Serial.print("Digital: ");
Serial.print(digitalRead(digital));
Serial.print(", Analog: ");
Serial.println(analogRead(analog));
delay(50);
}

26. Зажечь светодиод по хлопку

27.

const int digital = 2;
const int analog = A0;
const int led = 9;
void setup(){
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop(){
Serial.print("Digital: ");
Serial.print(digitalRead(digital));
Serial.print(", Analog: ");
Serial.println(analogRead(analog));
delay(50);
if (analogRead(analog) < 625 || analogRead(analog) > 637){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
}
}
English     Русский Rules