Проблема со стартовым комплектом Arduino 7

моя схема что должно быть

Может кто-нибудь, пожалуйста, помогите мне, работают только две кнопки, ближайшие к большому зеленому проводу, и я не знаю, почему я уже пытался поменять кнопки местами

РЕДАКТИРОВАНИЕ 1: мой код это мой код

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

, 👍1

Обсуждение

Зачем беспокоиться, мне не нравятся несколько кнопок с резисторами для аналогового значения. Я думаю, что с вашей цепью все в порядке. Это может быть плохой контакт макетной платы., @Jot

Как понять, что они не работают? Пожалуйста, объясните больше. И, пожалуйста, покажите нам свой код. Вы можете отредактировать свой вопрос, добавив эту информацию, нажав кнопку редактирования под вашим вопросом. Пожалуйста, отформатируйте код правильно, выделив его и нажав кнопку {}., @chrisl

@Jot Это проект стартового набора. Он учит, как можно объединить несколько кнопок в один аналоговый вход и определить, какие кнопки нажимаются по одной строке. Возможно, это не то, что вам хочется/нужно делать, но эту концепцию все равно стоит изучить., @Duncan C

пожалуйста, не публикуйте изображение кода.... опубликуйте текст кода.... используйте кнопку {} для его форматирования, @jsotola

ваш код содержит команду serial.print().... пожалуйста, откройте последовательный монитор в IDE Arduino и выясните, какие значения печатаются при каждом нажатии кнопки.... добавьте эти значения в свой вопрос выше, @jsotola

@DuncanC, но мне все равно это не нравится. Контакты кнопок могут загрязняться, можно нажимать несколько кнопок, а при сопротивлении 1 МОм он очень чувствителен к электрическим помехам. Избегать неприятностей важнее научиться., @Jot

Я все еще считаю, что этой технике стоит научиться. Что касается резисторов, мне интересно, почему были выбраны именно такие значения. Я был бы склонен использовать значения степени двойки (1 кОм, 2 кОм, 4 кОм, 8 кОм). Таким образом, вы могли бы декодировать одиночные и множественные нажатия кнопок., @Duncan C


1 ответ


Лучший ответ:

0

Я вижу проблему. Подключения первых двух кнопок правильные. Однако вам не хватает желтого провода, соединяющего выход двух нижних кнопок с AO, поэтому третья и четвертая кнопки вообще не подключены к вашему контакту A0. Добавьте желтый провод между рядами 24 и 20 на макетной плате.

РЕДАКТИРОВАТЬ:

Теперь я вижу, что есть зеленый провод, соединяющий строки 24 и 20 вместе. Однако именно здесь, скорее всего, что-то пойдет не так. Я бы предложил взять пару перемычек и подключить их к мультиметру, установленному в режим проверки целостности. Поместите один в строку 28, а затем проверьте непрерывность до строки 24, строки 20 и строки 16.

Возможно, один из проводов неправильно вставлен в макетную плату, или у вас даже может быть плохой ряд на макетной плате. Я это уже видел.

РЕДАКТИРОВАНИЕ №2:

Мультиметр — ваш друг. Если у вас его нет, вам следует его приобрести и научиться его использовать. Это неоценимо для устранения неполадок в цепях. (Купите тот, который имеет режим непрерывности, который подает звуковой сигнал при обнаружении непрерывности и имеет автоматический диапазон измерений напряжения и сопротивления.)

,

спасибо, это действительно помогло мне подумать, а что, если это макет, поэтому я снял липкую заднюю часть и там было несколько незакрепленных кусков металла, которые я надавил на эти части, и теперь это работает, @Chiel Bouwman

Единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что аналоговое значение, считываемое при нажатии последней кнопки, не является постоянным 1023, но даже если я подключаю аналог напрямую к линии 5 В, оно не является стабильным, поэтому я думаю, что это следует решить в код, но я не уверен, @Chiel Bouwman

Да, я бы предложил не сопоставлять определенное значение. Напишите свой код для проверки диапазона аналоговых значений. Ваша схема представляет собой делитель напряжения, и кнопка без резистора (нижняя на рисунке) даст значение, близкое, но не совсем, к 5 В. Я бы предложил поискать для этой кнопки значение ≥1020. Проверьте значение, которое вы получаете для других кнопок, и реализуйте для них диапазоны с верхними/нижними границами., @Duncan C

большое спасибо за ответ, значение >= 1020 помогло мне идеально. Еще раз спасибо за вашу помощь, @Chiel Bouwman