Выпускная квалификационная работа обучающегося по направлению подготовки 44. 04



Pdf көрінісі
бет10/24
Дата21.11.2022
өлшемі1,46 Mb.
#51502
түріРеферат
1   ...   6   7   8   9   10   11   12   13   ...   24
Байланысты:
Shtanko Razrabotka 19

Порядок подключения: 
1. Подключаем элементы к плате Arduino по схеме на рисунке 2.3. 
2. Загружаем в плату Arduino скетч из листинга 1. 
3. Крутим потенциометр – изменяем скорость вращения мотора. 
Проект 2: Семисегментный индикатор одноразрядный. Выводим цифры 
В этом эксперименте мы рассмотрим работу с семисегментным 
светодиодным индикатором, которая позволяет Arduino визуализировать 
цифры. 
Необходимые компоненты: 
• контроллер Arduino UNO R3; 
• плата для прототипирования; 
• одноразрядный семисегментный индикатор; 
• резистор 510 Ом – 7 штук; 
• провода папа–папа. 
Светодиодный семисегментный индикатор представляет собой группу 
светодиодов, расположенных в определенном порядке и объединенных 


35 
конструктивно. Светодиодные контакты промаркированы метками от a до g 
(и дополнительно dp – для отображения десятичной точки), и один общий 
вывод, который определяет тип подключения индикатора (схема с общим 
анодом ОА, или общим катодом ОК). Зажигая одновременно несколько 
светодиодов, можно формировать на индикаторе символы цифр. 
Схема одноразрядного семисегментного индикатора показана на 
рисунке 2.4. 
Рисунок 2.4 – Схема одноразрядного семисегментного индикатора 
Для подключения одноразрядного светодиодного индикатора к 
Arduino будем задействовать 7 цифровых выводов, каждый из контактов a–g 
индикатора подключается к выводу Arduino через ограничительный 
резистор 470 Ом. В нашем эксперименте мы используем семисегментный 
индикатор с общим катодом ОК, общий провод подсоединяем к земле. На 
рисунке 2.3 показана схема подключения одноразрядного семисегментного 
индикатора к плате Arduino. 


36 
Рисунок 2.5 – Схема подключения семисегментного индикатора к Arduino 
Приступим к написанию скетча. Мы будем на семисегментный 
индикатор в цикле выводить цифры от 0 до 9 с паузой 1 секунда. 
Сформируем массив значений для цифр 0–9, где старший разряд байта 
соответствует метке сегмента a индикатора, а младший – сегменту g. 
byte numbers[10] = { B11111100, B01100000, B11011010, B11110010, 
B01100110, 
B10110110, B10111110, B11100000, B11111110, B11110110}; 
Для преобразования значения цифры в данные для вывода значения на 
выводы Arduino будем использовать битовые операции языка Arduino: 
bitRead(x,n); // получение значения n разряда байта x 
Скетч эксперимента представлен в листинге 2. 
// Список выводов Arduino для подключения к битам a - g 
// семисегментный индикатор 
int pins [7] = {2,3,4,5,6,7,8}; 
// значения для вывода чисел 0–9 


37 
номера байтов [10] = {B11111100, B01100000, B11011010, B11110010, 
B01100110, 
B10110110, B10111110, B11100000, B11111110, B11100110}; 
// переменная для хранения значения текущей цифры 
int number = 0; 
void setup () 

// Настройка выводов как выходов 
для (int i = 0; i <7; i ++) 
pinMode (pins [i], OUTPUT); 

void loop () 

showNumber (число); 
задержка (1000); 
число = (число + 1)% 10; 

// функция вывода номеров на семисегментный индикатор 
void showNumber (int num) 

для (int i = 0; i <7; i ++) 

if (bitRead (numbers [num], 7 - i) == HIGH) // зажечь сегмент 
digitalWrite (контакты [i], HIGH); 
еще // вывести сегмент 
digitalWrite (контакты [i], LOW); 




Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   24




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет