Помогите пожалуйста новичкуууу!!!
- Войдите на сайт для отправки комментариев
Всем привет!
Задание: Игра «Проверка реакции». На индикаторе показывается число (от 0 до 9) в течении 3 секунд, затем начинают выводиться числа в случайном порядке (одна секунда на число). Пользователь должен нажать кнопку при появлении показанного ранее числа. При совпадении выводится сообщение1, иначе сообщение2.
Помогите пожалуйста. Не понимаю что написал не так. Помогите отладить скетч.Показывает первую цифру 4 затем принажатии кнопки показывает сообщение до только на цифре 0.
Скетч:
long randNumber;
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int LedPin = 13; // Подключаем светодиод к порту 13
int ButPin = 8; // Подключаем кнопку к выходу 8
int ResPin = 6;
int per1;
int per2;
void setup() {
pinMode(LedPin, OUTPUT); // Инициализируем порт "ledPin" как выходной
lcd.begin(16, 2); // устанавливаем размер (количество столбцов и строк) экрана
randomSeed(analogRead(0));
randNumber = random(9);
lcd.println(randNumber);
int per1 = (randNumber);
delay(3000);
}
void loop() {
// устанавливаем курсор в колонку 0, строку 1. То есть на
// самом деле это вторая строка, т.к. нумерация начинается с нуля
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
randNumber = random(9);
lcd.println(randNumber);
int per2 = (randNumber);
delay(500);
lcd.setCursor(0, 0);
{
if(digitalRead(ButPin) == HIGH) // если кнопка нажата
{
if (per2==per1)
{
lcd.print("YES!");
}
else
{
lcd.print("NO!");
}
}
}
delay(500);
}
http://pixs.ru/showimage/1jpg_6889169_15694337.jpg
Во первых научитесь правильно оформлять код. Во вторых нафига по два раза объявлен тип переменной int для per1 и per2, оставь объявление в начале и убери нафик в циклах.
ну и кнопку надо на вход прерывания посадить.
http://arduino.ru/forum/programmirovanie/pomogite-pozhaluista-novichkuuuu
он две открыл... и уже всё понял, кажися :)