Как можно сделать, чтобы пьезодинамик и ргб работали вместе? И с помощью какого цикла можно сделать, чтобы при хлопке они начи

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

Добрый день. Я - новичок в Arduino и сейчас нахожусь в процессе создания простенького проекта - ёлки, которая начинает гореть разными цветами и переливаться, когда слышит хлопок. Меня интересует вопрос - как  можно сделать, чтобы пьезодинамик и ргб работали вместе? И с помощью какого цикла можно сделать, чтобы при хлопке они начинали работать? 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик пишет:

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

А кто такой ргб? И в чём собственно проблема? Они не работают вместе? В чём это выражается?

Черрик пишет:

с помощью какого цикла можно сделать, чтобы при хлопке они начинали работать? 

Никаким циклом это не делается. Совсем никаким.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ргб это, наерна, российская государственная библиотека.  

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DetSimen пишет:

ргб это, наерна, российская государственная библиотека.  

Ну это-то понятно, а с чего её не работать вместе с пьезодинамиком? Проблема-то в чём?

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

Я запускаю программу, датчик звука должен считать хлопок,  после чего сначала запускается процедура с пьезодинамиком, мелодия заканчивается, и начинает гореть rgb. Я же хочу, чтобы пьезодинамик и rgb работали одновременно до тех пор, когда датчик звука не считает второй хлопок, и они выключатся.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик пишет:

Я запускаю программу

Да, неужели? Ну, и где эта программа? Почему я её не вижу? Форум глючит?

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

int tonePin = 11; 
int redPin = 3;

int greenPin = 5;

int bluePin = 6;
void setup() {
pinMode(2,OUTPUT); 
pinMode(A0,INPUT);
pinMode(redPin, OUTPUT);

pinMode(greenPin, OUTPUT);

pinMode(bluePin, OUTPUT);
}
void gori()
{
analogWrite(redPin, 255);

analogWrite(greenPin, 0);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 15);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 30);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 255);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 125);

analogWrite(bluePin,208);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 255);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 0);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin,192);

analogWrite(greenPin, 50);

analogWrite(bluePin,192);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 0);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 50);

analogWrite(bluePin,10);
}

void midi() {

tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 293, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 329, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 587, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 659, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 493, 675.0);
delay(750.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 293, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 329, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 659, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 450.0);
delay(500.0);
tone(tonePin, 587, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 391, 337.5);
delay(375.0);
tone(tonePin, 440, 112.5);
delay(125.0);
tone(tonePin, 493, 450.0);
delay(500.0);
delay(500.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 337.5);
delay(375.0);
tone(tonePin, 523, 112.5);
delay(125.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 450.0);
delay(500.0);
tone(tonePin, 587, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 391, 337.5);
delay(375.0);
tone(tonePin, 440, 112.5);
delay(125.0);
tone(tonePin, 493, 450.0);
delay(500.0);
delay(500.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 337.5);
delay(375.0);
tone(tonePin, 523, 112.5);
delay(125.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 675.0);
delay(750.0);
}

void loop() {
while(analogRead(A0)>60)
{
midi();
gori();

if(analogRead(A0)>60)

{

break;
}}}

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик, Вас устроит совет типа: исправьте ошибку в строке № ХренЗнает ?

Если нет, то сначала прочитайте вот эту тему, а потом вставьте код нормально.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

1. ТС (то есть Топик Стартер - автор темы), родной, ты почему не прочел, как код вставляют? Ведь даже кнопочка "code" всерху формы ввода приделана? С телефона - сложнее, но в телефоне врядли есть текст программы, да?

2. Дед и Женя, мы ж договаривались - в песочнице не сразу гнобить новичков?

3. ТС. С тем, что ты выложил сделать ничего нельзя - просто выбросить. Тебе нужно пересмотреть свой взгляд на программу.

Следует видеть программу не как цельное действие  - например проигрывание мелодии, а как маленькие инструкции для, к примеру, "шустрого эльфа". Допустим эльф прибегает каждые ...ну пусть  10миллисекунд (мс) и проверяет свой график: "Так, посмотрим на часы, не пора ли поменять ноту в мелодии? Если пора - поменяем". Таким же образом смотрим на отдельные шаги управления цветом: посмотреть на часы, свериться с графиком и, если уже пора, поменять цвет.

Каждое действие эльфа - должно быть коротким, чтобы за 10 мс он успел сделать их все и еще пива попить! ;))) Попить и снова притупить к своей бесконечной, но полезной работе.

------

Стало понятнее?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:

2. Дед и Женя, мы ж договаривались - в песочнице не сразу гнобить новичков?

А кто гнобит? Я помогаю изо всех сил.

Код не смотрел, так и не буду - нехай вставит как положено

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

DetSimen, конкретно, что не так?

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Черрик пишет:

DetSimen, конкретно, что не так?

Неправильно вставленный код никто не читает - это правило.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

читай мудрого Пингвина, сообщение #8.  

Я с ним согласен, своё сообщение выпилил, не буду глумица. 

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

wdrakula, спасибо, хоть кто-то здесь нормальный есть. Всё стало понятно. Извините, но я на этом сайте сижу лишь с этого дня, и правил не знаю.

 

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018
1.	int tonePin = 11; 
2.	int redPin = 3;

3.	int greenPin = 5;

4.	int bluePin = 6;
5.	void setup() {
6.	pinMode(2,OUTPUT); 
7.	pinMode(A0,INPUT);
8.	pinMode(redPin, OUTPUT);

9.	pinMode(greenPin, OUTPUT);

10.	pinMode(bluePin, OUTPUT);
11.	}
12.	void gori()
13.	{
14.	analogWrite(redPin, 255);

15.	analogWrite(greenPin, 0);

16.	analogWrite(bluePin,0);
17.	delay(1000);
18.	analogWrite(redPin, 255);

19.	analogWrite(greenPin, 15);

20.	analogWrite(bluePin,0);
21.	delay(1000);
22.	analogWrite(redPin, 255);

23.	analogWrite(greenPin, 30);

24.	analogWrite(bluePin,0);
25.	delay(1000);
26.	analogWrite(redPin, 0);

27.	analogWrite(greenPin, 255);

28.	analogWrite(bluePin,0);
29.	delay(1000);
30.	analogWrite(redPin, 255);

31.	analogWrite(greenPin, 125);

32.	analogWrite(bluePin,208);
33.	delay(1000);
34.	analogWrite(redPin, 0);

35.	analogWrite(greenPin, 255);

36.	analogWrite(bluePin,255);
37.	delay(1000);
38.	analogWrite(redPin, 0);

39.	analogWrite(greenPin, 0);

40.	analogWrite(bluePin,255);
41.	delay(1000);
42.	analogWrite(redPin,192);

43.	analogWrite(greenPin, 50);

44.	analogWrite(bluePin,192);
45.	delay(1000);
46.	analogWrite(redPin, 255);

47.	analogWrite(greenPin, 0);

48.	analogWrite(bluePin,255);
49.	delay(1000);
50.	analogWrite(redPin, 255);

51.	analogWrite(greenPin, 50);

52.	analogWrite(bluePin,10);
53.	}

54.	void midi() {

55.	tone(tonePin, 293, 225.0);
56.	delay(250.0);
57.	tone(tonePin, 493, 225.0);
58.	delay(250.0);
59.	tone(tonePin, 440, 225.0);
60.	delay(250.0);
61.	tone(tonePin, 391, 225.0);
62.	delay(250.0);
63.	tone(tonePin, 293, 450.0);
64.	delay(500.0);
65.	delay(250.0);
66.	tone(tonePin, 293, 225.0);
67.	delay(250.0);
68.	tone(tonePin, 293, 225.0);
69.	delay(250.0);
70.	tone(tonePin, 493, 225.0);
71.	delay(250.0);
72.	tone(tonePin, 440, 225.0);
73.	delay(250.0);
74.	tone(tonePin, 391, 225.0);
75.	delay(250.0);
76.	tone(tonePin, 329, 450.0);
77.	delay(500.0);
78.	delay(250.0);
79.	tone(tonePin, 329, 225.0);
80.	delay(250.0);
81.	tone(tonePin, 329, 225.0);
82.	delay(250.0);
83.	tone(tonePin, 523, 225.0);
84.	delay(250.0);
85.	tone(tonePin, 493, 225.0);
86.	delay(250.0);
87.	tone(tonePin, 440, 225.0);
88.	delay(250.0);
89.	tone(tonePin, 587, 450.0);
90.	delay(500.0);
91.	delay(250.0);
92.	tone(tonePin, 587, 225.0);
93.	delay(250.0);
94.	tone(tonePin, 659, 225.0);
95.	delay(250.0);
96.	tone(tonePin, 587, 225.0);
97.	delay(250.0);
98.	tone(tonePin, 523, 225.0);
99.	delay(250.0);
100.	tone(tonePin, 440, 225.0);
101.	delay(250.0);
102.	tone(tonePin, 493, 675.0);
103.	delay(750.0);
104.	tone(tonePin, 293, 225.0);
105.	delay(250.0);
106.	tone(tonePin, 293, 225.0);
107.	delay(250.0);
108.	tone(tonePin, 493, 225.0);
109.	delay(250.0);
110.	tone(tonePin, 440, 225.0);
111.	delay(250.0);
112.	tone(tonePin, 391, 225.0);
113.	delay(250.0);
114.	tone(tonePin, 293, 450.0);
115.	delay(500.0);
116.	delay(250.0);
117.	tone(tonePin, 293, 225.0);
118.	delay(250.0);
119.	tone(tonePin, 293, 225.0);
120.	delay(250.0);
121.	tone(tonePin, 493, 225.0);
122.	delay(250.0);
123.	tone(tonePin, 440, 225.0);
124.	delay(250.0);
125.	tone(tonePin, 391, 225.0);
126.	delay(250.0);
127.	tone(tonePin, 329, 450.0);
128.	delay(500.0);
129.	delay(250.0);
130.	tone(tonePin, 329, 225.0);
131.	delay(250.0);
132.	tone(tonePin, 329, 225.0);
133.	delay(250.0);
134.	tone(tonePin, 523, 225.0);
135.	delay(250.0);
136.	tone(tonePin, 493, 225.0);
137.	delay(250.0);
138.	tone(tonePin, 440, 225.0);
139.	delay(250.0);
140.	tone(tonePin, 587, 225.0);
141.	delay(250.0);
142.	tone(tonePin, 587, 225.0);
143.	delay(250.0);
144.	tone(tonePin, 587, 225.0);
145.	delay(250.0);
146.	tone(tonePin, 587, 225.0);
147.	delay(250.0);
148.	tone(tonePin, 659, 225.0);
149.	delay(250.0);
150.	tone(tonePin, 587, 225.0);
151.	delay(250.0);
152.	tone(tonePin, 523, 225.0);
153.	delay(250.0);
154.	tone(tonePin, 440, 225.0);
155.	delay(250.0);
156.	tone(tonePin, 391, 450.0);
157.	delay(500.0);
158.	tone(tonePin, 587, 450.0);
159.	delay(500.0);
160.	tone(tonePin, 493, 225.0);
161.	delay(250.0);
162.	tone(tonePin, 493, 225.0);
163.	delay(250.0);
164.	tone(tonePin, 493, 450.0);
165.	delay(500.0);
166.	tone(tonePin, 493, 225.0);
167.	delay(250.0);
168.	tone(tonePin, 493, 225.0);
169.	delay(250.0);
170.	tone(tonePin, 493, 450.0);
171.	delay(500.0);
172.	tone(tonePin, 493, 225.0);
173.	delay(250.0);
174.	tone(tonePin, 587, 225.0);
175.	delay(250.0);
176.	tone(tonePin, 391, 337.5);
177.	delay(375.0);
178.	tone(tonePin, 440, 112.5);
179.	delay(125.0);
180.	tone(tonePin, 493, 450.0);
181.	delay(500.0);
182.	delay(500.0);
183.	tone(tonePin, 523, 225.0);
184.	delay(250.0);
185.	tone(tonePin, 523, 225.0);
186.	delay(250.0);
187.	tone(tonePin, 523, 337.5);
188.	delay(375.0);
189.	tone(tonePin, 523, 112.5);
190.	delay(125.0);
191.	tone(tonePin, 523, 225.0);
192.	delay(250.0);
193.	tone(tonePin, 493, 225.0);
194.	delay(250.0);
195.	tone(tonePin, 493, 225.0);
196.	delay(250.0);
197.	tone(tonePin, 493, 112.5);
198.	delay(125.0);
199.	tone(tonePin, 493, 112.5);
200.	delay(125.0);
201.	tone(tonePin, 493, 225.0);
202.	delay(250.0);
203.	tone(tonePin, 440, 225.0);
204.	delay(250.0);
205.	tone(tonePin, 440, 225.0);
206.	delay(250.0);
207.	tone(tonePin, 493, 225.0);
208.	delay(250.0);
209.	tone(tonePin, 440, 450.0);
210.	delay(500.0);
211.	tone(tonePin, 587, 450.0);
212.	delay(500.0);
213.	tone(tonePin, 493, 225.0);
214.	delay(250.0);
215.	tone(tonePin, 493, 225.0);
216.	delay(250.0);
217.	tone(tonePin, 493, 450.0);
218.	delay(500.0);
219.	tone(tonePin, 493, 225.0);
220.	delay(250.0);
221.	tone(tonePin, 493, 225.0);
222.	delay(250.0);
223.	tone(tonePin, 493, 450.0);
224.	delay(500.0);
225.	tone(tonePin, 493, 225.0);
226.	delay(250.0);
227.	tone(tonePin, 587, 225.0);
228.	delay(250.0);
229.	tone(tonePin, 391, 337.5);
230.	delay(375.0);
231.	tone(tonePin, 440, 112.5);
232.	delay(125.0);
233.	tone(tonePin, 493, 450.0);
234.	delay(500.0);
235.	delay(500.0);
236.	tone(tonePin, 523, 225.0);
237.	delay(250.0);
238.	tone(tonePin, 523, 225.0);
239.	delay(250.0);
240.	tone(tonePin, 523, 337.5);
241.	delay(375.0);
242.	tone(tonePin, 523, 112.5);
243.	delay(125.0);
244.	tone(tonePin, 523, 225.0);
245.	delay(250.0);
246.	tone(tonePin, 493, 225.0);
247.	delay(250.0);
248.	tone(tonePin, 493, 225.0);
249.	delay(250.0);
250.	tone(tonePin, 493, 112.5);
251.	delay(125.0);
252.	tone(tonePin, 493, 112.5);
253.	delay(125.0);
254.	tone(tonePin, 587, 225.0);
255.	delay(250.0);
256.	tone(tonePin, 587, 225.0);
257.	delay(250.0);
258.	tone(tonePin, 523, 225.0);
259.	delay(250.0);
260.	tone(tonePin, 440, 225.0);
261.	delay(250.0);
262.	tone(tonePin, 391, 675.0);
263.	delay(750.0);
264.	}

265.	void loop() {
266.	while(analogRead(A0)>60)
267.	{
268.	midi();
269.	gori();

270.	if(analogRead(A0)>60)

271.	{

272.	break;
273.	}}}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Черрик пишет:

wdrakula, спасибо, хоть кто-то здесь нормальный есть. Всё стало понятно. Извините, но я на этом сайте сижу лишь с этого дня, и правил не знаю.

 

Плохо заходишь. А я просто еще трезвый.

Тут все нормальные, кроме новичков. Сперва гугль и яндекс, потом форум. На форуме - сначала правила, чтение и поск, потом - вопросы. Никто не обязан тебя уважать и тебе отвечать. Будь вежлив и достоин помощи.

Про код с делеями - уже 100500 страниц на ВСЕХ форумах написано. Ты полагаешь кому-то тут интересно все это снова объяснять? Причем тому, кто поленился САМ поискать в гугле и яндексе?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик пишет:

я на этом сайте сижу лишь с этого дня, и правил не знаю.

А почитать прибитую гвоздями тему, на которую я, к тому же дал прямую ссылку в посте #7, религия не позволила?

Теперь про вставленный Вам код. Перевставляйте заново. Просто открывайте окно вставки кода и переносите туда код из IDE копипастом! Номера строк он и без Вас вставит. Делайте так, чтобы я мог просто скопировать оттуда и запустить у себя! Зачем Вы издеваетесь-то?

Вставите нормально, посмотрим.

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018
int tonePin = 11; 
int redPin = 3;

int greenPin = 5;

int bluePin = 6;
void setup() {
pinMode(2,OUTPUT); 
pinMode(A0,INPUT);
pinMode(redPin, OUTPUT);

pinMode(greenPin, OUTPUT);

pinMode(bluePin, OUTPUT);
}
void gori()
{
analogWrite(redPin, 255);

analogWrite(greenPin, 0);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 15);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 30);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 255);

analogWrite(bluePin,0);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 125);

analogWrite(bluePin,208);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 255);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin, 0);

analogWrite(greenPin, 0);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin,192);

analogWrite(greenPin, 50);

analogWrite(bluePin,192);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 0);

analogWrite(bluePin,255);
delay(1000);
analogWrite(redPin, 255);

analogWrite(greenPin, 50);

analogWrite(bluePin,10);
}

void midi() {

tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 293, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 329, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 587, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 659, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 493, 675.0);
delay(750.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 293, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 293, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 225.0);
delay(250.0);
tone(tonePin, 329, 450.0);
delay(500.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 329, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 659, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 450.0);
delay(500.0);
tone(tonePin, 587, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 391, 337.5);
delay(375.0);
tone(tonePin, 440, 112.5);
delay(125.0);
tone(tonePin, 493, 450.0);
delay(500.0);
delay(500.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 337.5);
delay(375.0);
tone(tonePin, 523, 112.5);
delay(125.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 440, 450.0);
delay(500.0);
tone(tonePin, 587, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 450.0);
delay(500.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 391, 337.5);
delay(375.0);
tone(tonePin, 440, 112.5);
delay(125.0);
tone(tonePin, 493, 450.0);
delay(500.0);
delay(500.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 523, 337.5);
delay(375.0);
tone(tonePin, 523, 112.5);
delay(125.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 225.0);
delay(250.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 493, 112.5);
delay(125.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 587, 225.0);
delay(250.0);
tone(tonePin, 523, 225.0);
delay(250.0);
tone(tonePin, 440, 225.0);
delay(250.0);
tone(tonePin, 391, 675.0);
delay(750.0);
}

void loop() {
while(analogRead(A0)>60)
{
midi();
gori();

if(analogRead(A0)>60)

{

break;
}}}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

А теперь перечитай мое сообщение №8 и скажи, понял ли ты хоть что-то. Также неплохо бы знать объем твоего опыта в программировании. Чайнику и начинающемы по разному нужно объяснять.

sadman41
Offline
Зарегистрирован: 19.10.2016
Интересная кострукция:
while(analogRead(A0)>60) { 
 
if(analogRead(A0)>60) { 
   break; 
  }
}

 

Типа for(i=0; i < 1; i++) что ли?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Господа-коллеги! Я сейчас уеду - повезу жену на апгрейд головы (в парикмахерскую ;)) ). Поэтому отключаюсь на время.

Давайте без группового изнасилования, плз?

Нужно просто пройти по тривиальной декомпозиции:

1. Выяснить, что ТС понятнее - объекты или классика и так и делать дальше.

2. На примере мелодии делаем СТАРТ, СТОП, СТЕП.

3. ДОбавляем для света СТАРТ, СТОП,  СТЕП.

4. Добавляем сенсор хлопка.

5. соединяем все вместе.

=====================

Так подробно, чтобы потом ПОМЕСТИТЬ КАК ПРИМЕР в Песочнице и больше НИКОГДА не возвращяться к подобной херне!!!

....

Все, убегаю, сорри.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, слава Богу. В следующий раз ещё пере втсавкой Ctrl+T нажмите.

Ну, что, поехали разгребать.

1. Строки №№ 1, 2, 4 и 6

1) Вы собираетесь менять номера пинов во время работы программы? Судя по коду - нет. Тогда явно пишите const
2) Зачем Вам целый int для таких маленьких чисел? Они что у Вас больше, чем 127 (или даже 255?). Пишите байтовое целое, память не резиновая.

Таким образом, строки №№ 1, 2, 4 и 6 переходят в

const int8_t tonePin = 11;
const int8_t redPin = 3;
const int8_t greenPin = 5;
const int8_t bluePin = 6;

2. Строка № 9

Этот пин Вы собираетесь использовать для analogRead, стало быть никакие pinMode ему не нужны.

Это строку просто выбрасываете.

3. Строки №№ 16-77

У Вас тут 10 раз написано одно и тоже. И не лень было? А если бы нужно было 100 раз? Не проще ли определить массив цветов, а потом выполнить эти три строчки для каждого элемента массива? И короче, и менять цвета легче потом.

Примерно так:

void gori() {
	const struct { 
		uint8_t r, g, b; 
	} rgb[] = {
		{255, 0, 0}, {255, 15, 0}, {255, 30, 0}, {0, 255, 0}, {255, 125, 208}, 
		{0, 255, 255}, {0, 0, 255}, {192, 50, 192}, {255, 0, 255}, {255, 50, 10}
	};
	const int8_t lastColorIdx = sizeof(rgb) / sizeof(rgb[0]) - 1;

	for (int8_t i = 0; i <= lastColorIdx; i++) {
		analogWrite(redPin, rgb[i].r);
		analogWrite(greenPin, rgb[i].g);
		analogWrite(bluePin, rgb[i].b);
		if (i < lastColorIdx) delay(1000);
	}
}

Если я нигде не опечатался, то здесь написано тоже, что и у Вас в строках 16-77, но почувствуйте разницу.

4. Строки №№ 81 и 82 (и все остальные, где таже чушь написана)

Аргументы функций tone и delay целые. ЧТо у Вас там делает ".0"? Нафиг убирайте. То, что у Вас там иногда стоит не ".0", а ".5" - плюньте, разотрите и забудьте. Пераметр целый, так что Ваша .5 всё равно буде выброшена нафиг.

5. Строки №№ 79-290

У Вас тут 101  (!!!) раз написано одно и тоже. Неужели не лень??? Можно же частоты и длительности вынести в массив (как выше с цветами) а потом спокойно всё проиграть. Ну, блин, и мелодию хоть поменять можно будет!

Примерно так:

void midi() {
	const struct { 
		int freq, duration, dly; 
	} sounds[] = {
		{293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {293, 450, 750}, 
		{293, 225, 250}, {293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, 
		{329, 450, 750}, {329, 225, 250}, {329, 225, 250}, {523, 225, 250}, {493, 225, 250}, 
		{440, 225, 250}, {587, 450, 750}, {587, 225, 250}, {659, 225, 250}, {587, 225, 250}, 
		{523, 225, 250}, {440, 225, 250}, {493, 675, 750}, {293, 225, 250}, {293, 225, 250}, 
		{493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {293, 450, 750}, {293, 225, 250}, 
		{293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {329, 450, 750}, 
		{329, 225, 250}, {329, 225, 250}, {523, 225, 250}, {493, 225, 250}, {440, 225, 250}, 
		{587, 225, 250}, {587, 225, 250}, {587, 225, 250}, {587, 225, 250}, {659, 225, 250}, 
		{587, 225, 250}, {523, 225, 250}, {440, 225, 250}, {391, 450, 500}, {587, 450, 500}, 
		{493, 225, 250}, {493, 225, 250}, {493, 450, 500}, {493, 225, 250}, {493, 225, 250}, 
		{493, 450, 500}, {493, 225, 250}, {587, 225, 250}, {391, 337, 375}, {440, 112, 125}, 
		{493, 450, 1000}, {523, 225, 250}, {523, 225, 250}, {523, 337, 375}, {523, 112, 125}, 
		{523, 225, 250}, {493, 225, 250}, {493, 225, 250}, {493, 112, 125}, {493, 112, 125}, 
		{493, 225, 250}, {440, 225, 250}, {440, 225, 250}, {493, 225, 250}, {440, 450, 500}, 
		{587, 450, 500}, {493, 225, 250}, {493, 225, 250}, {493, 450, 500}, {493, 225, 250}, 
		{493, 225, 250}, {493, 450, 500}, {493, 225, 250}, {587, 225, 250}, {391, 337, 375}, 
		{440, 112, 125}, {493, 450, 1000}, {523, 225, 250}, {523, 225, 250}, {523, 337, 375}, 
		{523, 112, 125}, {523, 225, 250}, {493, 225, 250}, {493, 225, 250}, {493, 112, 125}, 
		{493, 112, 125}, {587, 225, 250}, {587, 225, 250}, {523, 225, 250}, {440, 225, 250}, 
		{391, 675, 750}
	};
	const uint8_t melodieLength = sizeof(sounds) / sizeof(sounds[0]);

	for (uint8_t i = 0; i < melodieLength; i++) {
		tone(tonePin, sounds[i].freq, sounds[i].duration);
		delay(sounds[i].dly);
	}
}

Если я нигде не опечатался, то здесь написано тоже, что и у Вас в строках 79-290, но почувствуйте разницу.

6. Строки №№ 298-303

Эти строки не несут никакой нагрузки и являются полнейшим бредом. Выбросьте.

теперь, если Вы переделаете скетч, проверите, убедитесь, что работает, и выложите новую версию, мы сможем поговорить и о параллельности. Но сначала выложите новую версию. Только про Ctrl+t не забудьте

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Я вернулся, но ТС пропал. :)))

Ждем, когда ТС ответит про свой уровень подготовки и можно описывать "маленьких трудолюбивых эльфов".

Не смейтесь, просто Рождество, хоть и бусурманское, Джингл Беллс и все эти вещи... Я пока добрый, но еще чуть-чуть и уже пора быть не трезвым! ;)))))

================

Женя! Ты, как я понял, хочешь новичка все-таки группой от...учить? Я к тому, что не стоит ковыряться и причесывать ту херню, что он выложил. Очень трудно, но на мой взгляд необходимо дать понять, что нужно иначе смотреть на программу в целом. Видеть не процесс, а уметь выделять элементарный шаг. Я про опыт у ТС спрашиваю, потому, что програмисты интерфейсов под ПК такой опыт имеют. И шаг отрисовки и опрос интерфейса.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:
Я про опыт у ТС спрашиваю, потому, что програмисты интерфейсов под ПК такой опыт имеют.
Об чём Вы, прости, Господи! 101 раз прописать одно и тоже не зная что такое цикл ... интерфейсники ... Вам хочется этим заниматься? Вперёд! :)))

P.S. Там нонеча Великий на форуме нарисовался. Мож и Клапа в честь Нового года реанимируется?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Нет, Женя, совершенно не хочется. Но мы вместе придумали песочницу. И вместе решили не посылать тут новичков нахер. Где-то же они должны учиться? Мне проще и дальше нести свет учения Великого Неназываемого (в том, что Он не успел запрететить ;))) ), и всласть глумиться над 100500 раз задавамыми глупыми вопросами.

Но, повторю, мы придумали Песочницу. Тут нужно обяъснять, иначе мы сами, перед собой, будем балаболами. Как-то так.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Ко всему вышеперчисленному уважаемымы товарищами хочу еще добавить, что 

Черрик пишет:

Меня интересует вопрос - как  можно сделать, чтобы пьезодинамик и ргб работали вместе? И с помощью какого цикла можно сделать, чтобы при хлопке они начинали работать? 

НИКАК.

Для определения, того, что хлопнули в ладоши нужен микрофон.

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Черрик, чтобы написать вменяемую программу, сначала нужно составить алгортим - описать последовательность действий, что и когда должен делать микроконтроллер (МК). Для начала лучше по-русски. А когда алгоритм будет готов - перевести его с русского на Си.

Как же составлять алгоритм?

Открою Вм страшную тайну: бролее чем в 90% случаев МК должен действовать в точности так же, как действовал бы человек на его месте.

Вот смотрите, что Вы пишете:

- включить ноту,

- дождаться, когда она закончится,

- включить ноту,

- дождаться, когда она закончится,

- включить ноту,

- дождаться, когда она закончится,

...

- включить ноту,

- дождаться, когда она закончится,

- все, все ноты проиграны - переходим к светодиодам,
- включить нужные светодиоды,
- дождаться, когда надо будет их переключать,
...
 
Где здесь одновременная работа пьезопищалки и светодиодов?
Как написали, так и работает!
 
Теперь представьте себя на месте МК:
У Вас есть два расписания, для пищалки и для светодиодов, - когда что включать.
У Вас есть куча тумблеров, чтобы включать и выключать те или иные устройства.
У Вас есть часы, по которым можно определять текущее время.
Вам нужно, чтобы одновременно играла музыка и горели светодитоды.
Напишите последовательность Ваших действий.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

По-моему, ТС забил, мы тут одни упражняесмя :)

gorar
Offline
Зарегистрирован: 11.12.2018

ЕвгенийП пишет:

По-моему, ТС забил, мы тут одни упражняесмя :)

 

Ну, может ТС и забИл, но для других новичков Очень популярно изложен принцып построения программы (на мой взгляд)

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

ЕвгенийП, спасибо огромное. Но я ещё не знаю, что такое массив))) 

wdrakula, опыта у меня вообще нет. Я занимаюсь Аrduino полгода.

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018
const int8_t tonePin = 11;
const int8_t redPin = 3;
const int8_t greenPin = 5;
const int8_t bluePin = 6;
void setup() {
pinMode(2,OUTPUT); 
pinMode(redPin, OUTPUT);

pinMode(greenPin, OUTPUT);

pinMode(bluePin, OUTPUT);
}
void gori()
{
    const struct {
        uint8_t r, g, b;
    } rgb[] = {
        {255, 0, 0}, {255, 15, 0}, {255, 30, 0}, {0, 255, 0}, {255, 125, 208},
        {0, 255, 255}, {0, 0, 255}, {192, 50, 192}, {255, 0, 255}, {255, 50, 10}
    };
    const int8_t lastColorIdx = sizeof(rgb) / sizeof(rgb[0]) - 1;
    for (int8_t i = 0; i <= lastColorIdx; i++) {
        analogWrite(redPin, rgb[i].r);
        analogWrite(greenPin, rgb[i].g);
        analogWrite(bluePin, rgb[i].b);
        if (i < lastColorIdx) delay(1000);
    }
}
void midi() {
    const struct {
        int freq, duration, dly;
    } sounds[] = {
        {293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {293, 450, 750},
        {293, 225, 250}, {293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250},
        {329, 450, 750}, {329, 225, 250}, {329, 225, 250}, {523, 225, 250}, {493, 225, 250},
        {440, 225, 250}, {587, 450, 750}, {587, 225, 250}, {659, 225, 250}, {587, 225, 250},
        {523, 225, 250}, {440, 225, 250}, {493, 675, 750}, {293, 225, 250}, {293, 225, 250},
        {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {293, 450, 750}, {293, 225, 250},
        {293, 225, 250}, {493, 225, 250}, {440, 225, 250}, {391, 225, 250}, {329, 450, 750},
        {329, 225, 250}, {329, 225, 250}, {523, 225, 250}, {493, 225, 250}, {440, 225, 250},
        {587, 225, 250}, {587, 225, 250}, {587, 225, 250}, {587, 225, 250}, {659, 225, 250},
        {587, 225, 250}, {523, 225, 250}, {440, 225, 250}, {391, 450, 500}, {587, 450, 500},
        {493, 225, 250}, {493, 225, 250}, {493, 450, 500}, {493, 225, 250}, {493, 225, 250},
        {493, 450, 500}, {493, 225, 250}, {587, 225, 250}, {391, 337, 375}, {440, 112, 125},
        {493, 450, 1000}, {523, 225, 250}, {523, 225, 250}, {523, 337, 375}, {523, 112, 125},
        {523, 225, 250}, {493, 225, 250}, {493, 225, 250}, {493, 112, 125}, {493, 112, 125},
        {493, 225, 250}, {440, 225, 250}, {440, 225, 250}, {493, 225, 250}, {440, 450, 500},
        {587, 450, 500}, {493, 225, 250}, {493, 225, 250}, {493, 450, 500}, {493, 225, 250},
        {493, 225, 250}, {493, 450, 500}, {493, 225, 250}, {587, 225, 250}, {391, 337, 375},
        {440, 112, 125}, {493, 450, 1000}, {523, 225, 250}, {523, 225, 250}, {523, 337, 375},
        {523, 112, 125}, {523, 225, 250}, {493, 225, 250}, {493, 225, 250}, {493, 112, 125},
        {493, 112, 125}, {587, 225, 250}, {587, 225, 250}, {523, 225, 250}, {440, 225, 250},
       {391, 675, 750}
    };
    const uint8_t melodieLength = sizeof(sounds) / sizeof(sounds[0]);
 
    for (uint8_t i = 0; i < melodieLength; i++) {
        tone(tonePin, sounds[i].freq, sounds[i].duration);
        delay(sounds[i].dly);
    }
}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Вот и возвращайся в №8 и пытайся понять, что там написано.

Первое задание - написать программу ТОЛЬКО для мелодии используя цикл и массив для мелодии.

О! Пока я писал ты уже все сделал. ОК

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Теперь переписывай без делеев, используй миллис(), чтобы узнать текущее время и проверяй  - пора ли что-то сделать в той или иной процедуре. Чтобы запоминать значение от вызова к вызову используй static переменные.

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик пишет:

Но я ещё не знаю, что такое массив))) 

Я занимаюсь Аrduino полгода.

Т.е. за полгода, Вы не удосожились прочитать даже самую завалящую книжку типа "программирование для чаников"? Ну, даже не знаю что и сказать :(

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018
ЕвгенийП, я учусь в школе и еле успеваю делать уроки. Я тупо не успеваю читать книжки(((
wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

А кто тогда написал сообщение №30? Папа-мама-брат?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Черрик пишет:

Я тупо не успеваю читать книжки(((

Мне жаль Вас.

bwn
Offline
Зарегистрирован: 25.08.2014

wdrakula пишет:

Теперь переписывай без делеев, используй миллис(), чтобы узнать текущее время и проверяй  - пора ли что-то сделать в той или иной процедуре. Чтобы запоминать значение от вызова к вызову используй static переменные.

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

А мне вот этот вариант больше нравиться, чем местный.

Черрик
Черрик аватар
Offline
Зарегистрирован: 26.12.2018

wdrakula, в сообщении №21 ЕвгенийП указал мне мои ошибки. Я их исправила и выложила новую версию скетча.

bwn
Offline
Зарегистрирован: 25.08.2014

Черрик пишет:

wdrakula, в сообщении №21 ЕвгенийП указал мне мои ошибки. Я их исправила и выложила новую версию скетча.

Осталось убить форы и делеи в т.ч. и в tone().))))

sadman41
Offline
Зарегистрирован: 19.10.2016

Черрик пишет:

wdrakula, в сообщении №21 ЕвгенийП указал мне мои ошибки. Я их исправила и выложила новую версию скетча.

Ищите пример "blink без delay". В нём мигают светодиодом через определенный интервал, а вам нужно вместо мигания просто запускать следующую ноту. Таким образом - МК сможет еще и фонарики крутить в свободное время.

bwn
Offline
Зарегистрирован: 25.08.2014

Чего их искать, выше ссылки и на ардуино.ру и на Лешака.

sadman41
Offline
Зарегистрирован: 19.10.2016

А... простите. Последствия поздравительных мероприятий. 

ВН
Offline
Зарегистрирован: 25.02.2016

Черрик пишет:

Я запускаю программу, датчик звука должен считать хлопок,  после чего сначала запускается процедура с пьезодинамиком, мелодия заканчивается, и начинает гореть rgb. Я же хочу, чтобы пьезодинамик и rgb работали одновременно до тех пор, когда датчик звука не считает второй хлопок, и они выключатся. 

вот в том , что я выделил курсивом, не заметно никаких противоречий?