Serial.println(count);
delay(1000);
count++;
}
Мы добавили переменную
void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT);
}
void loop() {
int read = analogRead(A0);
Serial.print(" reading: ");
Serial.println (read);
if (read > 400) {
digitalWrite(11, HIGH);
} else {
digitalWrite(11, LOW);
}
delay(100);
}
В setup настроим последовательный порт и контакт 11, так что он будет вести себя как выход. В loop значение, взятое из analogRead, хранится в переменной read. Если значение переменной read больше, чем пороговое значение, равное 400, то светодиод на контакте 11 будет гореть. У нас есть задержка 100 мс, чтобы ограничить число чтений: было бы бесполезно читать температуру тысячу раз в секунду. Пороговое значение мы установили произвольно, и, возможно, схема, на первый взгляд может показаться неработающей. Откройте Serial Monitor Arduino и просмотрите значения, которые получаются: используем их для установки правильного порогового значения.
Другие команды
Верьте или нет, описанные четыре команды являются наиболее часто используемыми в проектах с «Ардуино»! Есть много других функций, о которых вы можете проконсультироваться онлайн или на сайтах помощи по «Ардуино». Позвольте мне указать на некоторые другие интересные функции.
Функция tone() создает музыкальную ноту нужной частоты. «Ардуино» может играть только одну ноту за один раз. Чтобы услышать ноты, мы должны подключить небольшой пьезоэлектрический зуммер или динамик на желаемый контакт. Частота должна быть введена в герцах, а продолжительность ноты в миллисекундах.
analogRead
«Ардуино» может считывать аналоговые значения и преобразовать их в число от 0 до 1023. На плате были зарезервированы 6 контактов для выполнения данной операции. Контакты называются А0, А1, А2, A3, А4 и А5. Мы можем подключить любой тип аналогового датчика, который вырабатывает напряжение от 0 до 5 В. Попробуем подключить термистор к «Ардуино» и прочитать его значение.
Термистор имеет значение сопротивления «в покое» примерно 10 кОм, поэтому мы последовательно подключим его с резистором на 10 кОм, образуя делитель напряжения, подключенный между GND (Землей) и 5 В «Ардуино». Подключим контакт АО к центральной точке делителя.
Рис. А7.
Схема соединения «Ардуино» с термистора на макетной платеДля использования аналогового входа нет необходимости указывать это в setup. Давайте попробуем загрузить скетч, который считывает напряжение на выводах термистора, если напряжение превышает определенное значение, то светодиод будет включен или выключен. Мы также будем использовать последовательный порт для отображения значения, считываемого с датчика.
tone (контакт, частота, продолжительность)
Чтобы узнать, сколько миллисекунд включен «Ардуино» мы используем функцию millis(), которая возвращает переменную типа long (она может содержать целые числа, большие по величине, чем обеспечивает int). Присваиваемый номер растет до максимального значения (равного примерно пятьдесят дней), а затем снова начинается с нуля.
millis()
Можно получить более высокую точность с функцией micros(), которая работает в микросекундах. Чтобы определить длительность импульса на контакте, мы можем использовать функцию pulseIn(), которая возвращает число в миллисекундах. Если мы ожидаем импульс высокого уровня на контакте, то как только контакт приходит на высокий уровень, выполнение скетча приостанавливается в ожидании конца импульса. Мы можем обнаружить импульсы высокого или низкого уровня, а также установить время ожидания, так что, если по истечении некоторого времени импульс не переключается, pulseIn заканчивается, и программа может быть продолжена.
pulseIn(pin, value)
pulseIn (pin, value, timeout)
Приложение В Ардуиноскоп
Не каждый может позволить себе дорогой осциллограф, но многие из нас могут иметь «Ардуино» в ящике. Мы могли бы использовать его в сочетании с программным обеспечением для отображения графики, чтобы построить простой DIY-осциллограф. Этот инструмент очень ограничен по функциональности и обладает очень низкой производительностью, но, несмотря на эти ограничения, может быть очень полезным для «наблюдения» сигналов в цепи, даже очень приблизительным образом.