История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
Оснащения врачебно-сестринской бригады.
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2018-01-30 | 2577 |
5.00
из
|
Заказать работу |
|
|
Листинг:
1. #include <Servo.h>
2. #define SENSOR A0
3. Servo myServo;
4. void setup() {
5. myServo.attach(9);
6. }
7. void loop() {
8. //читаем показание сенсора освещенности
9. int lightness = analogRead(SENSOR);
10. //преобразуем показания сенсора в угол поворота шторки
11. //мин значение освещенности 800 потому что при полной темноте
12. //напряжение на входе А0 падает до 3,56В - это минимум. Макс.
13. //напряжение 4,53В. Соотвестенно находим минимум по пропорции
14. //3,56*1024/4,53 = 804
15. int angle = map(lightness, 800, 1023, 0, 180);
16. //открываем-закрываем шторки в зависимости от освещения
17. myServo.write(angle);
18. }
Эксперимент 18. Тестер батареек
В этом эксперименте мы выводим на жидкокристаллический дисплей данные о напряжении, измеренном на батарейке.
Принципиальная схема
Код
1. #include <LiquidCrystal.h>
2. #define DIODE_DROP 0.7
3. LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
4. void setup()
5. {
6. pinMode(7, OUTPUT);
7. lcd.begin(16, 2);
8. lcd.print("Battery voltage:");
9. }
10. void loop()
11. {
12. digitalWrite(7, HIGH);
13. float voltage = analogRead(A0) / 1024.0 * 10.0;
14. if (voltage > 0.1)
15. voltage += DIODE_DROP;
16. lcd.setCursor(0, 1);
17. lcd.print(voltage, 2);
18. lcd.print(" Volts");
19. }
Вопросы для проверки себя
Из-за чего измерения напряжения в этом эксперименте могут быть неточными (на что мы можем повлиять)?
Из-за падения напряжения на диоде, нужно прибавить это падение к конечному результату.
Какая библиотека облегчает работу с нашим текстовым экраном? Какие шаги нужно предпринять до начала вывода текста на него?
В этом эксперименте мы снова пользуемся готовой библиотекой <LiquidCrystal.h> для создания объекта lcd и использования его методов
· lcd.begin(cols,rows) с помощью которого мы задаем количество колонок и строк нашего дисплея
· lcd.print(data) для вывода данных. У него есть второй необязательный параметр BASE, передав который, можно выбрать систему счисления, так же, как в примере с Serial.print().
|
· lcd.setCursor(col,row) устанавливает курсор в переданную колонку и строку. Последующий вывод будет осуществляться с этого места.
Каким образом мы задаем позицию, с которой на экран выводится текст?
lcd.setCursor(col,row) устанавливает курсор в переданную колонку и строку. Последующий вывод будет осуществляться с этого места.
Можем ли мы писать на экране кириллицей? Как?
Можем, если закодируем каждую букву в шестнадцатеричной системе.
Эксперимент 19. Светильник, управляемый по USB
В этом эксперименте мы отправляем устройству команды, как ему светить.
Принципиальная схема
Код
1. #define LED_PIN 9
2. String message;
3. void setup()
4. {
5. pinMode(LED_PIN, OUTPUT);
6. Serial.begin(9600);
7. }
8. void loop()
9. {
10. while (Serial.available()) {
11. char incomingChar = Serial.read();
12. if (incomingChar >= '0' && incomingChar <= '9') {
13. message += incomingChar;
14. } else if (incomingChar == '\n') {
15. analogWrite(LED_PIN, message.toInt());
16. message = "";
17. }
18. }
19. }
Вопросы для проверки себя
Какие объекты позволяют легко манипулировать текстовыми данными?
Для работы с текстом существуют объекты-строки (англ. string)Stringmessage;
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!