Главная » Arduino
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Похожие статьи:


Курс Arduino - Микросхемы

Что за штука, микросхема?

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

Сдвиговый регистр – это микросхема, которая увеличивает количество цифровых пинов. Мы будем использовать 74HC595. Он управляется тремя пинами, а на выходе дает восемь.

А еще их можно последовательно соединить, что увеличит количество пинов, например, до 16, при двух 74HC595, не изменяя количества управляющих пинов. Так, можно использовать большое количество микросхем и собрать светодиодную сборку, управляемую все теми же, тремя пинами.

Нам понадобятся:

  • Сдвиговый регистр
  • Светодиоды
  • Резисторы на 220Ом
  • Соединительные провода «ПАПА – ПАПА»

Начало

Начало работы с любой микросхемой заключается в том, чтобы:

  1. Определиться, что мы хотим от микросхемы.
  2. Найти нужную микросхему, предназначенную для решения нашей задачи.
  3. Найти документацию на нее
  4. Внимательно изучить документацию и научиться подключать плату к Arduino.

Давайте по порядку. Мы хотим увеличить количество пинов. Для этого и подойдет  74HC595. Теперь найдем на нее документацию. Для этого забьем в поисковике такой запрос:

 

После того, как мы изучили документацию и научились подключать микросхему к Arduino, можем смело приступать к сборке схемы.

Схема

Ничего выдумывать не будем. Сделаем простую схему с подключением светодиодов через 74HC595 к Arduino. Главная задача – разобраться, как оно работает.

Внимание на схему сборки:

 Код к схеме

#define DATA 13 // Пин данных
#define LATCH 12 // Пин "защелкивания" или строба
#define CLOCK 11 // Пин такта

// Создадим несколько переменных типа byte. 
// Я не стал создавать массив т.к. я сделал всего 3 режима
// Для большего количества данных, передаваемых на микросхему,
// лучше создавать массив.
byte number1 = 0b01000000; //1 светодиод горит
byte number2 = 0b01110000; // 3 светодиода горит
byte number3 = 0b011111100; // 6 светодиодов горит

void setup() 
{
  Serial.begin(9600);
  Serial.println("Write number");
  // Обозначенные нами, три управляющих пина обозначим как выход
  pinMode(DATA, OUTPUT);
  pinMode(LATCH, OUTPUT);
  pinMode(CLOCK, OUTPUT);

}

void loop() {
  // Код из наших прошлых уроков для приема команд с Сериала
   if(Serial.available() > 0)
   {
    char cmd = Serial.read();
    if(cmd == '1')
    {
      //Зажигаем 1 светодиод
      digitalWrite(LATCH, LOW);
      shiftOut(DATA, CLOCK, LSBFIRST, number1);
      digitalWrite(LATCH, HIGH);
    }
     if(cmd == '3')
    {
      //Зажигаем 3 светодиода
      digitalWrite(LATCH, LOW);
      shiftOut(DATA, CLOCK, LSBFIRST, number2);
      digitalWrite(LATCH, HIGH);
    }
     if(cmd == '6')
    {
      //Зажигаем 6 светодиодов
      digitalWrite(LATCH, LOW);
      shiftOut(DATA, CLOCK, LSBFIRST, number3);
      digitalWrite(LATCH, HIGH);
    }
   }
}

//Ты можешь дополнить код, чтобы были режимы горения 2, 4, 5 светодиодов.

Пояснения

Byte - в нашем случае, для передачи данных, мы использовали переменную типа byte. Выглядела она так: 0b000000000. 0b0 – говорит, что мы работаем с двоичной системой счисления. Остальные восемь цифр передают HIGH или LOW в сдвиговый регистр.

Управление микросхемой:   Чтобы управлять нашей микросхемой, мы должны объявить три пина: Пин данных (DATA), пин строба (LATCH) и пин такта (CLOCK).

Для начала, нужно начать запись данных в 74HC595, для этого, нужно на пин строба подать LOW.

После, задвигаем байт-маску (записываем байт данных для вывода) с помощью shiftOut(DATA, CLOCK, LSBFIRST, val);

LSBFIRST или MSBFIRST – Этот параметр определяет, в какой последовательности вводить данные в микросхему. Начиная справа(MSB) или слева (LSB).

Val – это байт, который мы будем передавать.

В конце, когда передача данных в микросхему закончена, выводим полученные данные, с помощью подачи HIGH на пин строба.

Итог

Теперь ты знаешь принцип подключения микросхем. Главное читать инструкцию, т.е. datasheet. И только после прочтения, идти включать ее в схему. Двигаемся дальше.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Плата Arduino
Arduino Uno
1 Поиск в LCSCВ блокнот
Светодиод
АЛ102Б
6 Поиск в LCSCВ блокнот
Сдвиговый регистр
SN74HC595
1 Поиск в LCSCВ блокнот
Резистор
220 Ом
1 Поиск в LCSCВ блокнот
Соединительные провода"Папа-Папа"1 Поиск в LCSCВ блокнот
Макетная платаBreadboard-half1 Поиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Модуль измерения тока на ACS712 (30А)
Модуль измерения тока на ACS712 (30А)
Квадрокоптер Syma X11 Ручной фен 450 Вт с регулировкой температуры
вверх