
morda
14.04.2018
20:36:20
За комп надо идти)

Dolphin
14.04.2018
20:36:21
нет
Атмел студия - для души
бальзам прям

Google

morda
14.04.2018
20:36:57
Ну пока обвес сочиняешь ардуина рулит)
Хотя)
Надо будет попробовать чистый атмел

Dolphin
14.04.2018
20:38:39
интересно


morda
14.04.2018
20:40:53
схемы нет пока
сперва нагуглил вот это http://cxem.net/arduino/arduino8.php
но там ужасный говнокод)
если посмотреть на , то видно что если повесить ИНТ на CHANGE то из коробки получаем направление)
получилась вот такая замена
void encoder() {
noInterrupts();
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
if(encoder_B) {
// выход В в полож. сост., значит вращение по часовой стрелке
// увеличиваем яркость, не более чем до 255
if(brightness + fadeAmount <= 255) brightness += fadeAmount;
}
else {
// выход В в 0 сост., значит вращение против часовой стрелки
// уменьшаем яркость, но не ниже 0
if(brightness - fadeAmount >= 0) brightness -= fadeAmount;
}
interrupts();
Serial.println(brightness);
}


Victor
14.04.2018
20:43:25

Google

morda
14.04.2018
20:43:31
attachInterrupt(digitalPinToInterrupt(interruptPin), encoder, FALLING);
ой на FALLING

Dolphin
14.04.2018
20:44:15
зачем ты 20 раз читаешь пины?


morda
14.04.2018
20:44:38
это я там их 8шт насобачил чтоб посмотреть успевает считывать)
успевает)
короче когда А падает - идет прерываение (через диод) на инт0 (пин1 чотоле) и в прерывании анализируем Б
а енкодеры такие оказались что постоянно А и Б в плюсе и только когда вращаешь идут мелкие минусы
(см диаграмму)

Dolphin
14.04.2018
20:46:42
да понял понял )
я иначе делаю )

morda
14.04.2018
20:47:59
причем пока от 0 до 255 мотаешь - ошибок нет, а если от нуля дальше в ноль крутишь то периодически единица проскакивает)
и также сверху

Dolphin
14.04.2018
20:49:23

morda
14.04.2018
20:49:27
а если пины в рабочем цикле читать то там прям сильная зависимость от колво-ошибок и вот эта задержка if(currentTime >= (loopTime + 5)){ // проверяем каждые 5мс (200 Гц)

Dolphin
14.04.2018
20:50:16
читает пины энкодера, и создает битовую маску, в которой находятся биты в какую сторону крутится энкодер и нажата ли кнопка

morda
14.04.2018
20:50:17
блин за такой код...)))

Dolphin
14.04.2018
20:52:58
че не нравится? )

morda
14.04.2018
20:53:10
канделябром чо)

Google

Dolphin
14.04.2018
20:53:21
схуя?
там все красиво и лампово

morda
14.04.2018
20:54:10
собеседование не пройдешь)

Dolphin
14.04.2018
20:54:28
с чего бы?
названия переменных не нравятся?

morda
14.04.2018
20:54:50
так уйди)

Dolphin
14.04.2018
20:54:57
так они названы по стандарту

morda
14.04.2018
20:55:01
я сюда отдохнуть от программерства прихожу)
нет, там тернарник запутанный со скобками

Dolphin
14.04.2018
20:55:57
ничего там запутанного, там все в точном соответствии поставленной задаче и последовательности вычислений
+ одно условие

morda
14.04.2018
20:56:53
еще раз я сюда от кода отдыхать прихожу)))

morda
14.04.2018
20:57:03
но можно твой улучшить чтоб читался)
но не буду)

Dolphin
14.04.2018
20:57:12
да ноупроблем, я не навязываю
а то все горазды трындеть

morda
14.04.2018
20:57:30
60/час)

Dolphin
14.04.2018
20:57:35
а на деле - "но не буду"

Google

morda
14.04.2018
20:57:51
чорт(
ну кинь его текстом)
`
завтра планирую нихуянеделать мож порешаю)

Dolphin
14.04.2018
20:59:12
ISR (PCINT0_vect)
{
_pB = PINB & ( _enL | _enR | _enB );
_enc_state = ((_pB & _enB)!=0) ? ( ( ( _pB & _enR ) << 1 ) ^ ( _storB & _enL ) ) | ( ( ( _pB & _enL ) >> 1 ) ^ ( _storB & _enR ) ) : _enB;
_storB = _pB;
}

Victor
14.04.2018
20:59:44
Автообфускация

Dolphin
14.04.2018
21:00:01
еще один
где вы обфускацию нашли?

Admin
ERROR: S client not available

morda
14.04.2018
21:00:18
кстати а можно как-то ардуинные говна в нормальном редакторе редактировать а потом пулять?

Dolphin
14.04.2018
21:00:19
все прозрачно и ясно

Victor
14.04.2018
21:01:11
Мозг немного ломает, но ?

morda
14.04.2018
21:01:21

Dolphin
14.04.2018
21:02:07
и тогда его смысл очевиден

morda
14.04.2018
21:03:02
ясен пень)
по этому ардуина рулит)
код простой как палка)

Dolphin
14.04.2018
21:04:26

Google

Dolphin
14.04.2018
21:04:32
Platformio

Victor
14.04.2018
21:04:32
^^^
пиши на обычном С/С++ и собирай avr-gcc

Dolphin
14.04.2018
21:04:41
Visual Studio Code

Victor
14.04.2018
21:04:42
зачем Arduino?

morda
14.04.2018
21:06:03

Dolphin
14.04.2018
21:07:20

morda
14.04.2018
21:07:46
CodeBlocks
нене я не спрашивал за редактор, я спрашивал когда есть ардуинный файл уже в редакторе нормальном приготовленный как бы его так же просто как в ардуиноИДЕ шить на плату
консолька мож

Dolphin
14.04.2018
21:08:31
я разве не так сказал? )
всмысле ну компилируй с коммандной строки
и шей дудкой комплектной
https://www.youtube.com/watch?v=HwOGyrTUuJo&feature=share

morda
14.04.2018
21:15:27
лядно лядно)

Papin ?
14.04.2018
22:06:23
Речи то не идёт о длительной эксплуатации в таких условиях)

Byte
14.04.2018
23:17:55
777Andrej, Атлас 5 красиво ушёл ;)

Dolphin
15.04.2018
01:03:36

Remald
15.04.2018
01:17:47
У кого бывает сонный паралич при недопробуждении?

Defragmented
15.04.2018
01:39:28

Remald
15.04.2018
01:40:14
У меня бывает раз в несколько лет, вот сегодня был

Andrey
15.04.2018
06:37:32
https://www.ixbt.com/live/chome/orange-pi-one---ustanovka-domoticz-servera-s-nulya.html