#1 2017-07-04 01:20:01

Romanovskiy
Учасник
Зареєстрований: 2017-07-04
Повідомлень: 12

Обнуление значений энкодера

Здравствуйте.В програмировании я не силён поетому и пришел к Вам за ответом.
Есть скетч для енкодера
/* Пины, к которым подключен энкодер */
enum { ENC_PIN1 = 2, ENC_PIN2 = 3 };
void setup()
{
pinMode(ENC_PIN1, INPUT);
pinMode(ENC_PIN2, INPUT);

Serial.begin(9600);
}


unsigned graydecode(unsigned gray)
{
unsigned bin;

for (bin = 0; gray; gray >>= 1)
    bin ^= gray;

return bin;
}
   
void loop()
{
static uint8_t previous_code = 0; // предыдущий считанный код

uint8_t gray_code = digitalRead(ENC_PIN1) | (digitalRead(ENC_PIN2) << 1),
         code = graydecode(gray_code);

if (code == 0)
{
   if (previous_code == 3)
     Serial.println("->");
   else if (previous_code == 1)
     Serial.println("<-");
     }

previous_code = code;
delay(50);
}
Этот скетч меня всем устраивает кроме одного,при выводе значение в монитор порта мне нужно чтобы данные обнулялись и сыпались с интервалом 50мс. Тоесть
примерно должно быть так
0
0
<-     (повернул ручку на один щелчёк в лево)
0
<-     (повернул ручку на один щелчёк в лево)
0
0
->     (повернул ручку на один щелчёк в право)

а сейчас он только присылае когда сделан поворот.
Подскажите как это сделать желательно с примером так как уже вторые сутки не могу добится нужного результата

Неактивний

#2 2017-07-04 07:05:28

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Обнуление значений энкодера

А у вас здесь нет кода, обработки енкодера. А есть хрен знает что. И значить обнулять это хрен знает кто и хрен знает как.

Неактивний

#3 2017-07-04 09:54:18

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Обнуление значений энкодера

Romanovskiy ), Вы не обращайте внимания на резкость qwone, он добрый. как мог так и указал на ошибки в тексте )

Вы просто забыли дописать 

Romanovskiy пише:

Здравствуйте.В програмировании я не силён поетому и пришел к Вам за ответом с грошима

Есть скетч для енкодера
....
Подскажите как это сделать желательно с примером так как уже вторые сутки не могу добится нужного результата

целые вторые сутки )))
на самом деле для понимания всей прелести программирования нужна неделя,  а лучьше две. приходите 18го,  я Вам помогу с этим кодом.

Неактивний

#4 2017-07-04 12:08:06

Romanovskiy
Учасник
Зареєстрований: 2017-07-04
Повідомлень: 12

Re: Обнуление значений энкодера

Да не на что обижатся,если человек не может объяснить а сразу порит гарячку и выкидывает своё фё в мою сторону.
Да,я не програмист от Бога и ну могу вот так с ходу взять и накатать 1000 строк за 5 минут и без ошибок,но поверьте, и вы не идеальны.
NoName,я понимаю что можно было бы написать с деньгами всё что угодно,и даже знаю к кому обратится и сколько стоит.Просто надеялся что подскажут,может помгут и без этого,вроде как на то и форум нужен...Или форумы у нас тупо для сшибания денег?
Вообщем,извините что так много букв,и не по теме.
Надеюсь у qwone в жизни всё будет хорошо.

Неактивний

#5 2017-07-04 18:00:37

qwone
Учасник
Зареєстрований: 2016-07-25
Повідомлень: 143

Re: Обнуление значений энкодера

Спасибо , у меня все хорошо. Представим гипотетическую ситуацию. Человек просит порезать , к примеру торт. Вроде все привычно. Смотрите и видите, что это жидкий кисель в кастрюле. Вроде глупо его резать на кусочки. Говоришь человеку прямо, что это не торт и его никто не порежет, да и неизвестно как это резать. Человек обижается. Говорит, что да он не повар, и киевский торт у него не получился, зато получился наполеон. Вот его и надо порезать.
  Разумеется это не форум кулинарии, но искать в гугле или на ютубе вроде уже вменяемый человек может. Ладно скину немного ссылок сюда. 
https://www.youtube.com/watch?v=gRSYxXbjnCg
https://www.youtube.com/watch?v=CqsuqdI3QJI
https://www.youtube.com/watch?v=ojhhQqMy-9U

Неактивний

#6 2017-07-04 18:36:42

Romanovskiy
Учасник
Зареєстрований: 2017-07-04
Повідомлень: 12

Re: Обнуление значений энкодера

Вот,спасибо! Понимаю уже что то что я написал никуда не годится,я ж его использовал из-за того что он мне наиболее подходил по функционалу,но как оказалось с этого слепить невозможно ничего.
Я не обижался на Вас и нинакого,просто хрен не люблю,да и только)

Неактивний

Швидке повідомлення

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

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