Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Не обязательно, программа перейдет к следующему оператору, либо начнется заново.
7.Чем отличается оператор == от оператора =?
Оператор = это оператор присвоения, а == оператор сравнения.
Если мы используем конструкцию if (условие) действие1; else действие2;, может ли быть ситуация, когда ни одно из действий не выполнится? Почему?
Не может, так как в else условий мы никаких не задавали, он будет выполнятся во всех случаях когда if(условие) ложно.
Задания для самостоятельного решения
Перепишите программу без использования переменной tooDark с сохранением функционала устройства.
Листинг:
1. #define LED 13
2. #define SENSOR A0
3. #define POT A1
4. void setup() {
5. pinMode(LED, OUTPUT);
6. }
7. void loop() {
8. int lightness = analogRead(SENSOR);
9. int threshold = analogRead(POT);
10. if (lightness < threshold) {
11. digitalWrite(LED, HIGH);
12. }
13. else {
14. digitalWrite(LED, LOW);
15. }
16. }
Добавьте в схему еще один светодиод. Дополните программу так, чтобы при падении освещенности ниже порогового значения включался один светодиод, а при падении освещенности ниже половины от порогового значения включались оба светодиода.
Листинг:
1. #define LED1 11
2. #define LED2 9
3. #define SENSOR A0
4. #define POT A1
5. void setup() {
6. pinMode(LED1,OUTPUT);
7. pinMode(LED2,OUTPUT);
8. }
9. void loop() {
10. int lightness = analogRead(SENSOR);
11. int threshold = analogRead(POT);
12. if (lightness < threshold){
13. digitalWrite(LED1,HIGH);
14. //Используется 1,2 а не 2 потому, что при полной
15. //темноте U сенсора = 2,92В.
16. //А половина порогового значения(3,5В - средняя
17. //освещенность) по расчетам 1,72В.
18. //Поэтому было решено использовать другой коэфициент
19. //деления для наглядности работоспособности устройства.
20. if (lightness < threshold / 1.2){
21. digitalWrite(LED2,HIGH);
22. }
23. }
24. else {
25. digitalWrite(LED1,LOW);
26. digitalWrite(LED2,LOW);
27. };
28. }

Измените схему и программу так, чтобы светодиоды включались по прежнему принципу, но светились тем сильнее, чем меньше света падает на фоторезистор.
Листинг:
1. #define LED1 11
2. #define LED2 9
3. #define SENSOR A0
4. #define POT A1
5. void setup() {
6. pinMode(LED1,OUTPUT);
7. pinMode(LED2,OUTPUT);
8. }
9. void loop() {
10. int lightness = analogRead(SENSOR);
11. int threshold = analogRead(POT);
12. int brihtness = ~map(lightness,0,1023,0,255);
13. if (lightness < threshold){
14. analogWrite(LED1,brihtness);
15. //Используется 1,2 а не 2 потому, что при
16. //полной темноте U сенсора = 2,92В.
17. //А половина порогового значения(3,5В - средняя
18. //освещеность) по расчетам 1,72В.
19. //Поэтому было решено использовать другой коэфициент
20. //деления для наглядности работоспособности устройства.
21. if (lightness < threshold / 1.2){
22. analogWrite(LED2,brihtness);
23. }
24. }
25. else {
26. analogWrite(LED1,0);
27. analogWrite(LED2,0);
28. };
29. }
Эксперимент 6. Пульсар
В этом эксперименте мы плавно наращиваем яркость светодиодной шкалы, управляя большой нагрузкой через транзистор.
Принципиальная схема


Код
1. #define CONTROL_PIN 9
2. int brightness = 0;
3. void setup() {
4. pinMode(CONTROL_PIN, OUTPUT);
5. //Serial.begin(9600);
6. }
7. void loop() {
8. brightness = (brightness +1)%256;
9. //Serial.println(brightness);
10. analogWrite(CONTROL_PIN, brightness);
11. delay(10);
12. }
Вопросы для проверки себя
|
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!