Кирилица кривая может быть из-за отсутствия оной в индикаторе
А картинку добавлять здесь нужно по-хитрому. Кликаешь на вставку изображения, там - посмотреть на сервере, там-грузишь свою картинку, выбираешь и жмешь "вставить"
Ну или, если на стороннем ресурсе, то вместо "посмотреть на сервере" просто вставляешь линк
сервер - это arduino.ru - там, где форум. Прежде, чем вставить картинку, ее нужно туда загрузить. Собственно, чего это я? Сами читайте, здесь же, на форуме
На счет библиотеки ничего не могу сказать. Должна опознаваться. Нужен хотя бы скриншот.
По поводу русских букв. Иногда позарез нужны 1-2 буквы, без них - ну никак. Поищите "программирование пользовательских символов" - в индикатор можно несколько букв загрузить, предварительно их "нарисовав" в массиве битов.
Сейчас попробовал на другом компьютере, скетч из 1 поста откомпилировался без проблем... Правда, заливка что- то, никак не завершается. С лэптопа сейчас работаю.
А может быть проблема из- за разгона системы ? Я пользуюсь шахматной программой и мне нужна максимальная производительность системы, поэтому я разогнал процессор с 3 Ггц до 3,7 Ггц, правда, шину немного притормозил, вместо 200 Мгц она работает на 198 Мгц, выше поднимать, начинается перегрев...
Совсем сдурел, драйвер забыл поставить и думаю, что так долго записывается ?
Убейте "\LiquidCrystalExt" - там наверняка что-то с такими же именами лежит и мешает.
То что вы заметите разницу - я и не сомневался :). Как и в том что "есть лишние библиотеки". Судя по ошибке изначально-то были возможны только две причины "не туда/не так положенна библиотека" и "есть конфликтующая".
Просто уже эта ветка "глаза намазолила", вот и не выдержал.
Хе-х... Ну, что я могу сказать ? leshak, как я, неуч, могу определить, что есть лишнее ? Думаю что вы знаете, что говорите, сделал так, как вы велели. Вот скриншоты
На другом компьютере, эта же самая LiquidCrystalExt не мешает компиляции этого же самого скетча...
Иногда бывает совершенно неожиданная ошибка. Если говорит, что типа нет, а тип есть, то можно попробовать этот тип скопипастить прямо из библиотеки. Может там что-нибудь типа "русская буква а затесалась вместо латинской"...
AlexFisher, я сейчас искал в инете инфу и наткнулся на сайт http://bildr.org/2012/08/rotary-encoder-arduino/, где скачал вот такой скетч, для энкодера с кнопкой. При компиляции, получаю сообщение об ошибке. Я на свой страх и риск попытался исправить ошибку, вроде компиляция прошла успешно но, уверенности нет. Посмотрите пожалуйста
//From bildr article: http://bildr.org/2012/08/rotary-encoder-arduino/
//these pins can not be changed 2/3 are special pins
int encoderPin1 = 2;
int encoderPin2 = 3;
int encoderSwitchPin = 4; //push button switch
volatile int lastEncoded = 0;
volatile long encoderValue = 0;
long lastencoderValue = 0;
int lastMSB = 0;
int lastLSB = 0;
void setup() {
Serial.begin (9600);
pinMode(encoderPin1, INPUT);
pinMode(encoderPin2, INPUT);
pinMode(encoderSwitchPin, INPUT);
digitalWrite(encoderPin1, HIGH); //turn pullup resistor on
digitalWrite(encoderPin2, HIGH); //turn pullup resistor on
digitalWrite(encoderSwitchPin, HIGH); //turn pullup resistor on
//call updateEncoder() when any high/low changed seen
//on interrupt 0 (pin 2), or interrupt 1 (pin 3)
attachInterrupt(0, updateEncoder, CHANGE);
attachInterrupt(1, updateEncoder, CHANGE);
}
void loop(){
//Do stuff here
if(encoderSwitchPin2){
//button is not being pushed
}esle{
//button is being pushed
}
Serial.println(encoderValue);
delay(1000); //just here to slow down the output, and show it will work even during a delay
}
void updateEncoder(){
int MSB = digitalRead(encoderPin1); //MSB = most significant bit
int LSB = digitalRead(encoderPin2); //LSB = least significant bit
int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
int sum = (lastEncoded << 2) | encoded; //adding it to the previous encoded value
if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++;
if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --;
lastEncoded = encoded; //store this value for next time
}
Там, в 38 строке if(encoderSwitchPin2){ мне не понятно, почему encoderSwith2 ? Вроде как объявляли encoderSwitchPin4... В общем, я убрал цифру и всё откомпилировалось. Почему так ? И в 40 строке исправил esle на else
Я по английски не понимаю, объясните пожалуйста, в чём "специалность" выводов 2,3,4, что их нельзя менять ?
А на другом компьютере, эта ошибка сама собой исправилась ? У Вас работает, у меня на лэптопе тоже откомпилировалось, а на десктопе, ошибка ? Я даже вручную имена исправлял, не помогает. Не в буквах дело. Ошибка, наверное в самой Windows ?
По поводу компа с ошибкой... что-то в системе с кодировками не так. Попробуйте всю папку arduino101 в корень перенести, чтобы в путях пробелов не было.
Перенёс, ничего не изменилось. Ладно, фиг с ней, с этой проблемой. Потом, систему переставлю и попробую ещё раз. А пока пошёл учить матчасть. Спасибо за подсказку.
А Вы не могли бы написать скетч, чтобы энкодер с кнопкой и ЖКИ завязать ? В смысле, на ЖКИ выбрать с помощью кнопки, например, три позиции и энкодером менять число, на этой позиции, от 0 до 9 ?
AlexFisher, не могли бы Вы мне разжевать, последний скетч ? Я сейчас пытаюсь понять, что и как он делает и не могу. Первое, что делается в блоке, с 36 по 40 строки ? Убого миркую что, ошибки там но, какие ?
Второе, судя по схеме, 13 вывод выдаёт сигналы для кнопки и энкодера. По этим сигналам и идёт работа. А где прописан этот, 13, вывод ?
Вот, как тут учиться ? Если даже в уроках, ошибки не исправляются...
Благодарю заранее.
AlexFisher, не могли бы Вы мне разжевать, последний скетч ? Я сейчас пытаюсь понять, что и как он делает и не могу. Первое, что делается в блоке, с 36 по 40 строки ? Убого миркую что, ошибки там но, какие ?
Ну так попробуйте убрать двоечку из имени переменной.
Цитата:
Второе, судя по схеме, 13 вывод выдаёт сигналы для кнопки и энкодера. По этим сигналам и идёт работа. А где прописан этот, 13, вывод ?
Когда микроконтроллер подает на какое-то устройчтво сигнал, это имеет смысл только при наличии "печки", от которой можно плясать. В электронике это, как правило, масса. Попробуйте черненький провод воткнуть в дырочку на одну позицию выше. Вдруг что-нибудь получится.
Цитата:
Вот, как тут учиться ? Если даже в уроках, ошибки не исправляются...
Благодарю заранее.
А где вы там нашли урок? Это блог, в котором автор делится своими находками в процессе самообразования (а, стало быть, имеет такое же право на ошибки, как и вы), либо вообще бездумно копипастит из разных источников (ведет записную книжку для себя). Не исключаю и такого варианта, что автор специально сделал пару мелких неточностей - опытный поймет (да скорее даже не будет читать эту статью - банально), новичок либо соаершит минимальное усилие и разьерется сам, лмбо спросит у автора - блогу трафик и подъем на несколько позиций в поисковых запросах...
C 36 по 40 строки скетч проверяет, нажата ли кнопка и, в зависимости от того, нажата или нет, ничего не делает или ничего не делает (там нужно включить Вашу рекламу :) ) Скетч не задействует 13 вывод.
Step962, умный да ? А если после этого, попробуй, контролер помрЭ ? Тебя искать ?
Умный сначала спросит, потом сделает, а глупый, сначала сделает, а потом спрашивает.
По поводу цифры, читайте пожалуйста мой пост внимательнее, я написал что, убрал. Что ж Вы, повторяете то ?
На счёт халявы. Вы, если сюда заглядываете то, наверное в поисках дохода ? Тогда у меня к Вам просьба, на мои вопросы, пожалуйста, не отвечайте. Мне нечем Вам заплатить. А за Ваш последний пост, тем не менее я Вас благодарю. У меня была такая мысль что, там не только в тексте но и в схеме ошибка, только, боязно было менять. Дело новое, не знакомое... Да и на второй схеме, тоже нарисовано соединение с 13 ножкой. Вот как тут не засомневаться ?
Не наезжайте на Step-а, он дал хороший, развернутый ответ, я его только дополнил капельку. Я уже давно понял, что форум нужно читать фильтруя эмоции (чего и Вам советую), может у него манера изъясняться такая ;)
В ремарках обычно пишут, что в этом месте происходит, или должно происходить. Я и сам часто пишу ремарки по ангельски, потому что, во первых, лень переключаться, во-вторых, куда-нибудь скопируешь текст, а там - крякозябры вместо русского... Так что Гугль-переводчик Вам в помощь!
куда-нибудь скопируешь текст, а там - крякозябры вместо русского...
Тоже сталкивался с этим при одноременной работе с ArduinoIDE и VS2010. Методом перебора нашел что файлы нужно сохранять в "Unicode (UTF-8 without signature) - Codepage 65001". Тогда в обоих IDE (и на разных компах) все открывается нормально.
Переводы google, "updateEncoder вызова () при любых высоких / низких изменилась видел" без слёз читать нельзя...
Ладно ребята, не будем об этом. Лучше, подскажите пожалуйста, как и где, нужно изменить текст программы, чтобы счёт шёл от 0 до 9 и, при смене направления вращения энкодера, считал в обратную сторону от числа, на котором произошло изменение направления вращения ? Т.е. если крутим по часовой стрелке, счёт увеличивает от 0 до 9, если против часовой, уменьшает, от 9 до 0. В текущем виде, счёт идёт далеко и, при смене направления, сбрасывает показания в ноль о продолжает считать с нуля, по возрастанию.
Никто и не предлагал переводить текст программы, только ремарки! //button is not being pushed переводится как / / кнопка не толкают - вполне удобоваримо!
Сброса в 0 в программе нигде нет, поэтому странно. Ограничить диапазон можно парой операторов
if (encoderValue>9) encoderValue=9;
else if (encoderValue<0) encoderValue=0;
И учтите, что за оборот енкодер делает 24 шага! Очень быстро до 9 сосчитает!
Так и есть, изображение появилось но, кириллица кривая... Сейчас поробую Ваш программу- конвертор.
:)
Кирилица кривая может быть из-за отсутствия оной в индикаторе
А картинку добавлять здесь нужно по-хитрому. Кликаешь на вставку изображения, там - посмотреть на сервере, там-грузишь свою картинку, выбираешь и жмешь "вставить"
Ну или, если на стороннем ресурсе, то вместо "посмотреть на сервере" просто вставляешь линк
А что за сервер ? Я так и делал, только на сервере и застрял. Я ожидал там увидеть свой компьютер... Даже попытался увидеть, не получилось.
Сейчас попробовал с Вашим генератором, всё равно - криво. Значит, кириллицы просто- напросто в моём дисплее нет. Ну что ж, будем обходиться латиницей.
А что ещё может быть проблемой, почему LiquidCrystalRus не желает опознаваться как должно ?
сервер - это arduino.ru - там, где форум. Прежде, чем вставить картинку, ее нужно туда загрузить. Собственно, чего это я? Сами читайте, здесь же, на форуме
На счет библиотеки ничего не могу сказать. Должна опознаваться. Нужен хотя бы скриншот.
По поводу русских букв. Иногда позарез нужны 1-2 буквы, без них - ну никак. Поищите "программирование пользовательских символов" - в индикатор можно несколько букв загрузить, предварительно их "нарисовав" в массиве битов.
Спасибо большое, у меня как раз глюк был поэтому я и не мог ничего увидеть. А какой именно скриншот выложить, чтобы Вы посмотрели ?
Сейчас попробовал на другом компьютере, скетч из 1 поста откомпилировался без проблем... Правда, заливка что- то, никак не завершается. С лэптопа сейчас работаю.
А может быть проблема из- за разгона системы ? Я пользуюсь шахматной программой и мне нужна максимальная производительность системы, поэтому я разогнал процессор с 3 Ггц до 3,7 Ггц, правда, шину немного притормозил, вместо 200 Мгц она работает на 198 Мгц, выше поднимать, начинается перегрев...
Совсем сдурел, драйвер забыл поставить и думаю, что так долго записывается ?
Сейчас убрал разгон, все настройки вернул в штатные, перезагрузился и всё равно, получаю сообщение об ошибке, при компиляции скетча из 1 поста.
Блин, ну в #48 посте AlexFisher дал же скриншот как должен выглядеть список бибилиотек для экрана. Сравните со своим скриншотом из #56.
Тем более что он так и написал "сравните со своим вариантом". И "читайте советы внимательнее" он уже тоже говорил.
Убейте "\LiquidCrystalExt" - там наверняка что-то с такими же именами лежит и мешает. Разгон пофиг - IDE работает на виртуальной Java-машине.
Убейте "\LiquidCrystalExt" - там наверняка что-то с такими же именами лежит и мешает.
То что вы заметите разницу - я и не сомневался :). Как и в том что "есть лишние библиотеки". Судя по ошибке изначально-то были возможны только две причины "не туда/не так положенна библиотека" и "есть конфликтующая".
Просто уже эта ветка "глаза намазолила", вот и не выдержал.
Хе-х... Ну, что я могу сказать ? leshak, как я, неуч, могу определить, что есть лишнее ? Думаю что вы знаете, что говорите, сделал так, как вы велели. Вот скриншоты
На другом компьютере, эта же самая LiquidCrystalExt не мешает компиляции этого же самого скетча...
Может, что-нибудь в моей системе Windows, кривое ?
В папке LiquidCrystalExt, нет ни одного слова LiquidCrystalRus, это я так, посмотрел содержимое и размышляю...
Иногда бывает совершенно неожиданная ошибка. Если говорит, что типа нет, а тип есть, то можно попробовать этот тип скопипастить прямо из библиотеки. Может там что-нибудь типа "русская буква а затесалась вместо латинской"...
AlexFisher, я сейчас искал в инете инфу и наткнулся на сайт http://bildr.org/2012/08/rotary-encoder-arduino/, где скачал вот такой скетч, для энкодера с кнопкой. При компиляции, получаю сообщение об ошибке. Я на свой страх и риск попытался исправить ошибку, вроде компиляция прошла успешно но, уверенности нет. Посмотрите пожалуйста
Там, в 38 строке if(encoderSwitchPin2){ мне не понятно, почему encoderSwith2 ? Вроде как объявляли encoderSwitchPin4... В общем, я убрал цифру и всё откомпилировалось. Почему так ? И в 40 строке исправил esle на else
Я по английски не понимаю, объясните пожалуйста, в чём "специалность" выводов 2,3,4, что их нельзя менять ?
А на другом компьютере, эта ошибка сама собой исправилась ? У Вас работает, у меня на лэптопе тоже откомпилировалось, а на десктопе, ошибка ? Я даже вручную имена исправлял, не помогает. Не в буквах дело. Ошибка, наверное в самой Windows ?
По поводу цифры 2 - видимо опечатка была.
Выводы 2 и 3 менять нельзя - это входы внешних прерываний, на другие нои эти прерывания нельзя будет зацепить.
Вход 4 (кнопка) - меняйте как угодно.
Выводы 2 и 3 входы внешних прерываний у Arduino ?
Да. Учите матчасть по прерываниям.
По поводу компа с ошибкой... что-то в системе с кодировками не так. Попробуйте всю папку arduino101 в корень перенести, чтобы в путях пробелов не было.
Перенёс, ничего не изменилось. Ладно, фиг с ней, с этой проблемой. Потом, систему переставлю и попробую ещё раз. А пока пошёл учить матчасть. Спасибо за подсказку.
А Вы не могли бы написать скетч, чтобы энкодер с кнопкой и ЖКИ завязать ? В смысле, на ЖКИ выбрать с помощью кнопки, например, три позиции и энкодером менять число, на этой позиции, от 0 до 9 ?
Благодарю заранее.
Времени нет. Нужно в железе собрать или в протеусе проэмулировать. Писать без проверки - скучно. Может, позже...
Можно и позже, я пока поучу матчасть.
AlexFisher, не могли бы Вы мне разжевать, последний скетч ? Я сейчас пытаюсь понять, что и как он делает и не могу. Первое, что делается в блоке, с 36 по 40 строки ? Убого миркую что, ошибки там но, какие ?
Второе, судя по схеме, 13 вывод выдаёт сигналы для кнопки и энкодера. По этим сигналам и идёт работа. А где прописан этот, 13, вывод ?
Вот, как тут учиться ? Если даже в уроках, ошибки не исправляются...
Благодарю заранее.
AlexFisher, не могли бы Вы мне разжевать, последний скетч ? Я сейчас пытаюсь понять, что и как он делает и не могу. Первое, что делается в блоке, с 36 по 40 строки ? Убого миркую что, ошибки там но, какие ?
Ну так попробуйте убрать двоечку из имени переменной.
Второе, судя по схеме, 13 вывод выдаёт сигналы для кнопки и энкодера. По этим сигналам и идёт работа. А где прописан этот, 13, вывод ?
Когда микроконтроллер подает на какое-то устройчтво сигнал, это имеет смысл только при наличии "печки", от которой можно плясать. В электронике это, как правило, масса. Попробуйте черненький провод воткнуть в дырочку на одну позицию выше. Вдруг что-нибудь получится.
Вот, как тут учиться ? Если даже в уроках, ошибки не исправляются...
Благодарю заранее.
А где вы там нашли урок? Это блог, в котором автор делится своими находками в процессе самообразования (а, стало быть, имеет такое же право на ошибки, как и вы), либо вообще бездумно копипастит из разных источников (ведет записную книжку для себя). Не исключаю и такого варианта, что автор специально сделал пару мелких неточностей - опытный поймет (да скорее даже не будет читать эту статью - банально), новичок либо соаершит минимальное усилие и разьерется сам, лмбо спросит у автора - блогу трафик и подъем на несколько позиций в поисковых запросах...
Никто вас кормить на заляву не подряжался ;)
C 36 по 40 строки скетч проверяет, нажата ли кнопка и, в зависимости от того, нажата или нет, ничего не делает или ничего не делает (там нужно включить Вашу рекламу :) ) Скетч не задействует 13 вывод.
Step962, умный да ? А если после этого, попробуй, контролер помрЭ ? Тебя искать ?
Умный сначала спросит, потом сделает, а глупый, сначала сделает, а потом спрашивает.
По поводу цифры, читайте пожалуйста мой пост внимательнее, я написал что, убрал. Что ж Вы, повторяете то ?
На счёт халявы. Вы, если сюда заглядываете то, наверное в поисках дохода ? Тогда у меня к Вам просьба, на мои вопросы, пожалуйста, не отвечайте. Мне нечем Вам заплатить. А за Ваш последний пост, тем не менее я Вас благодарю. У меня была такая мысль что, там не только в тексте но и в схеме ошибка, только, боязно было менять. Дело новое, не знакомое... Да и на второй схеме, тоже нарисовано соединение с 13 ножкой. Вот как тут не засомневаться ?
То, что проверяет, нажата или нет, понятно. Не понятно как ?
А что за реклама ?
Не наезжайте на Step-а, он дал хороший, развернутый ответ, я его только дополнил капельку. Я уже давно понял, что форум нужно читать фильтруя эмоции (чего и Вам советую), может у него манера изъясняться такая ;)
То, что проверяет, нажата или нет, понятно. Не понятно как ?
А что за реклама ?
Решил даже процитировать :)))
Проверяет оператором if(), а реклама... там в скетче зелененькими буковками написано, какая :)))
Хорошо, не буду.
Step962, простите пожалуйста, не сдержался.
Хе-х... Я по ангельски, не разумею, думал что- то по теме пишут... А оно вон чАво.
В ремарках обычно пишут, что в этом месте происходит, или должно происходить. Я и сам часто пишу ремарки по ангельски, потому что, во первых, лень переключаться, во-вторых, куда-нибудь скопируешь текст, а там - крякозябры вместо русского... Так что Гугль-переводчик Вам в помощь!
Step962, умный да ? А если после этого, попробуй, контролер помрЭ ? Тебя искать ?
Попробуйте, все-таки, воздержатся от переходов на личности.
И, таки да, он умный. В некоторых кругах общения это не считается ругательством.
куда-нибудь скопируешь текст, а там - крякозябры вместо русского...
Тоже сталкивался с этим при одноременной работе с ArduinoIDE и VS2010. Методом перебора нашел что файлы нужно сохранять в "Unicode (UTF-8 without signature) - Codepage 65001". Тогда в обоих IDE (и на разных компах) все открывается нормально.
Переводы google, "updateEncoder вызова () при любых высоких / низких изменилась видел" без слёз читать нельзя...
Ладно ребята, не будем об этом. Лучше, подскажите пожалуйста, как и где, нужно изменить текст программы, чтобы счёт шёл от 0 до 9 и, при смене направления вращения энкодера, считал в обратную сторону от числа, на котором произошло изменение направления вращения ? Т.е. если крутим по часовой стрелке, счёт увеличивает от 0 до 9, если против часовой, уменьшает, от 9 до 0. В текущем виде, счёт идёт далеко и, при смене направления, сбрасывает показания в ноль о продолжает считать с нуля, по возрастанию.
Никто и не предлагал переводить текст программы, только ремарки! //button is not being pushed переводится как / / кнопка не толкают - вполне удобоваримо!
Сброса в 0 в программе нигде нет, поэтому странно. Ограничить диапазон можно парой операторов
И учтите, что за оборот енкодер делает 24 шага! Очень быстро до 9 сосчитает!