Читаем Электроника для начинающих полностью

Рис. 5.146. Это быстрый и простой способ подключения цифровой клавиатуры для того, чтобы обеспечить цифровой ввод информации в микроконтроллер PICAXE, использующий последовательное соединение резисторов с суммарным сопротивлением, равным 2000 Ом. Когда нажата какая-либо цифровая кнопка клавиатуры, это приводит к подключению входного вывода АЦП микроконтроллера к определенному напряжению, заданному цепочкой резисторов. Определив с помощью АЦП это напряжение, можно в конечном итоге определить, какая же кнопка была нажата


Кнопка с символом «*» по-прежнему будет использоваться для включения напряжения питания точно также как и в исходном эксперименте, а кнопка «#», как и ранее, будет осуществлять сброс реле в конце для перевода схемы в исходное состояние.

Ток протекает через последовательную цепочку резисторов, начиная с первого резистора, который имеет сопротивление 500 Ом. Поскольку это нестандартное значение сопротивления, вы либо должны набрать его с помощью комбинации последовательно установленных резисторов, либо получить с помощью подстроечного потенциометра. После этого резистора каждая кнопка цифровой клавиатуры будет отделена от следующей кнопки резистором с сопротивлением 100 Ом. Наконец в конце цепи установлен резистор с сопротивлением 600 Ом, который подключен к минусовому выводу источника питания. Хочу снова обратить ваше внимание, что это так же нестандартное значение и вам, может быть, придется использовать подстроечный потенциометр.

Просуммируйте все сопротивления и вы получите 2 кОм, что соответствует значению, которое требуется для использования микроконтроллера PICAXE. Когда вы нажмете какую-либо кнопку, вы выполните определенный отвод от последовательной цепочки резисторов. Так, между выводом АЦП контроллера PICAXE и «землей» при нажатой кнопке «9» будет сопротивление 600 Ом. При нажатой кнопке «6» сопротивление будет 700 Ом, кнопке «3» — 800 Ом и т. д. (Вы, конечно, можете предпочесть подключить кнопки таким образом, чтобы сопротивление увеличивалось в более логичной последовательности. Это на ваше усмотрение. Я выбрал такую схему соединения только с учетом того, чтобы их было легче подключать.)

Теперь посмотрим на значения АЦП, которые я привел в табл. 5.4. Здесь показаны значения АЦП, которые я получил, когда нажимал на различные кнопки цифровой клавиатуры — но вы не можете рассчитать их абсолютно точно, поскольку они могут слегка разниться, если значения резисторов не слишком точны, или если напряжение питания несколько отличается от 5 В. Не слишком хорошо, например, утверждать, что микроконтроллер PICAXE будет выполнять АЦП преобразование с результатом 77, когда сопротивление между его входом и «землей» будет равно 600 Ом.

Точнее утверждать, что это значение будет в диапазоне между 71 и 83. Если же мы зададим такой диапазон значений, как это показано в табл. 5.4, то мы получим значительно лучший шанс правильного интерпретирования каждой кнопки.




Предположим, что выход цифровой клавиатуры мы подключим к логическому выводу 2 АЦП микроконтроллера PICAXE (выводу 5 микросхемы). Вы можете теперь использовать программу редактирования Programming Editor для того, чтобы записать программу, которая должна выглядеть следующим образом:

getkey:

        readadc 2,b0

        let b1 = 9

        if b0 < 84 then fnish

        let b1 = 6

        if b0 < 97 then fnish

        let b1 = 3

        if b0 < 109 then fnish

        let b1 = 0

        if b0 < 122 then fnish

        let b1 = 8

        if b0 < 135 then fnish

        let b1 = 5

        if b0 < 148 then fnish

        let b1 = 2

        if b0 < 161 then fnish

        let b1 = 7

        if b0 < 173 then fnish

        let b1 = 4

        if b0 < 186 then fnish

        let b1 = 2

fnish:

        return

Что означает команда return в конце программы? Я расскажу об этом чуть позже. А пока хочу объяснить основной текст программы.

В переменной b0 сохраняется значение аналого-цифрового преобразователя, когда он получает сигналы от клавиатуры. После сохранения некоторого числового значения в переменной b0 программа должна рассчитать, какой же кнопке клавиатуры соответствует это значение. Определенный номер кнопки (от 0 до 9) будет сохранен в другой переменной b1.

Перейти на страницу:

Все книги серии Электроника

Твой первый квадрокоптер: теория и практика
Твой первый квадрокоптер: теория и практика

Детально изложены практические аспекты самостоятельного изготовления и эксплуатации квадрокоптеров. Рассмотрены все этапы: от выбора конструкционных материалов и подбора компонентов с минимизацией финансовых затрат до настройки программного обеспечения и ремонта после аварии. Уделено внимание ошибкам, которые часто совершают начинающие авиамоделисты. В доступной форме даны теоретические основы полета мультироторных систем и базовые понятия работы со средой Arduino IDE. Приведено краткое описание устройства и принципа работы систем GPS и Глонасс, а также современных импульсных источников бортового питания и литий-полимерных батарей. Подробно изложен принцип работы и процесс настройки систем, OSD, телеметрии, беспроводного канала Bluetooth и популярных навигационных модулей GPS Ublox. Рассказано об устройстве и принципах работы интегральных сенсоров и полетного контроллера.Даны рекомендации по подбору оборудования FPV начального уровня, приведен обзор программ дня компьютеров и смартфонов, применяемых при настройке оборудования квадрокоптера.Для читателей, интересующихся электроникой, робототехникой, авиамоделизмом

Валерий Станиславович Яценков

Развлечения
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника