Включение библиотеки клавиатуры удаляет звук из пьезоэлемента

library piezo keypad

Я использую библиотеку клавиатуры для включения клавиатуры и ввода цифр. при вводе определенного числа должен издаваться звук. Однако, когда я ввожу с помощью последовательного монитора, звук работает. Но когда я включаю клавиатуру, она вводит только цифры, но не звук. Помогите, пожалуйста, как заставить оба работать? Спасибо.

#include <Keypad.h> константный байт ROWS = 4; //четыре строки константный байт COLS = 4; //четыре столбца char keys[ROWS][COLS] = { {'1','2','3','А'}, {'4','5','6','В'}, {'7','8','9','С'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {12, 11, 10, 9}; //подключаемся к распиновке ряда клавиатуры байт colPins[COLS] = {8,7,6,5}; //подключаемся к распиновке колонки

Затем я получаю ввод с клавиатуры и сохраняю результат

char Guess = 'n'; нажатая символьная клавиша = keypad.getKey(); если (нажата клавиша != NO_KEY) { символьная догадка = нажата клавиша;

в пустом цикле он получает результат (клавиша с клавиатуры) и должен его воспроизвести: попробовал отдельный скетч, он работает. но с клавиатуры только ввод, а не звук.

Serial.print("Вы догадались:"); Serial.println(догадка); результат = проверить себя (догадаться); Serial.println(результат); playSound(результат);

проверить себя принимает догадки с клавиатуры, проверяет и возвращает результат. функция воспроизведения звука работает при попытке в другом скетче (извините, что не публикую слишком много кода, он очень длинный)

, 👍0

Обсуждение

трудно определить проблемную область, не видя вашего кода... пожалуйста, включите минимальный скетч, который все еще демонстрирует нежелательное поведение, @jsotola

Я только что опубликовал это, спасибо., @Rhea Ramtohul

какой пин ты используешь для зуммера?, @jsotola

используя контакт 9 ...., @Rhea Ramtohul

какие контакты использует клавиатура?, @jsotola

5,6,7,8,10,11,12 удален контакт 9, потому что не используется ряд, @Rhea Ramtohul

как вы говорите своему коду, что он не должен использовать контакт 9 для клавиатуры?, @jsotola


2 ответа


0

Убедитесь, что контакт, подключенный к пьезоэлементу, НЕ используется клавиатурой

,

1

Мне удалось решить эту проблему, пьезо-несогласие работает на контакте 9, но работает при подключении к контакту 13.

,