Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Калибровка аналогового датчика для Arduino

Аналоговый датчик (например, потенциометр, датчик света) подключается к аналоговому входу 2. Светодиод на цифровой выход 9.

Соедините светодиодный цифровой вывод 9 с резистором 220 Ом для ограничения тока. Подключите фотоэлемент к выводу 5, а затем к аналоговому выводу 0 с резистором 10 кОм в качестве подтягивающего на землю.

До установки, необходимо задать начальные значения минимального и максимального уровня, вот так:

 
Код:

int sensorMin = 1023; // минимальное значение
int sensorMax = 0; // максимальное значение

 
Они могут показаться обратными. Первоначально, вы устанавливаете высокий уровень и читаете значение ниже, сохраняя его как новый минимум. Кроме того, вы установите максимально низкий и будете считывать что-нибудь выше, новый максимум, вот так:
 

 

 
Код:
// калибровка на протяжении 5с
while (millis () < 5000) {
sensorValue = analogRead (sensorPin);

// установим максимальное значение
if (sensorValue > sensorMax) {
sensorMax = sensorValue;
}

// установим минимальное значение
if (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}

Таким образом, любые дальнейшие показания могут быть сопоставлены в диапазоне между этим минимальным и максимальным:

// применим калибровку
sensorValue = map (sensorValue, sensorMin, sensorMax, 0, 255);

Вот целая программа:

/ *
Калибровка

Демонстрируется одна методика калибровки датчика.

Схема:
* аналоговый датчик (потенциометр например): аналоговый вход 0
* светодиод: цифровой пин 9 и к земле

http://arduino.cc/en/Tutorial/Calibration

*/

// Эти константы не будут изменятся:
const int sensorPin = A0; // вывод к которому подключен датчик
const int ledPin = 9; // вывод к которому подключен светодиод

// переменные:
int sensorValue = 0; // значение датчика
int sensorMin = 1023; // минимальное значение датчика
int sensorMax = 0; // максимальное значение датчика

void setup () {
// подключаем светодиод как индикатор начала работы:
pinMode (13, OUTPUT);
digitalWrite (13, HIGH);

// калибровка на протяжении 5 с
while (millis () < 5000) {
sensorValue = analogRead (sensorPin);

// установим максимальное значение
if (sensorValue > sensorMax) {
sensorMax = sensorValue;
}

// установим минимальное значение
if (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}

// выключим светодиод вконце
digitalWrite (13, LOW);
}

void loop () {
// считываем информацию с датчика:
sensorValue = analogRead (sensorPin);

// применяем калибровку
sensorValue = map (sensorValue, sensorMin, sensorMax, 0, 255);

// если значение сенсора вышло за пределы калибровки
sensorValue = constrain (sensorValue, 0, 255);

// включить светодиод по калибровочному значению:
analogWrite (ledPin, sensorValue);
}


C этой схемой также часто просматривают:

ЗАЖИГАЛКА ДЛЯ ГАЗА
Зарядное устройство для автомобильных и мотоциклетных батарей
Зарядное устройство для автомобильных аккумуляторов
Имитатор для проверки телефонных аппаратов
Простые датчики для охранной сигнализации
USB порт как источник питания
Часы DS1302 для Arduino Uno с ЖК экраном BTHQ 22005VSS
Arduino UNO урок 14 - цифровой компас HMC5883L
Arduino UNO урок 13 - драйвер двигателя L298N

Главные категории

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU




Последние поступления

Графический семиполосный эквалайзер-радуга на Arduino Nano и MSGEQ7

Часы реального времени для Arduino

Старинные часы-метеостанция

Блок питания для Arduino из ATX

ATX блок питания управляемый Arduino

Arduino своими руками с USB портом

Подключение монетоприемника к Arduino

Подключение PS/2 клавиатуры к Arduino

Пробуждение ПК по сети на Arduino

Запись/чтение на SD-карту с Arduino



© 2003—2017 «KAZUS.RU - Электронный портал»