36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
1

Arduino Скетч Blink Led=8

09.08.2024, 17:43. Показов 1607. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Все привет!
Подскажите?

Нужен Arduino Скетч Blink Led=8

Пишу Пример:

Blink Led=1 работает.
C
1
2
3
4
5
6
7
8
9
10
11
const int LED=13; 
                          
void setup() 
   pinMode(13, OUTPUT);
  }
void loop() {
   digitalWrite(13, HIGH); 
   delay(1000); 
   digitalWrite(13, LOW); 
   delay(1000);
  }
пытаюсь добавлять светодиоды по аналогии пишет Error компиляции.
Подскажите Плиз.

Есть готовый скетч на 8 лед. Тоже самое


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
47
48
49
50
51
52
53
54
55
56
57
Код Arduiuo /*Arduiuo _ 8LED*/
 
//**************//
 
 
// Даем ему имя:
Int D1 = 9;
Int D2 = 8;
Int D3 = 7;
Int D4 = 6;
Int D5 = 5;
Int D6 = 4;
Int D7 = 3;
Int D8 = 2;
 
// Процедура установки запускается один раз при нажатии кнопки reset:
Void setup() {
// Инициализировать цифровой вывод как выход.
 
PinMode (D1, выход);
PinMode (D2, выход);
PinMode (D3, выход);
PinMode (D4, выход);
PinMode (D5, выход);
PinMode (D6, выход);
PinMode (D7, выход);
PinMode (D8, выход);
}
 
// Процедура цикла запускается снова и снова вечно:
Пустая петля () {
DigitalWrite (D1, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // подождите 200 миллисекунду
DigitalWrite (D1, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D2, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D2, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D3, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D3, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D4, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D4, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D5, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D5, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D6, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D6, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D7, высокий); // включаем светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D7, низкий); // выключите светодиодный, сделав напряжение низким
DigitalWrite (D8, высокий); // Включите светодиодный (высокий-уровень напряжения)
Задержка (200); // ждем миллисекунду
DigitalWrite (D8, низкий); // выключите светодиодный, сделав напряжение низким
}
//**************//

В чем может быть проблема? В инете все примеры типовые посмотреть негде.



Всем спасибо разобрался.
Кому надо.

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
47
48
49
void setup() {                
  
  pinMode(9, OUTPUT); 
  pinMode(8, OUTPUT); 
  pinMode(7, OUTPUT); 
  pinMode(6, OUTPUT); 
  pinMode(5, OUTPUT); 
  pinMode(4, OUTPUT); 
  pinMode(3, OUTPUT);
  pinMode(2, OUTPUT);    
}
 void loop() {
  
  
  digitalWrite(9, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(9, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
  digitalWrite(8, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(8, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
  
   digitalWrite(7, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(7, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
   digitalWrite(6, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(6, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
   digitalWrite(5, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(5, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
   digitalWrite(4, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(4, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
   digitalWrite(3, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(3, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
}
Кто может еще, что подскажет по теме.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2024, 17:43
Ответы с готовыми решениями:

Не загружается скетч Blink
Здравствуйте, не могу загрузить обычный скетч блинк, неделю назад загружался. В окне выдает...

Arduino nano не загружается скетч
В общем заказал я с али и пришла мне ардуино nano v3 . По совершенно копеечной цене. Но вот...

Аналог Arduino Nano - не загружается скетч
На Али купил аналог Arduino Nano и Uno (прикрепил скриншоты Nano). Использую Arduino IDE. Скетч...

Как загрузить скетч в arduino pro mini с телефона
Доброго времени суток, форумчане. Столкнулся с проблемой загрузки скетча с андроида через...

13
Модератор
1154 / 586 / 279
Регистрация: 10.11.2019
Сообщений: 1,238
09.08.2024, 18:54 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void setup() {                
int i;
for (i=9;i>=2;i--)  pinMode(i, OUTPUT); 
}
 
void loop() {
int i;
for (i=9;i>=2;i--) 
  {digitalWrite(i, HIGH);   // зажигаем светодиод
   delay(1000);              // ждем секунду
   digitalWrite(i, LOW);    // выключаем светодиод
   delay(1000);              // ждем секунду
  }
}
1
Модератор
Эксперт по электронике
8941 / 6708 / 920
Регистрация: 14.02.2011
Сообщений: 23,645
09.08.2024, 20:17 3
Цитата Сообщение от zbw Посмотреть сообщение
// Даем ему имя:
Int D1
что такое Int?
0
36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
09.08.2024, 21:27  [ТС] 4
qbfan Спасибо я понял тебя.
Подучился на ходу. Понял свои ошибки и исправил.

Приятно со специалистом пообщатся.
Если можно еще вопрос пока в тему, если не трудно ответить.

К Arduino подключены светодиод и тактильная кнопка. При нажатии на кнопку светодиод должен начать гореть 12 секунд, затем погаснуть.

Что самое непонятное для меня как сделать Задержку 12 секунд. Самое главное.
С остальным может быть разберусь.

Пример для для начала разговора.


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int buttonPin = 2; // Контакт для кнопки
int ledPin = 8; // Контакт для светодиода
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Настройка режима - на вход с подтягивающим резистором
pinMode(ledPin, OUTPUT); // Настройка режима - на выход
}
void loop() {
int buttonState = digitalRead(buttonPin); // Получаем значение с кнопки
while (buttonState == LOW) { // Условие цикла while
digitalWrite(ledPin, HIGH); // Включаем светодиод
delay(200); // Пауза 200 миллисекунд
digitalWrite(ledPin, LOW); // Выключаем светодиод
delay(200); // Пауза 200 миллисекунд
buttonState = digitalRead(buttonPin); // Обновляем состояние кнопки
}
}
С уважением...
0
547 / 388 / 77
Регистрация: 24.09.2017
Сообщений: 2,200
Записей в блоге: 17
10.08.2024, 09:27 5
https://arduino.ru/Reference/D... n408421658
Ещё лучше тут:
https://arduinomaster.ru/progr... l460364626
0
36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
10.08.2024, 18:34  [ТС] 6
Кому интересно выкладываю полностью рабочий скетч.
Для тех кто следил за темой.
Всем спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int buttonPin = 3; // Контакт для кнопки
int ledPin = 13; // Контакт для светодиода
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Настройка режима - на вход с подтягивающим резистором
pinMode(ledPin, OUTPUT); // Настройка режима - на выход
}
void loop() {
int buttonState = digitalRead(buttonPin); // Получаем значение с кнопки
while (buttonState == LOW) { // Условие цикла while
digitalWrite(ledPin, HIGH); // Включаем светодиод
delay(15000); // Пауза 15 секунд
digitalWrite(ledPin, LOW); // Выключаем светодиод
delay(180000); // Пауза 3 минуты
buttonState = digitalRead(buttonPin); // Обновляем состояние кнопки
}
}
----------------------------------------------------------------------------------------------------------------------------------
И скетч по предыдущему вопросу.
Минимальный код. Пригодится для проверки портов Ардуино. Для демок итд.
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
47
48
49
50
51
52
53
54
55
56
57
58
void setup() { 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT); 
  pinMode(5, OUTPUT); 
  pinMode(6, OUTPUT); 
  pinMode(7, OUTPUT); 
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(13, OUTPUT); 
 } 
  void loop() {
digitalWrite(3, HIGH);   // зажигаем светодиод
  delay(1000);              // ждем секунду
  digitalWrite(3, LOW);    // выключаем светодиод
  delay(1000);              // ждем секунду
 
digitalWrite(4, HIGH);   
  delay(1000);              
  digitalWrite(4, LOW);    
  delay(1000);              
 
digitalWrite(5, HIGH);   
  delay(1000);              
  digitalWrite(5, LOW);    
  delay(1000);             
 
digitalWrite(6, HIGH);   
  delay(1000);              
  digitalWrite(6, LOW);    
  delay(1000);              
 
   digitalWrite(7, HIGH);  
  delay(1000);             
  digitalWrite(7, LOW);    
  delay(1000);              
 
digitalWrite(8, HIGH);   
  delay(1000);              
  digitalWrite(8, LOW);    
  delay(1000);              
 
digitalWrite(9, HIGH);   
  delay(1000);              
  digitalWrite(9, LOW);    
  delay(1000);              
 
  digitalWrite(10, HIGH);   
  delay(1000);              
  digitalWrite(10, LOW);    
  delay(1000);              
 
  digitalWrite(13, HIGH);   
  delay(1000);              
  digitalWrite(13, LOW);    
  delay(1000);              
  }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Комментарий модератора 
zbw, пользуйтесь уже наконец тегами для выделения текстом программ, иначе начнется репрессии
0
Модератор
1154 / 586 / 279
Регистрация: 10.11.2019
Сообщений: 1,238
13.08.2024, 19:34 7
Цитата Сообщение от zbw Посмотреть сообщение
выкладываю полностью рабочий скетч.
Нет, ещё не рабочий. Попробуйте запустить вот эту программу.
Удобнее она или нет ? (только подставьте свои числа для светодиода и кнопки)

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
// Программа включения светодиода на длительное время
// по нажатию кнопки
#define BUTTON  6
#define LED  13
// Время выключения светодиода
long t=0;
// Флаг "Светодиод включен"
bool onflag=0;
 
void setup() {
int i;
pinMode(LED, OUTPUT); 
pinMode(BUTTON, INPUT_PULLUP);
// мигаем 3 раза, чтобы было видно, что программа стартовала
for (i=0;i<3;i++) {digitalWrite(LED, HIGH);delay(200);digitalWrite(LED, LOW);delay(200);}
}
 
void loop()
{
// Опрашиваем состояние кнопки каждые 200 мс
// Если кнопка нажата, то найдём время t гашения светодиода (через 5000 мс) и включим светодиод
// (если светодиод уже включен, то продлеваем время)
if (digitalRead(BUTTON)==0) {t=millis()+5000L;onflag=1;digitalWrite(LED, HIGH);}
// Если светодиод включен, то проверим, не подошло ли время выключить его. Если да, то выключаем
if (onflag) {if (millis()>t) {onflag=0;digitalWrite(LED, LOW);}}
// Здесь в цикле можно выполнять другие действия
// Задержка 2000 мс
delay (200);}
1
36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
15.08.2024, 22:24  [ТС] 8
Как добавить второй светодиод. Чтобы работали как бы паралельно.
Делаю всё по аналогии.

Есть ledPin = 4; --работает зажигается.

Добавляю ledPin = 13; -- Добавляю Для визуального контроля.

Скетч компилируется, загружается.

ledPin = 4; -работает зажигается.
Но ledPin = 13; --не горит. То есть не добавляется.
Видимо что то с именами ledPin неправильно указываю.
Или добавить второй светодиод нельзя.
С Уважением...


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
int buttonPin = 3; // Контакт для кнопки
int ledPin_1 = 4; // Контакт для светодиода
int ledPin_2 = 13; // Контакт для светодиода
 
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Настройка режима - на вход с подтягивающим резистором
 
pinMode(ledPin_1, OUTPUT); // Настройка режима - на выход
pinMode(ledPin_2, OUTPUT); // Настройка режима - на выход
}
 
void loop() {
int buttonState = digitalRead(buttonPin); // Получаем значение с кнопки
while (buttonState == LOW) { // Условие цикла while
 
digitalWrite(ledPin_1, HIGH); // Включаем светодиод
delay(180000); // Пауза 3 минуты
digitalWrite(ledPin_1, LOW); // Выключаем светодиод
delay(86220000); // Пауза 24 часа -3 мин
 
digitalWrite(ledPin_2, HIGH); // Включаем светодиод
delay(180000); // Пауза 3 минуты
digitalWrite(ledPin_2, LOW); // Выключаем светодиод
delay(86220000); // Пауза 24 часа -3 мин
 
buttonState = digitalRead(buttonPin); // Обновляем состояние кнопки
 
}
}
0
Эксперт по компьютерным сетямЭксперт NIX
13335 / 7471 / 816
Регистрация: 09.09.2009
Сообщений: 29,224
16.08.2024, 09:11 9
Цитата Сообщение от zbw Посмотреть сообщение
не горит.
24 часа ждал?
0
36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
16.08.2024, 22:17  [ТС] 10
24 часа ждал.
устройство все работает. но LedPin=13 не зажигается.
Второй дублирующий светодиод для визуального контроля на Ардуине.
0
2 / 2 / 0
Регистрация: 12.12.2016
Сообщений: 8
31.08.2024, 18:26 11
Цитата Сообщение от zbw Посмотреть сообщение
Как добавить второй светодиод. Чтобы работали как бы паралельно.
С delay() без извращений не выйдет. Вот здесь расписано параллельное выполнение задач как раз на примере светодиодов
1
36 / 48 / 6
Регистрация: 04.12.2022
Сообщений: 134
04.09.2024, 12:22  [ТС] 12
Кто может подсказать.?
Включается светодиод на 3 мин Пауза 24 часа.
Время сдвигается на 3 мин вперед. Каждые сутки. Удаляю в задержке-3 мин , все равно уходит вперед на 3 мин.
(Пауза 24 часа -3 мин) компенсация. 180000 мсек.
Что сделать чтобы время не сдвигалось.
???
0
2 / 2 / 0
Регистрация: 12.12.2016
Сообщений: 8
04.09.2024, 12:36 13
Сделать две задачи:
- Первая - включает светодиод запускает вторую задачу с интервалом в одни сутки.
- Вторая задача при первой итерации включает светодиод, при второй итерации выключает его и останавливается. Интервал - три минуты.

Бонусом будет возможность раздельного регулирования интервалов.

ЗЫ: Но нужно иметь в виду, что часы на миллисе очень неточные, за сутки вполне могут убегать на несколько минут
0
Модератор
1154 / 586 / 279
Регистрация: 10.11.2019
Сообщений: 1,238
04.09.2024, 13:42 14
Цитата Сообщение от zbw Посмотреть сообщение
Что сделать чтобы время не сдвигалось.
Использовать часы RTC-Тройка Работают от батарейки (т е даже тогда, когда сам девайс выключен),
очень точно ходят.
Миниатюры
Arduino Скетч Blink Led=8  
0
04.09.2024, 13:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2024, 13:42
Помогаю со студенческими работами здесь

Не компилируется скетч Arduino с ошибкой expected unqualified-id before '=' token
Здравствуйте. Сразу скажу, что я нуб в программировании. Это скетч для балансирующего робота. при...

Не работает Arduino. Не гаснет 13 led
Ребята помогите мне пожалуйста. Купил себе ардуино юно r3, немного разобрался в ней. Делал разные...

Передача информации для LED через Arduino c ПК по последовательному порту
Доброго времени суток. Сделал бегущую строку на Arduino из трех матриц. Все работает идеально,...

Управление RGB LED 12V лентой Arduino MEGA2560 транзистором TIP-120
Доброго времени суток. Сразу предупрежу, что с физикой дружу плохо и со схемотехникой дела до...

Ни led blink, ни реакции на main.c в Coocox
Добрый день! Пробую поморгать светодиодом. Сделал все как в видеоуроке ...

Arduino + LED driver
Здравствуйте, очень нужно помощь, в этом деле я новенький, но съедаю информацию обычно быстро,...


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

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

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