LoveRead.info » Книги » Разная литература » Электроника для начинающих (2-е издание) - Чарльз Платт

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

Книгу Электроника для начинающих (2-е издание) - Чарльз Платт читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

293 0 10:01, 27-05-2023
Электроника для начинающих (2-е издание) - Чарльз Платт
27 май 2023

Книга Электроника для начинающих (2-е издание) - Чарльз Платт читать онлайн бесплатно без регистрации

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

    1 ... 109 110 111 112 113 114 115 116 117 ... 128
    Перейти на страницу:
    цифр и символа подчеркивания – при том условии, что эта комбинация не совпадает с зарезервированным словом в языке С. Например, нельзя создать переменную с именем void.

    • Кому-то нравится начинать названия с прописной буквы, а кому-то – со строчной. Выбор за вами.

    • Каждая переменная должна быть объявлена в начале программы, иначе компилятор выдаст ошибку.

    • Целочисленная переменная (объявленная при помощи ключевого слова int) может принимать значение от −32 768 до +32 767. Язык С в этом микроконтроллере разрешает использовать переменные, которые имеют более широкий диапазон значений или которые могут быть дробными. Но до эксперимента 34 большие числа не понадобятся.

    Начальные справочные сведения о языке вы можете найти на главном сайте компании Arduino. Выберите вкладку Learning (Обучение), а затем в раскрывающемся меню укажите пункт Reference (Справка). Можно также открыть меню Помощь (Help) в среде Arduino IDE и выбрать пункт Справочник (Reference).

    Усовершенствование программы

    Предложенная программа решает поставленную задачу, но ее функции очень ограничены. Самое большое ограничение состоит в том, что значения минимальной и максимальной температуры заданы в виде констант. Это похоже на термостат, зафиксированный только в одном положении, которое нельзя настроить. Как улучшить эту программу, чтобы пользователь мог самостоятельно задать пороговые значения температуры для включения и отключения нагревателя?

    Думаю, можно было бы добавить потенциометр. Крайние выводы потенциометра следовало бы подключить к клеммам 5 В и 0 В, а движок соединить с другим аналоговым входом микроконтроллера. В результате потенциометр стал бы работать как делитель напряжения и обеспечивал бы полный диапазон напряжения от 0 до 5 В.

    Затем я добавил бы еще одну процедуру в цикл, в которой микроконтроллер проверял положение движка потенциометра и переводил его в числовую форму.

    В результате получалось бы число в диапазоне от 0 до 1023. Мне потребовалось бы преобразовать его в число, которое соответствует возможному диапазону значений переменной digitemp. Далее я присвоил бы результат новой переменной с именем, скажем, usertemp. Затем мне понадобилось бы выяснить, существенно ли выше или ниже та температура, которую измерил терморезистор, по сравнению с переменной usertemp.

    Заметьте, я опустил одну маленькую деталь: каким, собственно, образом я преобразовал бы входной сигнал от потенциометра в диапазон, подходящий для переменной usertemp. Сейчас мы с этим разберемся.

    Если диапазон возможных значений терморезистора составлен из чисел от 430 до 512, как я установил ранее, то его можно представить как среднее значение 471 плюс или минус 41. Потенциометр имеет среднее значение 512 плюс или минус 512 до его полного диапазона. Поэтому:

    usertemp = 471 + ((potentiometer – 512) * .08)

    где potentiometer – это значение со входа потенциометра, а символ «звездочка» (*) используется в языке С как знак умножения. Результат достаточно близкий.

    Да, арифметика рано или поздно проявляется в программировании, так или иначе. И нет способа обойтись без нее. Но уровня математики средней школы для наших задач вполне хватит.

    В улучшенной версии программы мне по-прежнему необходимо позаботиться о гистерезисе. Первый оператор сравнения следует преобразовать так:

    if (ledstate == 1 && digitemp > (usertemp + 10))

    после чего светодиод выключается. Но

    if (ledstate == 0 && digitemp < (usertemp – 10))

    и тогда светодиод загорается. Это дало бы мне диапазон гистерезиса плюс-минус 10, если используются значения от АЦП.

    Теперь, когда я описал необходимую модификацию программы, возможно, вы захотите осуществить ее самостоятельно. Не забывайте только объявлять каждую новую переменную, прежде чем вы ее укажете в теле программы.

    Эксперимент 34. Точные игральные кости

    В этом последнем эксперименте я собираюсь переделать устройство из эксперимента 24, в котором комбинации игральных костей формировались с помощью логических микросхем. Вместо микросхем теперь мы можем написать условные и логические операторы в программе для микроконтроллера. В результате компоненты схемы превратятся в несколько строк компьютерного кода и вместо таймера 555, счетчика и трех логических микросхем нам понадобится всего один микроконтроллер. Это отличный пример для демонстрации возможностей контроллеров. Но, безусловно, по-прежнему требуются светодиоды и токоограничительные резисторы.

    Что вам понадобится

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

    • Стандартный светодиод (7 шт.)

    • Резистор 330 Ом (7 шт.)

    • Плата Arduino Uno (1 шт.)

    • Ноутбук или настольный компьютер со свободным USB-портом (1 шт.)

    • USB-кабель с разъемами типа А и типа В на противоположных концах (1 шт.)

    Эксперимент или программирование?

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

    Создание программ – это занятие другого рода. Вы должны быть дисциплинированны и логичны, иначе будете писать программный код с ошибками, и он не станет работать надежно. Также здесь необходимо все планировать наперед, в противном случае вы потеряете много времени, переделывая выполненную ранее работу или полностью отказываясь от нее.

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

    Случайность

    Первый вопрос кажется очевидным: «Каких конкретных действий я жду от этой программы?» Вопрос необходим, потому что если цель не вполне ясна даже вам, то микроконтроллер и подавно не сможет ее реализовать. Формулировка цели напоминает описанный в эксперименте 15 процесс написания технического задания для системы охранной сигнализации, но в случае микроконтроллера детализация должна быть больше.

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

    Поскольку выбор случайного числа – это основа данной программы, то вас следует познакомить с данной темой. Давайте заглянем на сайт Arduino, где находится справка о языке. Этот раздел сайта не настолько исчерпывающий, как мне хотелось бы, но для начала сгодится.

    Чтобы найти его, перейдите на главную страницу Arduino[18], выберите вкладку Learning (Обучение) и отыщите раздел Reference,

    1 ... 109 110 111 112 113 114 115 116 117 ... 128
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

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


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Ксения Ксения24 июнь 18:50 Очень понравился цикл книг "В самом сердце стужи". Интересная история, написанная с огромным вниманием к деталям. Не избитый... В самом Сердце Стужи. Том VII - Александр Якубович
    2. Riya Riya23 июнь 00:13 Остані 20 сторінок ледве дочитала, сам роман тримав в напрузі, але воно того було варте хотілося щоб про Лоренса  більше було і... По праву вражды и истинности - Виктория Вашингтон
    3. awaynice awaynice21 июнь 16:59 Книга в которой начинаешь сходить с ума вместе с героем: было или не было? Ксчастб, она короткая.... Эхо забвения - Хелен Гард
    Все комметарии
    Новинки бесплатной онлайн библиотеки