Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Анонсы журнала "Лаборатория электроники и программирования" Новые статьи 22 номера


4. Макетная плата периферии «145». Часть 2.

Первый вариант платы «145» рассматривался в журнале №8 статья 3 и обладал следующими возможностями:

- LCD 16*2

- Кнопки (4 шт.)

- «Клеммник» для подключения DS1990, DS1820

- ИК приемник и ИК передающий диод

- TRIAC, оптосимистор, «снаббер» цепь, датчик «нуля» сети, предохранитель, варистор

- Двухцветный светодиод (1 шт.)

Подстроечные резисторы (2шт.)

Джамперы для подключения/отключения необходимых компонентов

- «Клеммники» для внешних подключений

 

                В данной статье рассматривается новый вариант платы – «145B».

По сравнению с предыдущим вариантом, на плату добавлены возможности подключения популярных модулей:

- LCD индикатора от телефона «Nokia5110»

- радио приемопередатчика «NRF24L01»

- радио приемопередатчика BlueTooth®  «HC-06»

- модуля радио приемопередатчика WiFi® «ESP8266»

- модуля УЗ датчика «HC-SR04»

Также добавлено:

- сделаны выходы на 6 серво (вместо 2-х в предыдущей)

- возможность установки пищалки

- SD карта

- сделана возможность отключения функциональных устройств на плате с помощью джамперов

 

5. Макетная плата периферии «164». Часть 2.

Первый вариант платы «164» рассматривался в журнале №11 статья 6 и обладал следующими возможностями:

- два 4-х разрядных 7-сегментных индикатора

- возможность установки светодиодной матрицы 8*8

- 4 кнопки

RGB светодиод

- УНЧ  MC34119

- часы DS1307 с кварцем,  возможность установки панельки для резервной батареи

- входы для АЦП с клеммниками и подстроечными резисторами

В данной статье рассматривается новый вариант платы – «164A». По сравнению с предыдущим вариантом, на плату добавлены следующие возможности:

- Графический индикатор OLED с интерфейсом I2C® на контроллере «SSD1306»

- Акселерометр MMA7660

 

9. Программирование на языке С++ на примере микроконтроллера ATmega168.  Работа с 7-сегментными светодиодными индикаторами.

                7-сегментные индикаторы широко применяются в устройствах на микроконтроллерах. В данной статье показаны примеры программ вывода информации на такие индикаторы с использованием интерфейса SPI® и прерываний аппаратного таймера микроконтроллера, что делает программы эффективно работающими.

                Примеры программ (скетчей) приведены для «Arduino IDE» [2].

Для компиляции скетчей необходимо подключить следующие библиотеки:

«MsTimer2.h».

Макет собран на  платах «150A» и «164A», описания которых вы можете найти в этом и более ранних номерах журнала..

 

Программа статической индикации: 

#include <MsTimer2.h>

#include <SPI.h> // подключаем библиотеку SPI

 

int LAT = 2;         // сигнал защелкивания в регистры

 

// ЗНАКОГЕНЕРАТОР

unsigned char CODE_TABLE[10] = {

 //hgfedcba

 0b00111111, // 0

 0b00000110, // 1

 0b01011011, // 2

 0b01001111, // 3

 0b01100110, // 4

 0b01101101, // 5 

 0b11111101, // 6 

 0b00000111, // 7  

 0b01111111, // 8

 0b11101111 // 9  

};

 

// the setup routine runs once when you press reset:

void setup() {               

  // initialize the digital pin as an output.

 

  SPI.begin();  // инициализируем SPI 

 

  pinMode(LAT, OUTPUT);    

 

}

 

// the loop routine runs over and over again forever:

void loop() {

  char i;

 

  digitalWrite(LAT, LOW); // лог. 0 - начало выборки ведомого

  //SPI.transfer(~CODE_TABLE[1]); // отображаем "1"

  SPI.transfer(~CODE_TABLE[2]); // отображаем "2"

  //SPI.transfer(0b11111110); //  в первом разряде

  SPI.transfer(0b11111101); //  во втором разряде

  digitalWrite(LAT, HIGH); // лог. 1 - конец выборки ведомого

 

  while(1) {}

}

 

10. Программирование на языке С на примере микроконтроллера ATmega168.  Работа с указателями на примере линейки светодиодов.

Указатели широко используются в языке С, но являются достаточно сложными для понимания.

                Рассмотрим пример реализации линейки светодиодов, в которой количество одновременно горящих светодиодов пропорционально некоторой величине. Напишем программу, удобную для модификации (изменение числа светодиодов, портов для их подключения. Для этого создадим массивы указателей. Особенность работы в данном случае будет в том, что будут использоваться как просто указатели, так и указатели на указатели. Что соответственно потребует «*» и «* *» при объявлении и работе с данными по этим указателям.

В тестовом примере подключим светодиоды  к портам PD2…PD7,PB0,PB1. В процессе работы программы длина линейки увеличивается и уменьшается циклически.

Программа написана для среды разработки ATMEL Studio® [1]. Текст программы приведен ниже.

Фото макета светодиодной линейки (горят 7 светодиодов):

 

http://journal.electroniclab.ru/journal_content_022.htm 


В избранное