реклама:

Кнопки управления. Часть 14.

Кнопки управления

Update: Все новые прошивки не поддерживают кнопки управления. Используйте энкодер.

Последний и не обязательный пункт – подключение клавиатуры. Как я уже говорил, все манипуляции и настройки контроллера можно проводить с помощью энкодера, поэтому нет необходимости в подключении клавиатуры. Этот пункт больше предназначен для тех, у кого нет под рукой энкодера для arduino, но есть четыре кнопочки.

Схема подключения выглядит так:

Клавиатура для Arduino

Клавиатура для Arduino

Клавиатура для Arduino

Вот такие кнопки получились у меня. Собрал на огрызке макетной платы.

После подключения можно загрузить вот такой пример, чтобы проверить их работоспособность. После нажатия клавиши на экране будет появляться ее название – LEFT, RIGHT, UP и DOWN, что соответственно означает лево, право, верх и низ.

Текст примера:

// include the library code:
#include <LiquidCrystal.h>

#define UP_PIN 22
#define DN_PIN 25
#define RT_PIN 24  
#define LT_PIN 23

// LCD пин управления яркостью
#define PWM_LED_PIN 3 
// LCD пин управления контрастом
#define PWM_LED_CONTRAST 4 

// LCD другие пины
#define PIN_LCD_RS 39
#define PIN_LCD_EN 41
#define PIN_LCD_D4 43
#define PIN_LCD_D5 45
#define PIN_LCD_D6 47
#define PIN_LCD_D7 49
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd( PIN_LCD_RS, PIN_LCD_EN, PIN_LCD_D4, PIN_LCD_D5, PIN_LCD_D6, PIN_LCD_D7 );

void setup() {   
  analogWrite( PWM_LED_PIN, 255 );
  analogWrite( PWM_LED_CONTRAST, 50 );
    
  lcd.begin(16, 2); //настройка дисплея - 16x02
  lcd.print("House4u sol.proj"); //выводим приветсвие  
}

int i = 0;
void loop() 
{     
   lcd.setCursor(0, 1); //перевод курсора на 2 строку  
   lcd.print("Key: ");
   
   if ( digitalRead(UP_PIN) == HIGH )
     lcd.print("UP");
   else
   if ( digitalRead(DN_PIN) == HIGH )
     lcd.print("DOWN");   
   else
   if ( digitalRead(LT_PIN) == HIGH )
     lcd.print("LEFT");   
   else   
   if ( digitalRead(RT_PIN) == HIGH )
     lcd.print("RIGHT");   
   else   
     lcd.print("          ");
     
   delay( 10 );  
}

Результат выполнения программы:

Клавиатура для Arduino, результат выполнения программы

Кажется это все!!! Мы подключили и проверили все компоненты, которые необходимы для правильного функционирования нашего контроллера для солнечных коллекторов. У меня, как у «первопроходца» на все это ушла не одна неделя, пока я собирал воедино всю информацию, осваивал программирование arduino, ждал компоненты по почте и т.д… Надеюсь, имея все данные в одном месте и понятные инструкции вы сможете собрать контроллер для солнечных коллекторов гораздо быстрее!


<< НазадДальше >>


Поделиться с друзьями:

Поддержка проекта