Проблемы с клавиатурой

МоделистКонстру...
Offline
Зарегистрирован: 15.07.2018

Господа, прошу помочь вылетает ошибка('keypad' was not declared in this scope):

const int pinPhoto = A0;
#include <SoftwareSerial.h>    // библиотека для для обмена данными 
#include <DFPlayer_Mini_Mp3.h> // подключаем библиотеку для DFPlayer Mini
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {7, 6, 5, 4}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {11, 10, 9, 8}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 


int raw = 0;

void setup() {
  Serial.begin(9600);
  pinMode(A1, INPUT); // объявляем пин A1 как вход
  pinMode(A2, INPUT); // объявляем пин A2 как вход
  pinMode( pinPhoto, INPUT );
   mp3_set_serial(Serial); // включаем передачу данных с DFPlayer mini mp3
    delay(1);               // задержка в 1ms для установки громкости
    mp3_set_volume(30);     // устанавливаем громкость от 0 до 30
    mp3_set_EQ(0);          // устанавливаем эквалайзер от 0 до 5
}

void loop() {


if (analogRead(A1) > 300) // когда аналоговая кнопка нажата
{
raw = analogRead( pinPhoto );
 // Serial.println( raw );
 // delay(100);
  
  if( raw >= 11 && raw < 150){ mp3_play(31);
   delay(10000);}
    else
  if( raw >= 151 && raw < 650){ mp3_play(32);
  delay(10000);}
   else
  if( raw >= 651 && raw < 800){ mp3_play(33);
  delay(10000);}
   else 
   if( raw >= 801 && raw < 1000){ mp3_play(34);
  delay(10000);}
}


if (analogRead(A2) > 300) // когда аналоговая кнопка нажата
{
char key = keypad.getKey(); 

{
if (Key == '1'){ 
 mp3_play(01);
  delay(10000);

}

//if (analogRead(A2) < 300) // когда аналоговая кнопка отпущена
//{
//digitalWrite(13, LOW); // выключаем светодиод
//}
   

}
}
}

 

kalapanga
Offline
Зарегистрирован: 23.10.2016

На будущее - кроме текста ошибки указывайте и номер строки в которой ошибка.

Где объявлен "keypad", который Вы пытаетесь использовать в 59 строке?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Э-э-э .. зачем, дарагой! Что такое "абьявлен"? ;)

МоделистКонстру...
Offline
Зарегистрирован: 15.07.2018

#include <Keypad.h>

Вот тут, наверное, если честно, можно подробне, что нужно сделать?

МоделистКонстру...
Offline
Зарегистрирован: 15.07.2018
const int pinPhoto = A0;
#include <SoftwareSerial.h>    // библиотека для для обмена данными 
#include <DFPlayer_Mini_Mp3.h> // подключаем библиотеку для DFPlayer Mini
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {7, 6, 5, 4}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {11, 10, 9, 8}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 


int raw = 0;

void setup() {
  Serial.begin(9600);
  pinMode(A1, INPUT); // объявляем пин A1 как вход
  pinMode(A2, INPUT); // объявляем пин A2 как вход
  pinMode( pinPhoto, INPUT );
   mp3_set_serial(Serial); // включаем передачу данных с DFPlayer mini mp3
    delay(1);               // задержка в 1ms для установки громкости
    mp3_set_volume(30);     // устанавливаем громкость от 0 до 30
    mp3_set_EQ(0);          // устанавливаем эквалайзер от 0 до 5
}

void loop() {


if (analogRead(A1) > 300) // когда аналоговая кнопка нажата
{
raw = analogRead( pinPhoto );
 // Serial.println( raw );
 // delay(100);
  
  if( raw >= 11 && raw < 150){ mp3_play(31);
   delay(10000);}
    else
  if( raw >= 151 && raw < 650){ mp3_play(32);
  delay(10000);}
   else
  if( raw >= 651 && raw < 800){ mp3_play(33);
  delay(10000);}
   else 
   if( raw >= 801 && raw < 1000){ mp3_play(34);
  delay(10000);}
}


if (analogRead(A2) > 300) // когда аналоговая кнопка нажата
{
char customKey = customKeypad.getKey();

{
if (customKey == '1'){ 
 mp3_play(01);
  delay(10000);

}

//if (analogRead(A2) < 300) // когда аналоговая кнопка отпущена
//{
//digitalWrite(13, LOW); // выключаем светодиод
//}
   

}
}
}

 

МоделистКонстру...
Offline
Зарегистрирован: 15.07.2018

Кажется так?

kalapanga
Offline
Зарегистрирован: 23.10.2016

МоделистКонструкторович пишет:

Кажется так?

Ошибка-то пропала? Значит так! :)