Урок 9-10. «Arduino. Цифровой и аналоговый сигналы. Пишем программы сами»


Урок 9-10.
Тема: Цифровой и аналоговый сигналы. Пишем программы сами
Для любознательных http://wiki.amperka.ru/Делитель напряженияПотенциометр
513969060960296062161432Список деталей для экспериментов
1 плата Arduino Uno
1 беспаечная макетная плата
1 тактовая кнопка
1 резистор номиналом 220 Ом
1 светодиод
1 пьезопищалка
6 проводов «папа-папа»
1 резистор номиналом 10 кОм
1 фоторезистор
1 термистор
1 потенциометр
1 схема. Резистивный датчик освещенности. Цифровой и аналоговый сигнал
1. Соберите схему : фоторезистор, резистор на 10 кОм, провода, плата. Датчик подключен к аналоговому входу А0, напряжение 5 В подается на положительную рельсу.
41430502315252.Загрузите программу: Файл – Примеры – 01.Basics – AnalogReadSerials
void setup() {
// инициализируем последовательную передачу данных со скоростью 9600 бит в секунду:
Serial.begin(9600);
}
void loop() {
// считываем входные данные на 0-вом аналоговом контакте:
int sensorValue = analogRead(A0);
// встроенная функция, отображает считанную информацию:
Serial.println(sensorValue);
delay(1);// задержка между считываниями – для стабильности программы
}


Как считать сигнал?
45129453270253. Откройте меню Инструменты – Монитор последовательного порта. Наблюдайте, что происходит с цифрами при закрытии датчика.
4. Замените фоторезистор в схеме на термистор. Снова запустите Монитор порта.
ВАЖНО! Когда меняете схему, не забывайте отключать питание!
5. Уберите термистор и резистор, замените их потенциометром.
Откройте Монитор порта и вращайте ручку потенциометра. Наблюдайте за изменением цифр.
В ходе экспериментов мы обнаружили, что, изменяя напряжение на аналоговом входе от 0 до 5 вольт, мы можем считать значения в контроллере от о до 1023.
ВАЖНО: программа была одна!
Как считать аналоговый сигнал?
int sensorValue = analogRead(A0);
Когда мы хотим считать значения с датчика, мы должны где-то его использовать. В данном случае мы сохраняем его в переменную. Или можно передать в качестве параметра в другую функцию, использовать в вычислениях.
Как происходит обмен данными через последовательный порт?
Serial.begin(9600);
Serial – это объект, который предоставляет библиотека Ардуино. Он предназначен для обмена данными через последовательный порт.
begin(9600) – вызов функции, но обычно его называют методом, 9600 – скорость обмена данными бит\с. Serial.println(sensorValue); println – другой метод, которому передает параметр – переменную, в которую сохранили данные.
4876165220980void setup() {
Serial.begin(9600);
Serial.println (“Privet!”)
}
void loop() {

Serial.print(millis());
Serial.print(\t);
delay(500);
}
Видоизмените программу:Загрузите скетч и посмотрите, что получилось.
302387022860
Какой из этих сигналов цифровой, а какой аналоговый?

4480560158750
Считывание цифрового сигнала.
В случае считывания сигнала, Контроллер будет определять, напряжение в данный момент меньше 3В или больше 3В, то есть состояние LOW будет считаться любое состояние меньше 3В и т.д..
43383204679952 эксперимент: тот сигнал, что приходит на вход 7, напрямую выходит на пин 13 – светодиод.
Получать этот сигнал будем с помощью тактовой кнопки (подключаем к 5 В, и к пину 7). Кнопка нажата – получаем 5 В на 7 входе и отправляем его на 13 выход.
Понадобится еще подтягивающий резистор (идет к линии Земля на макетной плате, кот соединена с землей Ардуино)
Напишите скетч самостоятельно.
Подсказка:
В процедуре loop() необходимо прописать одну строку:
digitalWrite (ИмяСветодиода_на_13_пине, digitalRead(ИмяОбъекта_на_7_пине));
Это значит, то напряжение, которое будет появляться на 7 входе будет передаваться на 13 выход.
Попробуйте убрать резистор из схемы. Что вы видите?
Подключите кнопку без резистора.
Как избавиться от шумов их эфира?
Воспользуйтесь оператором INPUT_PULLUP вместо INPUT (вход для кнопки) Это включает встроенный в Ардуино подтягивающий резистор к напряжению питания. Для этого второй провод переключаем с пяти вольт к земле.
Рефлексия. Научились считывать элементарный цифровой сигнал?
Составлено учителем физики
Кравченко Лорой Викторовной,
МБОУ «ГЮЛ №86», город Ижевск
2015 год

Приложенные файлы

  • docx file910
    Размер файла: 414 kB Загрузок: 0

Добавить комментарий