Главная страница
Навигация по странице:

  • РАБОТА С ТРЁХЦВЕТНЫМ СВЕТОДИОДОМ

  • Color

  • ПРИМЕР КОДА НА ЯЗЫКЕ СИ (1/2) 10. Работа со светозвуковыми приборамиvoid sound(void) //500 Hz sound emitting

  • PORTE = 0; _delay_ms(500); } void dash(void) //1.5 sec

  • ПРИМЕР КОДА НА ЯЗЫКЕ СИ (2/2) 10. Работа со светозвуковыми приборамиint main(void) { //0 - dot, 1 - dash, 2 - end of letter

  • //RGB led pins

  • Микропроцессорная техника в мехатронике и робототехнике


    Скачать 1.28 Mb.
    НазваниеМикропроцессорная техника в мехатронике и робототехнике
    Анкор是的法规
    Дата26.12.2022
    Размер1.28 Mb.
    Формат файлаpdf
    Имя файлаEp10_RGBspeaker(2).pdf
    ТипДокументы
    #864021

    МИКРОПРОЦЕССОРНАЯ ТЕХНИКА В
    МЕХАТРОНИКЕ И РОБОТОТЕХНИКЕ
    Работа со светозвуковыми приборами
    Михаил Копычев

    2
    СХЕМА ПОДКЛЮЧЕНИЯ
    10. Работа со светозвуковыми приборами
    Одним из наглядных способов демонстрации работы портов является формирование на внешних выводах
    МК периодических сигналов с дальнейшей подачей их на световые и звуковые излучатели. В данной лабораторной установке в качестве звукового источника используется электродинамический излучатель, подключенный к разряду 4 порта PORTB,
    а источником света – многоцветный RGB-светодиод,
    соединенный с разрядами 3, 4 и 5 порта PORTE.
    Динамик
    RGB диод

    3
    РАСЧЁТ СИГНАЛА ЗВУКОВОГО ДИНАМИКА
    10. Работа со светозвуковыми приборами
    Исходя из электрической схемы соединения для излучения звукового сигнала определенной частоты с динамика необходимо с пина микроконтроллера PB4 вырабатывать периодический сигнал. Для формирования одного периода сигнала следует записать логическую единицу в четвертый бит регистра PORTB, после этого сделать паузу, равную половине периода, затем записать логический ноль в тот же самый бит и опять сделать паузу в полпериода.

    4
    АЗБУКА МОРЗЕ
    10. Работа со светозвуковыми приборами
    В работе необходимо представить буквы в виде звуковых сигналов азбуки Морзе, в которой длительность сигнала точка равна 0.5 сек,. длительность сигнала тире равна 1.5 сек.,
    промежуток между символами одной буквы равен 0.5 сек., промежуток между буквами равен
    1 сек.

    5
    РАБОТА С ТРЁХЦВЕТНЫМ СВЕТОДИОДОМ
    10. Работа со светозвуковыми приборами
    RGB (Red Green Blue) светодиод представляет собой трехкомпонентный световой излучатель, состоящий из трех расположенных на одном кристалле светодиодов красного, зеленого и синего цвета.
    Каждый из светодиодов управляется отдельно и это позволяет наряду с тремя основными цветами получать и множество других цветов путем смешения трех основных цветов различной интенсивности. Для зажигания светодиода с заданным цветом свечения необходимо подать в связанные с его выводами R, G
    и B разряды порта PORTE значения логической 1.
    Color
    Pin of the
    LED
    Pins of PORTE
    PE3
    PE4
    PE5
    Red
    R
    0 0
    1
    Green
    G
    0 1
    0
    Blue
    B
    1 0
    0
    White
    RGB
    1 1
    1
    Yellow
    RG
    0 1
    1
    Magenta
    RB
    1 0
    1
    Cyan
    GB
    1 1
    0

    6
    ПРИМЕР КОДА НА ЯЗЫКЕ СИ (1/2)
    10. Работа со светозвуковыми приборами
    void sound(void)
    //500 Hz sound emitting
    {
    PORTB ^= (1 << 4);
    _delay_ms(1);
    }
    void dot(void)
    //0.5 sec
    {
    uint16_t i;
    PORTE = (1 << 4);
    for(i = 0; i <= 500; i++)
    sound();
    PORTE = 0;
    _delay_ms(500);
    }
    void dash(void)
    //1.5 sec
    {
    uint16_t i;
    PORTE = (1 << 3) | (1 << 5);
    for(i = 0; i <= 1500; i++)
    sound();
    PORTE = 0;
    _delay_ms(500);
    }
    Задание: написать функции для вывода светозвуковых сигналов тире и точки.

    7
    ПРИМЕР КОДА НА ЯЗЫКЕ СИ (2/2)
    10. Работа со светозвуковыми приборами
    int main(void)
    {
    //0 - dot, 1 - dash, 2 - end of letter
    uint8_t word[] = {0, 1, 0, 0, 2, 0, 2, 1, 0, 2, 0, 1, 2};
    uint8_t i;
    DDRB = (1 << 4);
    //loudspeaker pin
    DDRE = (1 << 3) | (1 << 4) | (1 << 5);
    //RGB led pins
    while (1)
    {
    for(i = 0; i < sizeof(word); i++)
    {
    switch(word[i])
    {
    case(0):
    dot();
    case(1):
    dash();
    case(2):
    _delay_ms(1000);
    }
    }
    _delay_ms(3000);
    //end of the word
    }
    }
    Задание: написать функцию для вывода светозвуковых сигналов слова.


    написать администратору сайта