0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 38
1

Не меняется цвет светодиода

27.09.2019, 17:45. Показов 1060. Ответов 8

Author24 — интернет-сервис помощи студентам
Привет, помогите найти ошибку. Светодиод не меняет цвет при смене значений с датчика
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#define analogPin A0 // аналоговый выход MQ135 подключен к пину A0 Arduino
#define digitalPin 3 // цифровой выход подключен к пину 3
#define RED 9 // Присваиваем имя RED для пина 9
#define GREEN 10 // Присваиваем имя GREEN для пина 10
#define BLUE 11 // Присваиваем имя BLUE для пина 11
 
 
 
void setup() {
 
Serial.begin(9600); // инициализация последовательного порта
pinMode(analogPin, INPUT); // режим работы аналогового пина
pinMode(digitalPin, INPUT); // режим работы цифрового пина
delay(1000); // 
 
pinMode(RED, OUTPUT); // Используем Pin9 для вывода
pinMode(GREEN, OUTPUT); // Используем Pin10 для вывода
pinMode(BLUE, OUTPUT); // Используем Pin11 для вывода
}
 
void loop() {
  float analogValue; // для аналогового значения
  short digitalValue; // для цифрового значения
  analogValue = analogRead(analogPin); // чтение аналогового значения
  digitalValue = digitalRead(3); // чтение цифрового значения
  
  if (digitalValue <= 500) {
  digitalWrite(GREEN, HIGH); // Включаем ЗЕЛЕНЫЙ свет
  digitalWrite(RED, LOW);
  digitalWrite(BLUE, LOW);
  }
  else {
  digitalWrite(BLUE, HIGH); // Включаем СИНИЙ свет
  digitalWrite(GREEN, LOW);
  digitalWrite(RED, LOW);
  }
  
  if (digitalValue >= 1000)
  digitalWrite(RED, HIGH); // Включаем красный свет
  digitalWrite(GREEN, LOW);
  digitalWrite(BLUE, LOW);
 
  Serial.print("Уровень СО2: "); // вывод аналогового значения в последовательный порт
  Serial.println(analogValue);
  
  delay(1); //
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2019, 17:45
Ответы с готовыми решениями:

Регулировать цвет у RGB-светодиода
Добрый день! Подскажите, пожалуйста, такой момент. Задумал собрать (а попутно и...

Каков по восприятию цвет светодиода
Мне нужно идеально белый цвет; я уже обламался на 6500-филаментах - мертвецки получается; помогите...

Как поменять цвет светодиода “TAdvLed” из пакета “industrial 0.1”?
Этот пакет идёт в комплекте с Лазарусом, но устанавливается по мере необходимости. В Lazarus 1.3...

Если нажато "1" то меняется цвет(ну менять цвет не обезательно) kbhit ('0')-не работает!
if (kbhit()) HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); ...

8
80 / 80 / 78
Регистрация: 30.12.2015
Сообщений: 256
27.09.2019, 17:53 2
если значение >=1000 у тебя включается синий и гасит красный по первому условию и сразу выключается и включается красный по второму условию.
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 38
27.09.2019, 18:00  [ТС] 3
Есть идеи, как исправить ситуацию? Я уже торможу, не могу сообразить
0
80 / 80 / 78
Регистрация: 30.12.2015
Сообщений: 256
27.09.2019, 18:09 4
C++
1
2
3
4
5
6
7
8
9
10
if (digitalValue <= 500) {
  digitalWrite(GREEN, HIGH); // Включаем ЗЕЛЕНЫЙ свет
  digitalWrite(RED, LOW);
  digitalWrite(BLUE, LOW);
  }
  else  if (digitalValue < 1000) {   //Эту строчку отредактируй хотябы так
  digitalWrite(BLUE, HIGH); // Включаем СИНИЙ свет
  digitalWrite(GREEN, LOW);
  digitalWrite(RED, LOW);
  }
1
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 38
27.09.2019, 18:26  [ТС] 5
Никаких изменений
0
80 / 80 / 78
Регистрация: 30.12.2015
Сообщений: 256
27.09.2019, 18:31 6
значит у тебя проблема со значениями с датчиком
0
515 / 407 / 188
Регистрация: 08.04.2013
Сообщений: 1,739
28.09.2019, 01:21 7
Цитата Сообщение от Maria09 Посмотреть сообщение
digitalValue = digitalRead(3);
максимальная величина 255, откуда вы взяли 500 -1000? Это не аналоговый сигнал, да аналоговый может быть 1023
0
33 / 28 / 8
Регистрация: 17.02.2014
Сообщений: 120
28.09.2019, 08:16 8
Цитата Сообщение от Maria09 Посмотреть сообщение
digitalValue = digitalRead(3); // чтение цифрового значения
Вернёт только 0 или 1.
Что-то не так в алгоритме.
Зачем нужен "цифровой выход подключен к пину 3"?
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 38
28.09.2019, 08:38  [ТС] 9
Я нашла ошибку
0
28.09.2019, 08:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2019, 08:38
Помогаю со студенческими работами здесь

Не меняется цвет!
Здравствуйте! Есть Базой класс Shape, через который устанавливается цвет фигуры. Классы Circle и...

Не меняется цвет
Всем привет! В файле color.cpp через несколько блоков if описано изменение цвета консоли....

Не меняется цвет
Люди, не понимаю почему не работает код как надо, а надо чтобы по нажатию Enter загорался красный...

Не меняется цвет круга
PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &amp;ps); // TODO: Добавьте сюда...

Не меняется цвет элемента
Здравствуйте! Не могу понять, почему не меняется цвет текста в td. Вырезка из кода. Кратко - есть...

Цвет пирамиды не меняется
// Directx.cpp: определяет точку входа для приложения. // #include &quot;stdafx.h&quot; #include &quot;Pir.h&quot;...

Не меняется цвет кнопки
&lt;Button android:id=&quot;@+id/button3&quot; android:layout_width=&quot;50dp&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru