Сделай Сам Свою Работу на 5

Практическое занятие 4. Опрос аналогового датчика температуры





Практическое занятие 1. Опрос переменного резистора

Нужные компоненты:

· переменный резистор

· три провода со штырьками на обоих концах: красный (+5 В), синий или черный (Gnd), один произвольного цвета (но не красного, синего или черного)

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

1. подключите переменный резистор по схеме

2. запустите среду разработки Arduino IDE и загрузите в контроллер программу Файл / Примеры / Analog / AnalogInput

3. попробуйте поворачивать ручку резистора. Светодиод L на плате должен мигать с периодом, зависящим от угла поворота резистора (который меняет напряжение на средней ножке)

Практическое занятие 2. Управление яркостью светодиода, чтение в Монитор порта

1. добавьте к предыдущей схеме светодиод с токоограничивающим резистором (на контакт D9), который будет изменять яркость в зависимости от уровня напряжения на A0:



2. загрузите в контроллер программу Файл / Примеры / Analog / AnalogInOutSerial

В данной программе для пересчета из диапазона входных значений 0…1023 (считанный analogRead) в диапазон выходных значений 0…255 (записываемый analogWrite) используется команда map:

map (пересчитываемое число, минимум входного, максимум входного, минимум выходного, максимум выходного)

map(100, 0, 1023, 0, 5) = 0,488; // пересчет в 5 В (100 на входе = 0,488 Вольт)

map(5, 0, 10, 0, 1000) = 500; // середина диапазона

map(0, 1023, 0, 0, 255) = 255; // может быть и диапазон от максимума к минимуму

3. убедитесь, что при вращении резистора меняется яркость светодиода

4. для передачи данных в компьютер используется набор команд Serial:

Serial.begin(9600); // установить связь с компьютером со скоростью 9600 Serial.print("sensor = "); // вывести символы в кавычках "" Serial.print(sensorValue); // вывести значение, хранящееся в sensorValue Serial.print("\t"); // табуляция (аналогично нажатию кнопки Tab в Word’е Serial.println(outputValue); // вывести значение, хранящееся в outputValue и перейти на следующую строку

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



Практическое занятие 3. Опрос аналогового датчика освещенности

Нужные компоненты:

· фоторезистор

· постоянный резистор на 1 кОм

· светодиод с токоограничивающим резистором

· провода со штырьками на обоих концах: красный (+5 В), синий или черный (Gnd), два произвольного цвета (но не красного, синего или черного)

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

2. для измерения напряжения на аналоговом входе (зависящем от уровня освещения фоторезистора) используйте программу Файл / Примеры / Analog / AnalogInOutSerial, выдающую данные в Монитор порта и зависимостью яркости светодиода

3. сделаем модель регулятора уровня освещения в комнате в зависимости от внешнего освещения: измените в программе на map(0, 1023, 0, 0, 255) и загрузите в контроллер. После этого светодиод должен гореть тем ярче, чем ниже освещение фоторезистора

Практическое занятие 4. Опрос аналогового датчика температуры

1. вместо фоторезистора подключите терморезистор (длинный зеленый резистор, согните ножки так, чтобы они входили в предыдущую схему вместо ножек фоторезистора)

2. откройте Монитор порта и запишите выдаваемые контроллером значения при комнатной температуре (без нагрева, 22°С) и при температуре тела (36°С, нагревать терморезистор пальцем и подождать, пока значение установится)

3. используя функцию map, напишите программу пересчета значений с аналогового датчика в градусы Цельсия и вывод в Монитор порта:

temperature = map(sensorValue, записанное значение при 22°С, записанное значение при 36°С, 22, 36); Serial.print("temperature = " ); Serial.println(temperature);

4. загрузите программу в контроллер и убедитесь, что при изменении температуры терморезистора меняется значение, выдаваемое в Монитор порта

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.