Обязательно ли указывать, какие инструкции выполнять, если условие в операторе if ложно? — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Обязательно ли указывать, какие инструкции выполнять, если условие в операторе if ложно?

2018-01-30 3035
Обязательно ли указывать, какие инструкции выполнять, если условие в операторе if ложно? 4.75 из 5.00 4 оценки
Заказать работу

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

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. }

Вопросы для проверки себя


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.