Contr1
Tags1
Inputs1
Outputs1
Variables1
0@0
LibraryRoot
LibraryGroup-Таймеры
LibraryGroup-Счетчики
0@0
311
0@-506
169
340
0@0
root
1
f312ed87-7cf5-4d84-8c70-acddbca4d91d
0@0
0
5
3
МЕНЮ
100@120
120@120 corner: 198.0d@200
100@120 corner: 218.0d@200
127.46154019677d@134.9999997249d
30@140
50@140 corner: 67.230768722895d@160
30@140 corner: 87.230768722895d@160
54@153.84615363454d
67.230768722895d@140 corner: 87.230768722895d@160
87.230768722895d@150
7.6923072690795d
9.2307687228954d
A
398@498
105253861
0.0d
67.230768722895d@150
87.230768722895d@150 corner: 87.230768722895d@150
DT
100@150
120@150
Энкодер
eacd491f-fefb-4dc7-a9c5-8e8786cf1a96
b4ae5d57-a3ba-437b-875d-8a77f7bc4ad4
CLK
3b5fa063-e637-4f12-bf56-3b9e9e3ca251
bb90410c-5219-47ec-a98c-0c09ec14f0d9
Value
d3b0eafa-4365-4ec7-b639-3c8636ad6745
2947e91f-bd2c-49d1-898d-0b54607945a6
4460c948-0894-4f7e-a34d-8206a5f58758
Энкодер
bitWrite(New, 0, DT );
bitWrite(New, 1, CLK );
switch(EncState)
{
case 2:
{
if(New == 3) EncData++;
if(New == 0) EncData--;
break;
}
case 0:
{
if(New == 2) EncData++;
if(New == 1) EncData--;
break;
}
case 1:
{
if(New == 0) EncData++;
if(New == 3) EncData--;
break;
}
case 3:
{
if(New == 1) EncData++;
if(New == 2) EncData--;
break;
}
}
EncState = New; // Записываем новое значение
Value =EncData;
455
New
;
Byte
EncData
;
Int
EncState
;
Byte
=0;
New
=0;
EncState
=0;
EncData
f73c9c12-f0e3-4478-8c45-9749c960ae2d
100@140 corner: 120@160
4
30@160
50@160 corner: 65.692307269079d@180
30@160 corner: 85.692307269079d@180
54@173.84615363454d
85.692307269079d@170
7.6923072690795d
7.6923072690795d
B
398@478
148423499
0.0d
65.692307269079d@170
85.692307269079d@170 corner: 85.692307269079d@170
100@170
120@170
b48af6dd-41ee-46ca-a099-48ca5ae32251
100@160 corner: 120@180
En
100@190
114@190
set
f2d471b9-5289-457a-bc21-f764127e3010
Установка нового значения
28090bf6-a122-459a-8767-3fce99569986
V
4f18cde2-1a7a-47f7-add0-8a7db0742b6f
Значение
c5442471-5c51-4a96-8d0b-76d88e28919a
5f7e4d1c-ce83-4c01-a594-72b17d0daf2a
Разрешение работы
a3e7c3c3-ace8-476c-8d87-3d94db553bfe
6c5c824f-cbdd-4b3c-9342-8cc2ca543e69
87ddde4b-c345-44d3-acf5-a750effd7899
step
2
Импульсов на щелчек
69fdafd3-5e06-4920-975c-6e4e6cd046a4
ec68031b-5d52-4da5-88b1-560a943a3e3d
MAX
100
1470fdf9-4c7e-4edb-8877-4e2f25921eeb
6f05019b-7093-4928-acaf-5327ab30dcad
MIN
-100
e1645f1a-fcb5-477a-afbb-8634e4c59d42
f56c4739-f41d-4d92-b741-fe02d47439c7
if(En){
bitWrite(New, 0, DT );
bitWrite(New, 1, CLK );
switch(EncState)
{
case 2:
{
if(New == 3) plus(MaxS);
if(New == 0) minus(MinS);
break;
}
case 0:
{
if(New == 2) plus(MaxS);
if(New == 1) minus(MinS);
break;
}
case 1:
{
if(New == 0) plus(MaxS);
if(New == 3) minus(MinS);
break;
}
case 3:
{
if(New == 1) plus(MaxS);
if(New == 2) minus(MinS);
break;
}
}
EncState = New; // Записываем новое значение
if (set){EncData =V * step ;}
Value =EncData / step ;
}
518
MaxS= MAX * step;
MinS= MIN * step;
39
New
=0;
byte
EncData
=0;
long
EncState
=0;
byte
MaxS
;
long
MinS
;
long
if(EncData<MS ){EncData++;}
27
void
plus
long
MS
if(EncData>MS ){EncData--;}
void
minus
long
MS
100@180 corner: 114@200
6
450@90
470@90 corner: 550@370
450@90 corner: 570@370
496.0d@103.5d
9
260@130
280@130 corner: 340@350
260@130 corner: 360@350
295.0d@144.5d
V
260@160
280@160
240.0d@163.5d
260@150 corner: 280@170
110@220
130@220 corner: 210@280
110@220 corner: 230@280
160.0000005502d@233.84615363454d
30@190
50@190 corner: 76.461537445791d@210
30@190 corner: 96.461537445791d@210
54@203.84615363454d
76.461537445791d@190 corner: 96.461537445791d@210
96.461537445791d@200
7.6923072690795d
18.461537445791d
SW
398@518
75108618
0.0d
76.461537445791d@200
14
260@70
280@70 corner: 340@110
260@70 corner: 360@110
299.23076982329d@83.84615363454d
260@90 corner: 274@110
Reset
450@140
470@140
370@100 corner: 370@140
Q
8.4615379959874d
340@100
360@100
340@90 corner: 360@110
260@100
1000
EN
274@100
96.461537445791d@100 corner: 96.461537445791d@250
C
110@250
124@250
110@240 corner: 124@260
8
40@260
60@260 corner: 79.538460903619d@280
40@260 corner: 99.538460903619d@280
64@273.84615363454d
40@270
60@270
40@260 corner: 60@280
79.538460903619d@260 corner: 99.538460903619d@280
99.538460903619d@270
7.6923072690795d
11.538460903619d
R1
0.0d
79.538460903619d@270
99.538460903619d@270 corner: 99.538460903619d@270
R
110@270
130@270
110@260 corner: 130@280
7
230@240
250@240 corner: 269.53846090362d@260
230@240 corner: 289.53846090362d@260
254@253.84615363454d
230@240 corner: 250@260
269.53846090362d@250
289.53846090362d@250
269.53846090362d@240 corner: 289.53846090362d@260
230@250
7.6923072690795d
11.538460903619d
250@250
230@250 corner: 230@250
>L
13.076922357435d
210@250
230@250
210@240 corner: 230@260
210@260 corner: 230@280
230@270
10
up
V
10.769230176711d
210@270
240@180 corner: 240@270
Sel
260@180
280@180
260@170 corner: 280@190
340@150 corner: 360@170
M-1
450@200
470@200
360@180 corner: 360@200
Q1
14.0d
340@180
360@180
340@170 corner: 360@190
M-2
450@220
470@220
370@200 corner: 370@220
Q2
15.0d
340@200
360@200
340@190 corner: 360@210
M-3
450@240
470@240
360@220 corner: 360@240
Q3
15.0d
340@220
360@220
340@210 corner: 360@230
M-4
450@260
470@260
370@240 corner: 370@260
Q4
16.0d
340@240
360@240
340@230 corner: 360@250
M-5
450@280
470@280
360@260 corner: 360@280
Q5
15.0d
340@260
360@260
340@250 corner: 360@270
M-6
450@300
470@300
370@280 corner: 370@300
Q6
15.0d
340@280
360@280
340@270 corner: 360@290
M-7
450@320
470@320
360@300 corner: 360@320
Q7
15.0d
340@300
360@300
340@290 corner: 360@310
M-8
450@340
470@340
370@320 corner: 370@340
Q8
15.0d
340@320
360@320
340@310 corner: 360@330
M-9
450@360
470@360
360@340 corner: 360@360
Q9
15.0d
340@340
360@340
340@330 corner: 360@350
360@160
Q0
15.0d
340@160
370@150
390@150 corner: 428.0d@170
370@150 corner: 448.0d@170
394@164.5d
370@150 corner: 384@170
0.0d
428.0d@160
448.0d@160
428.0d@150 corner: 448.0d@170
370@160
9.0d
30.0d
EN_M
384@160
360@120 corner: 360@160
En
450@120
464@120
450@110 corner: 464@130
450@130 corner: 470@150
450@150 corner: 470@170
Down
25.384613987962d
198.0d@190
218.0d@190
Энкодер_имп
imp+
d9604f1e-14a2-4660-8ea6-6b3f45a46d17
Импульс плюс
847173d0-5535-4147-b683-9a7d18c73536
imp-
481885b3-55ec-46d6-b9ae-497ce1a6d72b
импульс минус
f5732ab9-ca43-4d50-9186-a1362feb63cd
507a7437-a912-4426-9900-2f6763706543
Энкодер_имп
Блок производит счет на увелечения/уменьшения на еденицу.
С возможностью установки нижнего/верхнего пределов, досчитывая до которых счетчик останавливается.
Так же есть вход разрешения (EN).
Параметры
MAX - верхний предел увеличения, счет прекращается
MIN - нижний предел уменьшения, счет прекращается
Set -Импульсов на щелчек
Так как у некотрых энкодров есть еще тактильные щелчки при вращении, и при одном щелчке бывает выдает не 1 импульс а 2 или 4 ( может и больше)
Вел делитель для получения соответствия щелчек-изменние числа.
Входа
DT , CLK - суда подключить одноименные выхода инкодора .
При настройки входов СНЯТЬ галочки: Защита от дребизга и Включить подтягивающий резистор
V - Значение которое будет установелно в блок при наличии 1 на входе set
set - вход установки значения (пока подано 1 в боке устанавливается значения с входа V)
En - вход разрешения работы блока.
890
4d8cf0ad-68b8-4bae-bf19-b417e0053ed2
imp+ =0;
imp- =0;
if(En){
bitWrite(New, 0, DT );
bitWrite(New, 1, CLK );
switch(EncState)
{
case 2:
{
if(New == 3) plus();
if(New == 0) minus();
break;
}
case 0:
{
if(New == 2) plus();
if(New == 1) minus();
break;
}
case 1:
{
if(New == 0) plus();
if(New == 3) minus();
break;
}
case 3:
{
if(New == 1) plus();
if(New == 2) minus();
break;
}
}
EncState = New; // Записываем новое значение
}
449
New
=0;
byte
EncData
=0;
long
EncState
=0;
byte
imp+ =1;
void
plus
imp- =1;
void
minus
2e4cd0e5-acd6-4a71-b657-0c3070bd252f
218.0d@180 corner: 218.0d@190
220.0d@189.61538463655d corner: 224.61538436145d@190.38461536345d
443.38461563855d@179.61538463655d corner: 448.0d@180.38461536345d
-
V-
450@180
470@180
450@170 corner: 470@190
450@190 corner: 470@210
450@210 corner: 470@230
450@230 corner: 470@250
450@250 corner: 470@270
450@270 corner: 470@290
450@290 corner: 470@310
450@310 corner: 470@330
450@330 corner: 470@350
450@350 corner: 470@370
11
640@100
660@100 corner: 740@160
640@100 corner: 760@160
687.5d@113.5d
13
550@120
570@120 corner: 608.0d@140
550@120 corner: 628.0d@140
574@134.5d
550@130
570@130
550@120 corner: 570@140
608.0d@120 corner: 628.0d@140
628.0d@130
9.0d
30.0d
0.0d
608.0d@130
12
640@170
660@170 corner: 740@230
640@170 corner: 760@230
687.5d@183.5d
640@190 corner: 660@210
ValStr
32.0d
550@360
570@360
580@220 corner: 580@360
D
640@220
660@220
640@210 corner: 660@230
640@200
16
27
EN
660@200
628.0d@130 corner: 628.0d@200
640@130
660@130
640@120 corner: 660@140
640@140 corner: 660@160
640@150
660@150
570@150 corner: 570@340
Name
29.0d
550@340
570@340
550@330 corner: 570@350
550@350 corner: 570@370
450@160
Menu
251040324
speed, mm/s
151458870
Graphics.ColorValue blue
r0g0b31
dec
1
200
start mov delay
26038482
Graphics.ColorValue brown
r15g7b7
2
0.1
start arc delay
216371576
3
0.1
start wire delay
271729339
4
0.1
stop mov delay
502712486
5
0.1
stop arc delay
271728373
6
0.1
stop wire delay
78156503
7
0.1
start AVC down
209716152
8
0.1
AVC down time
154988877
9
0.1
OneStepAtEachPulse
2000
500
4000
250
V+
470@160
218.0d@160 corner: 218.0d@170
220.0d@167.30769245582d corner: 227.69230726908d@172.69230754418d
440.30769273092d@157.30769245582d corner: 448.0d@162.69230754418d
+
Up
13.076922357435d
198.0d@170
218.0d@170
58a75abf-e18a-43fc-8618-7b31b40e763d
198.0d@160 corner: 218.0d@180
198.0d@180 corner: 218.0d@200
ae358df4-cfd7-4165-a910-a7cb578e5b2e
Блок производит выдачу импульсов больше меньше
Так же есть вход разрешения (EN).
Параметры
Set -Импульсов на щелчек
Так как у некотрых энкодров есть еще тактильные щелчки при вращении, и при одном щелчке бывает выдает не 1 импульс а 2 или 4 ( может и больше)
Вел делитель для получения соответствия щелчек-изменние числа.
Входа
DT , CLK - суда подключить одноименные выхода инкодора .
При настройки входов СНЯТЬ галочки: Защита от дребизга и Включить подтягивающий резистор
En - вход разрешения работы блока.
Выхода
UP - выход выдает импульс при повороте вправо (+)
Down - выход выдает импульс при повороте влево (-)
627
Up =0;
Down =0;
if(En){
bitWrite(New, 0, DT );
bitWrite(New, 1, CLK );
switch(EncState)
{
case 2:
{
if(New == 3) plus();
if(New == 0) minus();
break;
}
case 0:
{
if(New == 2) plus();
if(New == 1) minus();
break;
}
case 1:
{
if(New == 0) plus();
if(New == 3) minus();
break;
}
case 3:
{
if(New == 1) plus();
if(New == 2) minus();
break;
}
}
EncState = New; // Записываем новое значение
}
New
=0;
byte
EncData
=0;
long
EncState
=0;
byte
ps
=0;
byte
ms
=0;
byte
ps++;
if(ps>= step ){
Up =1;
ps=0;
}
38
ms++;
if(ms>= step ){
Down =1;
ms=0;
}
40
78.0d
30@290
30@290 corner: 232.15383536153d@352.15384416467d
left
ВХОДЫ ПОДТЯНУТЫ К ПЛЮС ПИТАНИЮ
ТАК ЖЕ ОБЯЗАТЕЛЬНО ПОДТЯНИТЕ К
ПЛЮСУ НАРУЖНИМИ РЕЗИСТОРАМИ
ПО 4,7 КОМ
ВХОДЫ ПОДТЯНУТЫ К ПЛЮС ПИТАНИЮ
196.15383536153d
3@12.230768722895d
9.2307687228954d
ТАК ЖЕ ОБЯЗАТЕЛЬНО ПОДТЯНИТЕ К
189.23075881935d
3@26.461537445791d
9.2307687228954d
ПЛЮСУ НАРУЖНИМИ РЕЗИСТОРАМИ
184.61537445791d
3@39.923075441778d
8.4615379959874d
ПО 4,7 КОМ
61.538458152636d
3@54.153844164673d
9.2307687228954d
20@30
20@30 corner: 211.0d@83.0d
В НАСТРОЙКАХ БЛОКА ЭНКОДЕРА
НАСТРОЙТЕ СКОЛЬКО ИМПУЛЬСОВ
НА ЩЕЛЧОК В ВАШЕМ ЭНКОДЕРЕ
В НАСТРОЙКАХ БЛОКА ЭНКОДЕРА
179.0d
3@15.0d
12.0d
НАСТРОЙТЕ СКОЛЬКО ИМПУЛЬСОВ
185.0d
3@31.0d
11.0d
НА ЩЕЛЧОК В ВАШЕМ ЭНКОДЕРЕ
173.0d
3@45.0d
9.0d
451.0d
ДИСПЛЕЙ + ТАЙМЕРЫ
590@10
610@10 corner: 670@70
590@10 corner: 690@70
628.5d@23.5d
590@130
610@130 corner: 670@190
590@130 corner: 690@190
628.5d@143.5d
590@150 corner: 610@170
490@150
510@150 corner: 560@190
490@150 corner: 580@190
511.5d@163.5d
15
390@130
410@130 corner: 470@190
390@130 corner: 490@190
425.5d@144.0d
31
170@210
190@210 corner: 230@250
170@210 corner: 250@250
193.5d@223.5d
170@240
28
260@190
280@190 corner: 360@250
260@190 corner: 380@250
307.5d@203.5d
23
170@10
190@10 corner: 228.0d@30
170@10 corner: 248.0d@30
194@24.5d
170@20
248.0d@20
9.0d
30.0d
0.0d
234.0d@20
18
260@70
280@70 corner: 360@130
260@70 corner: 380@130
307.5d@83.5d
260@100
21
170@90
190@90 corner: 230@130
170@90 corner: 250@130
193.5d@103.5d
30@70
50@70 corner: 130@110
30@70 corner: 150@110
62.0d@83.5d
150@100
Q
9.0d
130@100
390@10
410@10 corner: 470@70
390@10 corner: 490@70
425.5d@24.0d
390@40
I2
390@60
410@60
365.0d@63.5d
490@30
510@30 corner: 560@70
490@30 corner: 580@70
511.5d@43.5d
490@60
Val
590@60
610@60
580@60 corner: 580@60
Q
9.0d
560@60
580@60
Fl
510@60
490@60 corner: 490@60
9.0d
470@60
490@60
I1
410@40
160@40 corner: 160@120
152@96.5d corner: 164.0d@103.5d
156.0d@116.5d corner: 168.0d@123.5d
376.0d@36.5d corner: 388.0d@43.5d
L1
I
170@120
190@120
170@110 corner: 190@130
230@110 corner: 250@130
250@120
Q
9.0d
230@120
250@120 corner: 250@120
260@120
280@120
280@100
19
260@130
280@130 corner: 360@190
260@130 corner: 380@190
307.5d@143.5d
260@150 corner: 280@170
22
170@150
190@150 corner: 230@190
170@150 corner: 250@190
193.5d@163.5d
390@70
410@70 corner: 470@130
390@70 corner: 490@130
425.5d@84.0d
390@100
390@120
410@120
365.0d@123.5d
490@90
510@90 corner: 560@130
490@90 corner: 580@130
511.5d@103.5d
490@120
590@70
610@70 corner: 670@130
590@70 corner: 690@130
628.5d@83.5d
EN
590@100
610@100
590@90 corner: 610@110
590@110 corner: 610@130
86
720@70
740@70 corner: 800@130
720@70 corner: 820@130
759.0d@83.5d
720@100
74
490@270
510@270 corner: 560@310
490@270 corner: 580@310
511.5d@283.5d
68
390@250
410@250 corner: 470@310
390@250 corner: 490@310
425.5d@264.0d
64
170@330
190@330 corner: 230@370
170@330 corner: 250@370
193.5d@343.5d
170@360
58
260@310
280@310 corner: 360@370
260@310 corner: 380@370
307.5d@323.5d
260@340
280@340
260@360
280@360
250@360 corner: 250@360
9.0d
230@360
250@360
190@360
61
30@310
50@310 corner: 130@350
30@310 corner: 150@350
62.0d@323.5d
150@340
9.0d
130@340
160@280 corner: 160@360
155.0d@356.5d corner: 168.0d@363.5d
152@336.5d corner: 165.0d@343.5d
375.0d@276.5d corner: 388.0d@283.5d
L5
390@280
410@280
390@300
410@300
365.0d@303.5d
490@300
9.0d
470@300
490@300 corner: 490@300
490@300
510@300
580@300
9.0d
560@300
610@120 corner: 610@300
699.0d@116.5d corner: 718.0d@123.5d
582@296.5d corner: 601.0d@303.5d
L12
Val
720@120
740@120
78
1020@100
1040@100 corner: 1056.0d@120
1020@100 corner: 1076.0d@120
1044@113.5d
1020@110
7.0d
8.0d
8
396@386
124533405
1040@110
820@110 corner: 820@120
Q
9.0d
800@120
820@120
EN
740@100
690@100 corner: 690@120
Q
9.0d
670@120
690@120
670@110 corner: 690@130
590@120
610@120
580@120 corner: 580@120
9.0d
560@120
580@120
510@120
490@120 corner: 490@120
9.0d
470@120
490@120
410@100
30@130
50@130 corner: 130@170
30@130 corner: 150@170
62.0d@143.5d
150@160
9.0d
130@160
150@100 corner: 150@180
375.0d@96.5d corner: 388.0d@103.5d
152@156.5d corner: 165.0d@163.5d
155.0d@176.5d corner: 168.0d@183.5d
L2
170@180
190@180
250@180
9.0d
230@180
250@180 corner: 250@180
260@180
280@180
260@170 corner: 280@190
260@160
280@160
29
260@250
280@250 corner: 360@310
260@250 corner: 380@310
307.5d@263.5d
260@280
30
170@270
190@270 corner: 230@310
170@270 corner: 250@310
193.5d@283.5d
35
30@250
50@250 corner: 130@290
30@250 corner: 150@290
62.0d@263.5d
150@280
9.0d
130@280
67
390@190
410@190 corner: 470@250
390@190 corner: 490@250
425.5d@204.0d
390@220
390@240
410@240
365.0d@243.5d
71
490@210
510@210 corner: 560@250
490@210 corner: 580@250
511.5d@223.5d
490@230 corner: 510@250
85
720@10
740@10 corner: 800@70
720@10 corner: 820@70
759.0d@23.5d
9.0d
670@60
690@60
690@40 corner: 690@60
720@40
740@40
720@60
103
930@30
950@30 corner: 990@90
930@30 corner: 1010@90
961.5d@43.5d
930@60
110
800@600
820@600 corner: 860@660
800@600 corner: 880@660
831.5d@613.5d
105
720@590
740@590 corner: 763.0d@610
720@590 corner: 783.0d@610
744@603.5d
783.0d@600
7.0d
15.0d
A0
12@458
186492412
0.0d
763.0d@600
107
1020@400
1040@400 corner: 1063.0d@420
1020@400 corner: 1083.0d@420
1044@413.5d
1020@410
7.0d
15.0d
A2
12@498
15830202
1034@410
783.0d@410 corner: 783.0d@630
800@630
814@630
106
720@670
740@670 corner: 762.0d@690
720@670 corner: 782.0d@690
744@683.5d
782.0d@680
7.0d
14.0d
A1
12@480
51106097
0.0d
762.0d@680
782.0d@650 corner: 782.0d@680
800@650
814@650
880@650
Q
9.0d
860@650
111
60@650
80@650 corner: 140@690
60@650 corner: 160@690
98.5d@663.5d
60@680
109
180@590
200@590 corner: 260@670
180@590 corner: 280@670
214.0d@603.5d
102
60@570
80@570 corner: 140@630
60@570 corner: 160@630
94.5d@584.0d
30@10
50@10 corner: 130@50
30@10 corner: 150@50
62.0d@23.5d
150@40
9.0d
130@40
70@40 corner: 70@600
45.0d@596.5d corner: 58.0d@603.5d
152@36.5d corner: 165.0d@43.5d
L6
I1
60@600
80@600
I2
60@620
80@620
52.0d@623.5d
160@620
Q
9.0d
140@620
160@620 corner: 160@620
0
180@620
200@620
1
180@640
200@640
155.0d@643.5d
180@660
101
280@590
300@590 corner: 381.0d@630
280@590 corner: 401.0d@630
305.0d@604.5d
280@620
Генератор_v4
Dimmer
Dim
5f351684-eee2-4153-9f33-32b71622bc0d
cb801bd3-d822-4aac-80f7-092a9913e79e
42ff8b9d-f6b2-4f68-be90-a2a0bd01f8fb
Dimmer
Dimmer = Dim;
//Задержка для более плавного эффекта мерцания
// delay(100);
87
//*********************Настраиваем порты на выход**********************
pinMode (3, OUTPUT);
digitalWrite(3, LOW); // гасим оответствующий пин
Dimmer = 10; //выставим яркость соответствующего диммера в 0
attachInterrupt(0, detect_up, LOW); // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
Timer1.initialize(40); // Интервал срабатывания таймера в мкс
Timer1.attachInterrupt(halfcycle); //будет вызыватся каждый раз при отсчете заданого времени
Timer1.stop();
Serial.begin(115200); //инициализация порта
randomSeed(analogRead(0)); //псевдогенератор случайных чисел будет использовать шумы на аналог пин 0
656
#include
<TimerOne.h>
tic
;
volatile uint8_t
data
;
uint8_t
количество диммеров минус 1
Dimmer
;
int
tic--; //счетчик
if (Dimmer > tic )
digitalWrite(3, HIGH); //управляем выходом (откроем семистор)
113
void
halfcycle
tic = 200; //обнулить счетчик
Timer1.resume(); //запустить таймер
attachInterrupt(0, detect_down, HIGH); //перепрограммировать прерывание на другой обработчик
180
void
detect_up
Timer1.stop(); //остановить таймер
digitalWrite(3, LOW);
tic = 200; //обнулить счетчик
attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
192
void
detect_down
F_Hz
1a0eface-e8d1-4de8-9c9f-82816c457133
Генератор_v4
На вход - частоту
Максимум 80 кгц( или около того)
Выход пин 4
Автор Sancho (omelchuk890)
90
tic = F_Hz ;
if( tic != tic_old ){ tic_old = tic;
if( tic >5) {StartTimer1(timer_interrupt, (500000 / tic-1) ); RestartTimer1();} // отнимем 1 мсек на время работы переключения выхода
}
196
StartTimer1(timer_interrupt, 50);
D12_Out;
53
#include
<CyberLib.h>
tic
;
volatile uint32_t
tic_old
;
uint32_t
D12_Inv; //управляем выходом
void
timer_interrupt
81.0d
300@620
280@620 corner: 280@660
9.0d
260@660
280@660
S
200@660
160@660 corner: 160@680
9.0d
140@680
160@680
3000
EN
80@680
60@80 corner: 60@680
909.0d@76.5d corner: 928.0d@83.5d
882@646.5d corner: 901.0d@653.5d
39.0d@676.5d corner: 58.0d@683.5d
L15
930@80
950@80
77
1020@70
1040@70 corner: 1056.0d@90
1020@70 corner: 1076.0d@90
1044@83.5d
1020@80
7.0d
8.0d
7
398@418
197900210
1034@80
1010@80 corner: 1010@80
9.0d
990@80
1010@80
950@60
820@60 corner: 820@60
9.0d
800@60
820@60
740@60
600@60 corner: 600@240
700.0d@56.5d corner: 718.0d@63.5d
582@236.5d corner: 600.0d@243.5d
L11
9.0d
560@240
580@240
560@230 corner: 580@250
490@240
510@240
490@240 corner: 490@240
9.0d
470@240
490@240
410@220
150@220 corner: 150@300
154.0d@296.5d corner: 168.0d@303.5d
152@276.5d corner: 166.0d@283.5d
374.0d@216.5d corner: 388.0d@223.5d
L4
170@300
190@300
250@300
9.0d
230@300
250@300 corner: 250@300
260@300
280@300
280@280
59
260@370
280@370 corner: 360@430
260@370 corner: 380@430
307.5d@383.5d
260@400
65
170@390
190@390 corner: 230@430
170@390 corner: 250@430
193.5d@403.5d
62
30@370
50@370 corner: 130@410
30@370 corner: 150@410
62.0d@383.5d
150@400
9.0d
130@400
69
390@310
410@310 corner: 470@370
390@310 corner: 490@370
425.5d@324.0d
390@340
390@360
410@360
365.0d@363.5d
72
490@330
510@330 corner: 560@370
490@330 corner: 580@370
511.5d@343.5d
490@360
720@130
740@130 corner: 800@190
720@130 corner: 820@190
759.0d@143.5d
9.0d
670@180
690@180
690@160 corner: 690@180
720@160
740@160
720@180
79
1020@130
1040@130 corner: 1056.0d@150
1020@130 corner: 1076.0d@150
1044@143.5d
1020@140
7.0d
8.0d
9
396@364
78792891
1040@140
820@140 corner: 820@180
9.0d
800@180
820@180
740@180
580@180 corner: 580@360
699.0d@176.5d corner: 718.0d@183.5d
582@356.5d corner: 601.0d@363.5d
L13
9.0d
560@360
580@360
510@360
490@360 corner: 490@360
9.0d
470@360
490@360
410@340
150@340 corner: 150@420
155.0d@416.5d corner: 168.0d@423.5d
152@396.5d corner: 165.0d@403.5d
375.0d@336.5d corner: 388.0d@343.5d
L8
170@420
190@420
250@420
9.0d
230@420
250@420 corner: 250@420
260@420
280@420
280@400
60
260@430
280@430 corner: 360@490
260@430 corner: 380@490
307.5d@443.5d
260@460
66
170@450
190@450 corner: 230@490
170@450 corner: 250@490
193.5d@463.5d
63
30@430
50@430 corner: 130@470
30@430 corner: 150@470
62.0d@443.5d
150@460
9.0d
130@460
99
390@430
410@430 corner: 470@490
390@430 corner: 490@490
425.5d@444.0d
390@460
390@480
410@480
365.0d@483.5d
490@450
510@450 corner: 560@490
490@450 corner: 580@490
511.5d@463.5d
490@480
98
590@430
610@430 corner: 670@490
590@430 corner: 690@490
628.5d@443.5d
EN
590@460
610@460
590@480
80
720@220
740@220 corner: 800@280
720@220 corner: 820@280
760.5d@233.5d
720@240 corner: 740@260
73
510@390
530@390 corner: 580@430
510@390 corner: 600@430
531.5d@403.5d
70
390@370
410@370 corner: 470@430
390@370 corner: 490@430
425.5d@384.0d
95
30@490
50@490 corner: 130@530
30@490 corner: 150@530
62.0d@503.5d
150@520
9.0d
130@520
96
170@510
190@510 corner: 230@550
170@510 corner: 250@550
193.5d@523.5d
170@540
97
260@490
280@490 corner: 360@550
260@490 corner: 380@550
307.5d@503.5d
260@520
280@520
260@540
280@540
250@540 corner: 250@540
9.0d
230@540
250@540
190@540
160@400 corner: 160@540
152@516.5d corner: 165.0d@523.5d
155.0d@536.5d corner: 168.0d@543.5d
375.0d@396.5d corner: 388.0d@403.5d
L9
390@400
410@400
390@420
410@420
365.0d@423.5d
490@420
9.0d
470@420
490@420 corner: 490@420
510@420
530@420
600@420
9.0d
580@420
600@270 corner: 600@420
OnVal
720@270
740@270
720@260 corner: 740@280
84
1020@280
1040@280 corner: 1061.0d@300
1020@280 corner: 1081.0d@300
1044@293.5d
1020@290
7.0d
13.0d
13
396@286
200657154
1040@290
830@270 corner: 830@290
9.0d
800@270
820@270
800@260 corner: 820@280
720@250
single
EN
740@250
690@250 corner: 690@480
Q
9.0d
670@480
690@480
Val
610@480
580@480 corner: 580@480
9.0d
560@480
580@480
510@480
490@480 corner: 490@480
9.0d
470@480
490@480
410@460
150@460 corner: 150@480
148.0d@476.5d corner: 168.0d@483.5d
152@456.5d corner: 172.0d@463.5d
368.0d@456.5d corner: 388.0d@463.5d
L14
170@480
190@480
250@480
9.0d
230@480
250@480 corner: 250@480
260@480
280@480
280@460
248.0d@20 corner: 248.0d@520
250.0d@16.5d corner: 263.0d@23.5d
245.0d@96.5d corner: 258.0d@103.5d
245.0d@156.5d corner: 258.0d@163.5d
245.0d@216.5d corner: 258.0d@223.5d
245.0d@276.5d corner: 258.0d@283.5d
245.0d@336.5d corner: 258.0d@343.5d
245.0d@396.5d corner: 258.0d@403.5d
245.0d@456.5d corner: 258.0d@463.5d
245.0d@516.5d corner: 258.0d@523.5d
L7
260@220
280@220
260@240
280@240
250@240 corner: 250@240
9.0d
230@240
250@240
190@240
34
30@190
50@190 corner: 130@230
30@190 corner: 150@230
62.0d@203.5d
150@220
9.0d
130@220
160@160 corner: 160@240
155.0d@236.5d corner: 168.0d@243.5d
152@216.5d corner: 165.0d@223.5d
375.0d@156.5d corner: 388.0d@163.5d
L3
390@160
410@160
390@150 corner: 410@170
390@180
410@180
365.0d@183.5d
390@170 corner: 410@190
470@170 corner: 490@190
490@180
9.0d
470@180
490@180 corner: 490@180
490@180
510@180
580@180
9.0d
560@180
620@180 corner: 620@180
590@180
610@180
590@170 corner: 610@190
670@170 corner: 690@190
590@160
610@160
92
720@330
740@330 corner: 800@390
720@330 corner: 820@390
755.0d@344.5d
720@360
740@360
700.0d@363.5d
89
590@500
610@500 corner: 690@560
590@500 corner: 710@560
639.0d@513.5d
93
500@500
520@500 corner: 560@540
500@500 corner: 580@540
536.0d@513.5d
52
440@590
460@590 corner: 476.0d@610
440@590 corner: 496.0d@610
464@603.5d
496.0d@600
7.0d
8.0d
5
398@458
113216864
0.0d
482.0d@600
496.0d@530 corner: 496.0d@600
500@530
520@530
580@530
9.0d
560@530
580@530 corner: 580@530
C
590@530
610@530
91
550@540
570@540 corner: 589.0d@560
550@540 corner: 609.0d@560
574@552.5d
550@550
609.0d@550
5.0d
11.0d
ss
0.0d
589.0d@550
590@550 corner: 590@550
R
590@550
610@550
720@520
740@520 corner: 759.0d@540
720@520 corner: 779.0d@540
744@532.5d
720@530
759.0d@530
779.0d@530
5.0d
11.0d
740@530
720@530 corner: 720@530
>L
14.0d
690@530
710@530
710@550
V
10.0d
690@550
710@380 corner: 710@550
720@380
740@380
94
1020@200
1040@200 corner: 1060.0d@220
1020@200 corner: 1080.0d@220
1044@213.5d
1020@210
7.0d
12.0d
11
396@324
61169229
1040@210
820@210 corner: 820@360
15.0d
800@360
820@360
820@380
14.0d
800@380
88
1020@170
1040@170 corner: 1061.0d@190
1020@170 corner: 1081.0d@190
1044@183.5d
1020@180
7.0d
13.0d
10
396@346
206579287
1040@180
590@40 corner: 590@460
569.0d@156.5d corner: 588.0d@163.5d
822@376.5d corner: 841.0d@383.5d
569.0d@96.5d corner: 588.0d@103.5d
569.0d@36.5d corner: 588.0d@43.5d
569.0d@456.5d corner: 588.0d@463.5d
999.0d@176.5d corner: 1018.0d@183.5d
L10
590@40
610@40
590@30 corner: 610@50
590@50 corner: 610@70
670@50 corner: 690@70
410@590
410@590 corner: 452.0d@608.0d
center
START
36.0d
3@10.0d
7.0d
1070@170
1070@170 corner: 1098.0d@188.0d
RUN
22.0d
3@10.0d
7.0d
1070@280
1070@280 corner: 1099.0d@298.0d
AVC
23.0d
3@10.0d
7.0d
1070@130
1070@130 corner: 1104.0d@148.0d
WIRE
28.0d
3@10.0d
7.0d
1070@100
1070@100 corner: 1099.0d@118.0d
ARC
23.0d
3@10.0d
7.0d
1070@70
1070@70 corner: 1108.0d@88.0d
MOVE
32.0d
3@10.0d
7.0d
1070@200
1070@200 corner: 1106.0d@218.0d
STOP
30.0d
3@10.0d
7.0d
680@630
680@630 corner: 764.0d@649.0d
MANUAL MOVE
78.0d
3@11.0d
8.0d
1070@400
1070@400 corner: 1095.0d@418.0d
DIR
19.0d
3@10.0d
7.0d
1040@240
1040@240 corner: 1102.0d@259.0d
PULSE 12
56.0d
3@11.0d
8.0d
771.0d
9600
arduinoIDE
179
1024
109988601
Arduino Uno
142360727