Архив за день: 11.09.2013

Подключение 4 ЖК дисплеев к 1 Ардуино

Томас Фламер ( THOMAS FLUMMER ), инженер электронщик, занятый в первую очередь с разработкой веб-приложений в свободное время любит повозиться с электроникой.  В основном с упором на взаимодействие компьютера с окружающим миром. Он планировал использовать пару жк дисплеев, но не хотел бы чтобы большинство выводов ардуино оказались задействованы. На основе библиотеки LiquidCrystal, которая является объектно-ориентированной. И не только потому что она используется классы или еще что-то типа того из ООП С++, а и еще потому что ориентированна на конкретный объект и управление им — в данном случае ЖК дисплей. Так как нет необходимости считывать информацию с lcd дисплеев, то программирование немного облегчается тем что достаточно только записывать информацию в объект. Пять разъемов ( pin ) получается используется для всех четырех дисплеев ( Data и RS ) и по еще одному разъему на каждый отдельный дисплей.
// include the library code:
#include

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd1(12, 5, 7, 8, 9, 10);
LiquidCrystal lcd2(12, 4, 7, 8, 9, 10);
LiquidCrystal lcd3(12, 3, 7, 8, 9, 10);
LiquidCrystal lcd4(12, 2, 7, 8, 9, 10);

void setup() {
// set up the LCD’s number of rows and columns:
lcd1.begin(16, 2);
lcd2.begin(16, 2);
lcd3.begin(16, 2);
lcd4.begin(16, 2);

// Print a message to the LCD.
lcd1.print(«Disp1″);
lcd2.print(«Disp2″);
lcd3.print(«Disp3″);
lcd4.print(«Disp4″);
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd1.setCursor(0, 1);
lcd2.setCursor(0, 1);
lcd3.setCursor(0, 1);
lcd4.setCursor(0, 1);

// print the number of seconds since reset:
lcd1.print(millis()/1);
lcd2.print(millis()/10);
lcd3.print(millis()/100);
lcd4.print(millis()/1000);
}

В данном случае будут использоваться 7, 8, 9 и 10 разъемы для линии или шины данных, 12 пин для RS, и 2,3,4 и 5 разъемы для разрешающего сигнала на 1,2,3 и 4 дисплеи соответственно. Но в принципе, можно использовать и другие.
Макет в формате PDF для подключения дисплеев http://www.hackmeister.dk/wp-content/uploads/2013/06/4_lcd_1_arduino_diagram.pdf
Но если чтото не понятно можно спросить и у самого автора у него на блоге http://www.hackmeister.dk/2010/08/4-lcd-displays-on-1-arduino/
Конечно, новые дисплеи стоят денег, если у кого есть старый добрый нокиа, то можно попробовать подключить его дисплей к арудино

Вывод информации с Arduino на LCD ЖК дисплэй

Как только поставим датчики на ардуино, так сразу возникает вопрос как считать с них информацию, если это пир датчик движения (PIR) , то достаточно будет подсоединить обычный светодиод с резистором от 330 Ом до 1 кОм, который будет моргать при срабатывании датчика движения.

Arduino-BMP085-RTC-DHT11-b

Если же необходимо прочитать с датчика показания температуры, влажности или атмосферное давления, то в этом случае придется ставить ЖК дисплей. Если ваш ЖК дисплей совместим с HD44780, то особых проблем не составит его подключить. Это описал еще в году этак 2009 Адамс Брос в своем блоге http://blog.adamsbros.org/2009/06/15/arduino-interfacing-with-the-hd44780-lcd/. Стоит обратить внимание на питание устройства, возможно придется воспользоваться парой дополнительных резисторов. Библиотеку для использования можно взять здесь http://arduino.cc/en/Reference/LiquidCrystal

Текст Си для программирования ардуино:

#include

/* LiquidCrystal display with:
LCD 4 (RS) to arduino pin 12
LCD 5 (R/W) to ground (non-existent pin 14 okay?)
LCD 6 (E) to arduino pin 11
d4, d5, d6, d7 on arduino pins 7, 8, 9, 10
*/
LiquidCrystal lcd(12, 14, 11, 7, 8, 9, 10);

void setup()
{
// position cursor on line x=4,y=3
lcd.setCursor(3,2);
// Print a message to the LCD.
lcd.print(«hello, world!»);
}

void loop()
{
}

Николас Фламель THOMAS FLUMMER пошел еще дальше и умудрился подключить 4 LCD ЖК дисплея к ардуино