Оглавление:

HackerBox 0040: ПИК судьбы: 9 шагов
HackerBox 0040: ПИК судьбы: 9 шагов

Видео: HackerBox 0040: ПИК судьбы: 9 шагов

Видео: HackerBox 0040: ПИК судьбы: 9 шагов
Видео: HackerBox 0040 ПИК Судьбы 2024, Ноябрь
Anonim
HackerBox 0040: ПИК судьбы
HackerBox 0040: ПИК судьбы

Приветствую хакеров HackerBox со всего мира. HackerBox 0040 заставляет нас экспериментировать с микроконтроллерами PIC, макетом, ЖК-дисплеями, GPS и многим другим. Это руководство содержит информацию для начала работы с HackerBox 0040, которую можно приобрести здесь, пока расходные материалы есть в наличии. Если вы хотите получать такой HackerBox прямо в свой почтовый ящик каждый месяц, пожалуйста, подпишитесь на HackerBoxes.com и присоединяйтесь к революции!

Темы и цели обучения для HackerBox 0040:

  • Разработка встроенных систем с помощью микроконтроллеров PIC
  • Изучите внутрисхемное программирование встроенных систем
  • Проверьте параметры питания и синхронизации для встроенных систем
  • Интерфейс микроконтроллера PIC с модулем вывода ЖК-дисплея
  • Экспериментируйте со встроенным GPS-приемником
  • Используйте ПИК судьбы

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

ВЗЛОМАЙТЕ ПЛАНЕТУ

Шаг 1. Список содержимого для HackerBox 0040

Image
Image
  • Микроконтроллер PIC PIC16F628 (DIP 18)
  • Микроконтроллер PIC PIC12F675 (DIP 8)
  • Встроенный программатор и отладчик PICkit 3
  • Цель программирования сокетов ZIF для PICkit 3
  • Кабель USB и провода разъема для PICkit 3
  • Модуль GPS со встроенной антенной
  • Алфавитно-цифровой ЖК-модуль 16x2
  • Блок питания макетной платы с MicroUSB
  • Кристаллы 16,00 МГц (HC-49)
  • Тактильные кнопки мгновенного действия
  • КРАСНЫЕ светодиоды 5мм рассеянного света
  • Подстроечный потенциометр 5 кОм
  • Керамические конденсаторы 18 пФ
  • Керамические конденсаторы 100 нФ
  • Резисторы 1 кОм 1/4 Вт
  • Резисторы 10 кОм 1/4 Вт
  • Макетная плата без пайки (830 точек) (большая)
  • Комплект формованной перемычки из 140 деталей
  • Медиаторы для гитары из целлулоида
  • Эксклюзивная наклейка PIC16C505 Die Decal

Еще кое-что, что будет полезно:

  • Паяльник, припой и основные паяльные инструменты
  • Компьютер для работы программных средств

Самое главное, вам понадобится чувство приключений, хакерский дух, терпение и любопытство. Создание электроники и эксперименты с ней, хотя и приносят большие плоды, могут быть сложными, сложными и временами даже разочаровывающими. Цель - прогресс, а не совершенство. Когда вы упорствуете и наслаждаетесь приключениями, это хобби может принести большое удовлетворение. Делайте каждый шаг медленно, помните о деталях и не бойтесь просить о помощи.

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

Шаг 2: микроконтроллеры PIC

Программирование микроконтроллеров PIC с помощью PICkit 3
Программирование микроконтроллеров PIC с помощью PICkit 3

Семейство микроконтроллеров PIC производится Microchip Technology. Название PIC первоначально называлось Peripheral Interface Controller, но позже было изменено на Programmable Intelligent Computer. Первые компоненты этого семейства были выпущены в 1976 году. К 2013 году было поставлено более двенадцати миллиардов отдельных микроконтроллеров PIC. Устройства PIC популярны как среди промышленных разработчиков, так и среди любителей из-за их низкой стоимости, широкой доступности, большой базы пользователей, обширной коллекции заметок по применению, доступности недорогих или бесплатных инструментов разработки, последовательного программирования и возможности перепрограммирования Flash-памяти. (Википедия)

HackerBox 0040 включает два микроконтроллера PIC, временно помещенных для транспортировки в разъем ZIF (нулевое усилие вставки). Первый шаг - это удаление двух PIC из сокета ZIF. Пожалуйста, сделайте это сейчас!

Два микроконтроллера - это PIC16F628A (таблица данных) в пакете DIP18 и PIC12F675 (таблица данных) в корпусе DIP 8.

В приведенных здесь примерах используется PIC16F628A, однако PIC12F675 работает аналогично. Мы рекомендуем вам попробовать это в собственном проекте. Его крошечный размер является эффективным решением, когда вам нужно только небольшое количество контактов ввода / вывода.

Шаг 3: Программирование микроконтроллеров PIC с помощью PICkit 3

При использовании инструментов PIC необходимо выполнить множество шагов настройки, поэтому вот довольно простой пример:

  • Установите программное обеспечение MPLAB X IDE от Microchip
  • В конце установки вам будет представлена ссылка для установки компилятора C MPLAB XC8. Обязательно выберите это. XC8 - это компилятор, который мы будем использовать.
  • Вставьте микросхему PIC16F628A (DIP18) в разъем ZIF. Обратите внимание на положение и ориентацию, указанные на обратной стороне целевой печатной платы ZIF.
  • Установите переключатели-перемычки, как показано на обратной стороне целевой печатной платы ZIF (B, 2-3, 2-3).
  • Вставьте пятиконтактный программный разъем целевой платы ZIF в разъем PICkit 3.
  • Подключите PICkit 3 к компьютеру с помощью красного кабеля miniUSB.
  • Запустите MPLAB X IDE.
  • Выберите пункт меню, чтобы создать новый проект.
  • Настроить: встроенный автономный проект микрочипа и нажать ДАЛЕЕ.
  • Выберите устройство: PIC16F628A и нажмите NEXT.
  • Выберите отладчик: Нет; Аппаратные средства: PICkit 3; Компилятор: XC8
  • Введите название проекта: мигает.
  • Щелкните исходные файлы правой кнопкой мыши и под новым выберите новый main.c
  • Дайте файлу c имя, например, "мигание"
  • Перейдите в окно> представление памяти тегов> биты конфигурации
  • Установите бит FOSC на INTOSCIO, а все остальное на OFF.
  • Нажмите кнопку «сгенерировать исходный код».
  • Вставьте сгенерированный код в файл blink.c выше.
  • Также вставьте это в файл c: #define _XTAL_FREQ 4000000
  • Прошлый в основном блоке кода c ниже:

void main (пусто)

{TRISA = 0b00000000; а (1) {PORTAbits. RA3 = 1; _delay_ms (300); PORTAbits. RA3 = 0; _delay_ms (300); }}

  • Нажмите значок молотка, чтобы скомпилировать
  • Перейдите в производство> установите конфигурацию проекта> настройте
  • Выберите PICkit 3 на левой панели всплывающего окна, а затем выберите Power из раскрывающегося поля вверху.
  • Щелкните поле «Целевое значение мощности», установите целевое напряжение на 4,875 В, нажмите «Применить».
  • Вернувшись на главный экран, нажмите значок зеленой стрелки.
  • Появится предупреждение о напряжении. Хит продолжить.
  • В конечном итоге в окне состояния должно появиться сообщение «Programming / Verify Complete».
  • Если программист не ведет себя, может помочь выключить среду IDE и просто запустить ее снова. Все выбранные вами настройки должны быть сохранены.

Шаг 4: макетирование PIC, запрограммированного с помощью Blink.c

Макетирование PIC, запрограммированного с помощью Blink.c
Макетирование PIC, запрограммированного с помощью Blink.c

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

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

Питание на макетную плату может подаваться с помощью модуля питания. Указатели для использования модуля питания:

  • Нанесите еще немного припоя на боковые выступы разъема microUSB до того, как он сломается, а не после.
  • Убедитесь, что «черные контакты» входят в шину заземления, а «белые контакты» - в шину питания. Если они поменяны местами, вы не на том конце макета.
  • Установите оба переключателя на 5 В для входящих в комплект микросхем PIC.

После размещения микроконтроллера PIC обратите внимание на индикатор контакта 1. Штифты пронумерованы от штифта 1 против часовой стрелки. Подключите контакт 5 (VSS) к GND, контакт 14 (VDD) к 5 В и контакт 2 (RA3) к светодиоду. Обратите внимание, что в вашем коде контакт ввода / вывода RA3 периодически включается и выключается, чтобы мигать светодиод. Более длинный вывод светодиода должен подключаться к PIC, а более короткий вывод должен подключаться к резистору 1 кОм (коричневый, черный, красный). Противоположный конец резистора должен подключаться к шине GND. Резистор просто действует как ограничение тока, поэтому светодиод не выглядит как короткое замыкание между 5 В и GND и потребляет слишком большой ток.

Шаг 5: внутрисхемное программирование

Программирование внутри схемы
Программирование внутри схемы

Ключ PICkit 3 можно использовать для программирования внутрисхемного PIC-чипа. Ключ также может подавать питание на схему (макетную плату), как мы это делали с мишенью ZIF.

  • Снимите блок питания с макета.
  • Подключите выводы PICkit 3 к макетной плате на 5 В, GND, MCLR, PGC и PGD.
  • Измените номера задержки в коде C.
  • Перекомпилируйте (значок молотка), а затем запрограммируйте PIC.

Поскольку номера задержки были изменены, светодиод теперь должен мигать по-другому.

Шаг 6: Использование внешнего кварцевого генератора

Использование внешнего кварцевого генератора
Использование внешнего кварцевого генератора

Для этого эксперимента с PIC переключитесь с внутреннего генератора на высокоскоростной внешний кварцевый генератор. Внешний кварцевый генератор не только работает быстрее на 16 МГц вместо 4 МГц, но и намного точнее.

  • Измените бит конфигурации FOSC с INTOSCIO на HS.
  • Измените как настройку FOSC IDE, так и #define в коде.
  • Измените #define _XTAL_FREQ 4000000 с 4000000 на 16000000.
  • Перепрограммируйте PIC (возможно, снова измените номера задержки)
  • Проверьте работу внешнего кристалла.
  • Что произойдет, если вытащить кристалл из макета?

Шаг 7: установка модуля вывода на ЖК-дисплей

Управление модулем вывода ЖК-дисплея
Управление модулем вывода ЖК-дисплея

PIC16F628A может использоваться для вывода вывода на буквенно-цифровой ЖК-модуль 16x2 (данные) при подключении, как показано здесь. Прикрепленный файл picLCD.c представляет собой простой пример программы для вывода текста на ЖК-модуль.

Шаг 8: GPS-приемник времени и местоположения

Приемник времени и местоположения GPS
Приемник времени и местоположения GPS

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

Красный светодиод «Power» загорится при правильном подключении питания. Как только спутниковые сигналы будут получены, зеленый светодиод «PPS» начнет мигать.

Питание подается на контакты GND и VCC. VCC может работать от 3,3 В или 5 В.

Третий необходимый вывод - это вывод TX. Вывод TX выводит последовательный поток, который может быть записан в компьютер (через адаптер TTL-USB) или в микроконтроллер. Существует множество примеров проектов для получения данных GPS в Arduino.

Этот репозиторий git включает документацию в формате pdf для этого типа модуля GPS. Также посетите u-center.

Этот проект и видео демонстрируют пример записи даты и времени с высокой точностью из модуля GPS в микроконтроллер PIC16F628A.

Шаг 9: живите в HackLife

Жить HackLife
Жить HackLife

Мы надеемся, что в этом месяце вам понравилось путешествие в мир электроники своими руками. Сообщите о своем успехе в комментариях ниже или в группе HackerBoxes на Facebook. Обязательно дайте нам знать, если у вас возникнут какие-либо вопросы или вам понадобится помощь.

Присоединяйся к революции. Живите HackLife. Вы можете получать классную коробку с проектами в области электроники и компьютерных технологий, которые можно взломать, каждый месяц прямо на ваш почтовый ящик. Просто зайдите на HackerBoxes.com и подпишитесь на ежемесячный сервис HackerBox.

Рекомендуемые: