/*********************************************************************
This is an example sketch for our Monochrome Nokia 5110 LCD Displays
Pick one up today in the adafruit shop!
------> http://www.adafruit.com/products/338
These displays use SPI to communicate, 4 or 5 pins are required to
interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information
All text above, and the splash screen must be included in any redistribution
*********************************************************************/
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <TimerOne.h>
// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(52, 49, 48, 51, 50);
int PressureOut, PressureSet;
int PressureSet_Pin = 0;
int PressureRead_Pin = 1;
void setup()
{
Serial.begin(9600);
display.begin();
// init done
// you can change the contrast around to adapt the display
// for the best viewing!
display.setContrast(50);
}
void loop()
{
PressureSet = analogRead(PressureSet_Pin);
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println("Set pressure");
display.setCursor(0,10);
display.println(PressureSet * (5.0 / 1023.0));
display.setCursor(25,10);
display.println("V");
display.setCursor(35,10);
display.println(map(PressureSet, 0, 1023, 0, 20));
display.setCursor(50,10);
display.println("Bar");
PressureOut = analogRead(PressureRead_Pin);
display.setCursor(0,30);
display.println("Out pressure");
display.setCursor(0,40);
display.println(PressureOut * (5.0 / 1023.0));
display.setCursor(25,40);
display.println("V");
display.setCursor(35,40);
display.println(map(PressureOut, 0, 1023, 0, 20));
display.setCursor(50,40);
display.println("Bar");
display.setCursor(0,20);
display.setTextSize(1);
display.println("Error B:");
display.setCursor(47,20);
display.println(((PressureOut - PressureSet) * (5.0 / 1023.0))*4);
display.display();
delay(10);
display.clearDisplay();
}
+176 |
25087
167
|
+17 |
3845
103
|
я заказывал цветной экран 320х240… так он кривой пришел. время диспута про**какал) хоть все остальные безделушки в порядке были
п.с. опередили
Тут питание и уровни 5-ти вольтовые?
(Сонный был, посмотрел на маркировку vcc на lcd и тупанув воткнул в 5v)
Экран 2х20 гораздо менее информативен, а 4х20 стоит столько, что заместо него можно уже поставить RGB 320x240
У меня проблема с экраном. Вчера поначалу экран показывал отлично, но потом через час игр с ним кроме подсветки ничего не было. Как позже выяснилось, текст/изображения показывались но оооочень блекло. Сегодня с утра его подключил и он опять хорошо показывает, но буквально через полминуты опять потускнело изображение и даже слегка мерцает. Видел тут в комментах совет поставить 1 кОм между VCC и GND, поставил, но эффекта никакого. Сейчас выставил контраст на 60 и вроде уже довольно долго показывает норм. Интересно, что во время перезагрузки скетча или отключения изображение на долю секунды отображается очень ярко и четко, но потом естественно пропадает. Боюсь попробовать подключить на 5В, хотя на самом экране написано 3V-5V, или эти 5В к подсветке относятся?
display.drawLine(0, 0, 83, 0, BLACK);
причем критична вторая координата: x2=83 и y2 кратное 8.
в частности на пост-тестере именно 3.3.
контрастность после обмена у обоих оказалась вполне похожая, боль-менее нормальная при 60 у Adafruit_GFX. если она отличается — вполне вероятны проблемы с контактом. у меня после первого переобжима потребовалось аж 90, и то было неравномерно. тоже я думаю и насчет помех — высокое сопротивление у питания контроллера, напряжение плавает.