Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

гоcть
2023-07-11 21:44:56

Перший пункт також не виконується, бо не всі світлодіоди вмикаються на 3 секунди. Відповідь #13 (по-друге) може виправити цю ситуацію, або змініть умови.

г0cть
2023-07-04 17:18:14

R-G ще й можна з’єднати між собою

г0cть
2023-07-04 17:09:51

По-перше, у вас "поворотники" просто вмикаються/вимикаються, тобто analogWrite(xxx,255/0) можна цілком замінити на digitalWrite(xxx, HIGH/LOW). По-друге, синій світлодіод взагалі завжди вимкнений. Його або не підключати зовсім, або, для перестраховки, підключити постійно на gnd. analogWrite залишається лише стоп-сигнал

max9834kfj
2023-07-04 17:08:56
г0cть пише:

А вам скільки потрібно?

7-9 на стрічку і не менше 2 на кнопки

г0cть
2023-07-04 16:40:30

А вам скільки потрібно?

max9834kfj
2023-07-04 16:37:18
г0cть пише:

Просто задійте відповідні піни

що робити якщо недостатньо дозволених пінів
*на офіційному сайті прочитав що для Нано це тільки 6 пінів(3, 5, 6, 9, 10, 11)

г0cть
2023-07-04 16:22:58

Просто задійте відповідні піни

max9834kfj
2023-07-04 16:13:51
г0cть пише:

1) п. 2
2) відповідь #4. Почитайте про analogWrite

зрозумів, яку команду варто використати в цьому випадку

г0cть
2023-07-04 16:08:06

1) п. 2
2) відповідь #4. Почитайте про analogWrite

гОсть
2023-07-04 15:54:17
г0cть пише:

Як задумано - не буде

чому? В чому помилка?

г0cть
2023-07-04 15:26:40

Як задумано - не буде

akapulko
2023-07-04 15:25:42
гОсть пише:

Потрібно перевірити правильність коду, чи буде працювати як задумано

Не буде працювати, якщо ви мали на увазі uno/nano board

гОсть
2023-07-04 15:05:55
г0cть пише:

У чому потрібна допомога? Зібрати макет і первірити чи блимають світлодіоди? Чи в чомусь іншому?

Потрібно перевірити правильність коду, чи буде працювати як задумано

г0cть
2023-07-04 14:46:58

У чому потрібна допомога? Зібрати макет і первірити чи блимають світлодіоди? Чи в чомусь іншому?

max9834kfj
2023-07-04 13:12:33

написав код для поворотників з RGB стрічки (правий/лівий жовтий поворотник і червоний стоп)
Даний код повинен виконувати такі функції:
1. при запуску на 3 секунди увімкнути всі світлодіоди відповідними кольорами
2. постійно світити червоним стоп_сигналом
3. при натисканні правої/лівої кнопки вмикати мигаючий поворотник і стоп(також мигаючий, зі зменшеною яскравістю)
4. поворотники повинні мигати доки натиснута кнопка

#define buttonPin_1 2  //кнопка_1
#define buttonPin_2 3  //кнопка_2

#define Left_R_PIN 4  //лівий червоний
#define Left_G_PIN 5  //лівий зелений
#define Left_B_PIN 6  //лівий синій

#define Right_R_PIN 7  //правий червоний
#define Right_G_PIN 8  //правий зелений
#define Right_B_PIN 9  //правий синій

#define Stop_R_PIN 10  //червоний стоп

void setup() {
  //налаштування пінів RGBстрічки на вихід
  pinMode(Left_R_PIN, OUTPUT);
  pinMode(Left_G_PIN, OUTPUT);
  pinMode(Left_B_PIN, OUTPUT);
  pinMode(Right_R_PIN, OUTPUT);
  pinMode(Right_G_PIN, OUTPUT);
  pinMode(Right_B_PIN, OUTPUT);
  pinMode(Stop_R_PIN, OUTPUT);

  //налаштування пінів кнопок на вхід
  pinMode(buttonPin_1, INPUT);
  pinMode(buttonPin_2, INPUT);

  //при запуску увімкнути всі світлодіоди своїми кольорами на 3 секунди
  analogWrite(Stop_R_PIN, 255);

  analogWrite(Right_R_PIN, 255);
  analogWrite(Right_G_PIN, 255);
  analogWrite(Right_B_PIN, 0);
 
  analogWrite(Left_R_PIN, 255);
  analogWrite(Left_G_PIN, 255);
  analogWrite(Left_B_PIN, 0);
 
  delay(3000);
 
  analogWrite(Stop_R_PIN, 0);
 
  analogWrite(Right_R_PIN, 0);
  analogWrite(Right_G_PIN, 0);
  analogWrite(Right_B_PIN, 0);
 
  analogWrite(Left_R_PIN, 0);
  analogWrite(Left_G_PIN, 0);
  analogWrite(Left_B_PIN, 0);

}

void loop() {
  analogWrite(Stop_R_PIN, 255);
  delay(500);
  analogWrite(Stop_R_PIN, 0);
  delay(500);
  if (digitalRead(buttonPin_1) == HIGH) {    //якщо кнопка_1 натиснута
    delay(500);                              //почекати 0,5 секунди
    if (digitalRead(buttonPin_1) == HIGH) {  //якщо досі натиснута, увімкнути правий поворотник
      analogWrite(Stop_R_PIN, 180);
      analogWrite(Right_R_PIN, 255);
      analogWrite(Right_G_PIN, 255);
      analogWrite(Right_B_PIN, 0);
      delay(500);
      analogWrite(Stop_R_PIN, 0);
      analogWrite(Right_R_PIN, 0);
      analogWrite(Right_G_PIN, 0);
      analogWrite(Right_B_PIN, 0);
      delay(500);
    }
  }
  if (digitalRead(buttonPin_2) == HIGH) {    //якщо кнопка_2 натиснута
    delay(500);                              //почекати 0.5 секунди
    if (digitalRead(buttonPin_2) == HIGH) {  //якщо досі натиснута, увімкнути лівий поворотник
      analogWrite(Stop_R_PIN, 180);
      analogWrite(Left_R_PIN, 255);
      analogWrite(Left_G_PIN, 255);
      analogWrite(Left_B_PIN, 0);
      delay(500);
      analogWrite(Stop_R_PIN, 0);
      analogWrite(Left_R_PIN, 0);
      analogWrite(Left_G_PIN, 0);
      analogWrite(Left_B_PIN, 0);
      delay(500);
    }
  }
}

Підвал форуму