помощь новичку

vshuka
Offline
Зарегистрирован: 10.07.2013
есть кнопки и есть курсор
задача:при нажатии кнопки 1 курсор идет вниз,
А при нажатии кнопки наоборот
#include <Wire.h>  // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
int butPin = 0;            // גץמה ךםמןמך
int butPush = 0;            // ךמה םאזאעמי ךםמןךט
int n=0;
void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);  // Used to type in characters
 
  lcd.begin(20,4);         // initialize the lcd for 20 chars 4 lines
 
// NOTE: Cursor Position: CHAR, LINE) start at 0  
  
  lcd.setCursor(2,1);
  lcd.print("Key pressed:");
  }/*--(end setup )---*/
void loop() {
  lcd.setCursor(0,n); // ףסעאםאגכטגאול ךףנסמנ גמ געמנף‏ סענמךף
  lcd.print(">"); //ןוקאעאול חםאקוםטו גמחגנאשאולמו פףםךצטוי button
  delay(100); // חאהונזךא ג 0,1 סוךףםה
}
int button () {
    butPush = 0; // ךמה םאזאעמי ךםמןךט
    int val = 0; // חםאקוםטו סקטעאםםמו ס ְײֿ
    
    val = analogRead(butPin);  // קטעאול ְײֿ ןמנעא ךםמןמך (חםאקוםטו מע 0 המ 1023)
    
    if (val > 183 && val < 223) {butPush = 5;}  // וסכט חםאקוםטו לוזהף 183 ט 223 עמ םאזאעא ךםמןךא 5
    if (val > 385 && val < 425) {butPush = 4;} 
    if (val > 587 && val < 627) {butPush = 3;} 
    if (val > 793 && val < 833) {butPush = 2;}
    if (val > 1003) {butPush = 1;}
    delay(10);  // חאהונזךא הכ ףסענאםוםט הנובוחדא ךמםעאךעמג
    return butPush; // גמחגנאשאול חםאקוםטו םאזאעמי ךםמןךט
    {
 if (butPush = 1) {n++;delay(200);}
 if (butPush = 2) {n--;delay(200);}
}
}
 

 

 

 

toc
Offline
Зарегистрирован: 09.02.2013

сделаю за 5 т.р.

vshuka
Offline
Зарегистрирован: 10.07.2013
я не в ветке "ищу исполнителя"
просто нужна помощь.не хочешь или не можешь лучше не отвечай.
leshak
Offline
Зарегистрирован: 29.09.2011

vshuka пишет:

я не в ветке "ищу исполнителя"
 
Все ваше стартовое сообщение читается именно как "сделайте мне нашару", а не "помогите". 
 

vshuka пишет:
не хочешь или не можешь лучше не отвечай.

Осторожней. Начинать посещения чужого монастыря с указаний кому чего делать - не самое мудрое поведение. Тем более когда не хватает ума: 

1. Назвать ветку по нормальному, информативно 
2. Воспользоватся поиском
3. Почитать, для начала, прикрепленные ветки. Научится по нормальному вставлять код. 
4. Научится формулировать мысли/вопросы не предполагая наличие телепатов.

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

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Создается впечетление что астрологи объявили неделю "Я - крутой", количество наездов на этой неделе максимум во втором сообщении увеличивается втрое. Или это все один и тот же и пытается нас ддосом таким построить? :)

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Если беспорядок нельзя предотвратить - его надо возглавить. (с)

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

Snubist
Offline
Зарегистрирован: 18.02.2013

Andrey_Y_Ostanovsky пишет:

Причем так, чтобы тема из всех веток сходилась в одну.

В "Ищу исполнителя" :)

vshuka
Offline
Зарегистрирован: 10.07.2013

я не прошу "сделать на шару" а подсказать "как правильно" либо отправить на какой либо ресурс где можно самостоятельно разобраться.а если кого то обидел то прошу прощения

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

vshuka пишет:

 если кого то обидел то прошу прощения

Вы не обидели, Вы название своей темы сделали очень неудачное... В чем-то сродни крику в людном месте "Эй ты, иди сюда!". Ну вот, сейчас все придут и потопчутся. :)

Что качается самого вопроса - обычно описывают задачу, показывают скетч и объясняют: что не получается. Попробуйте дважды прочитать свое описание и понять: что кому и куда курсор... :) Лично я в пятницу вечером не готов такие ребусы разгадывать, но подозреваю, что кнопок для управления курсором должно быть две, либо четные такты гонят его в одну сторону, а нечетные - в другую.

vshuka
Offline
Зарегистрирован: 10.07.2013
кнопок действительно нужно две.одна гонит курсор вверх а другая вниз.Клавиатура основывается на делителе напряжения и их всего 5.вверх,вниз,влево и вправо но на данном этапе нужно всего две.задача такова: есть определенное меню из четырех строк,с помощью курсора мы выбираем определенную строку из меню и нажимаем "ввод" вот как то так
 
 
toc
Offline
Зарегистрирован: 09.02.2013

vshuka, если знаете иврит переведите комментарии. Гугл-то лыка не вяжет

toc
Offline
Зарегистрирован: 09.02.2013

leshak пишет:

"сделайте мне нашару"
 
интересно. :)
mixail844
Offline
Зарегистрирован: 30.04.2012

это не иврит,это крякозябры получившиеся из-за не соответствия кодировок,получившиися в виде ивритских букв

язык скорее всего русский- оригинал на русском так как около цифр 0 и 1023 есть 2 слова по 2 буквы,предполагаю что " от " и "до" .в иврите "от" состоит из одной буквы.

Клапауций
Offline
Зарегистрирован: 10.02.2013

JollyBiber пишет:

Создается впечетление что астрологи объявили неделю "Я - крутой", количество наездов на этой неделе максимум во втором сообщении увеличивается втрое. Или это все один и тот же и пытается нас ддосом таким построить? :)

Это не я.

step962
Offline
Зарегистрирован: 23.05.2011

vshuka пишет:

кнопок действительно нужно две.одна гонит курсор вверх а другая вниз

[...]

и нажимаем "ввод" вот как то так
 
...итого - три
вот как-то так...
toc
Offline
Зарегистрирован: 09.02.2013

vshuka пишет:

...Клавиатура основывается на делителе напряжения и их всего 5.вверх,вниз,влево и вправо...

Так сколько кнопок на клавиатуре?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

toc пишет:

Так сколько кнопок на клавиатуре?

то науке еще не известно, британские ученые протирают телескоп :)

leshak
Offline
Зарегистрирован: 29.09.2011

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

Тогда:

1. Попробуйте разобратся как вставлять код в сообщения. ЧТо-бы оно было форматированное и его нормально можно было читать. Подсказка: смотрите прикрепленные темы форума "Программирование". Иначе в вас постоянно будут помидорами кидать.

2. Похоже вы схватились за задачу не по зубам. В этом случае ее нужно дробить/упрощать.

Что-бы упростить: скопируте,пока, ваш скетч в сторону. Выкинте из него все что относится к LCD (что-бы оно внимание не занимало) и решите такую задачу: "вывести номер нажатой кноки в Serial"  (кстати временный отказ от LCD хорош еще тем, что помочь/запустить/проверить скетч смогут даже те у кого нет LCD).

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

setup и loop

А так-же Функции и return

Вообщем научитесь вначале просто читать и выводить кнопки, а уже потом буде заниматся "принимать решения на основе нажатия" и "что-то рисовать на LCD"

P.S. Если коментарии на иврите "приблудились" из-за копи-паста, если вы сами их прочитать не можете и они не являются полезными для вас  - лучше уберите их вообще. Пусть не создают информационный шум для вас и других. 

P.S.S. В стартовом посте я поправил внешний вид кода, но в будущем - пожалуста сами.

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Клапауций пишет:

Это не я.

Все вы так говорите...