Ифнс россии № 35 по г. москве — зеленоградский ао

Схема подключения дисплея к Arduino

Ниже таблица, в которой описано к каким выводам Ардуино подключать дисплей.LCD ArduinoGND GNDVCC VCCSCK 13SDA 11RES 9RS 8CS 10LEDA 3.3V* — смотрите на альтернативные обозначения дисплея в абзаце выше. Схему здесь приводить смысла нет.

Аналогичные обозначения на плате дисплея. Теперь о самой схеме.

Теперь о библиотеках

Если ранее не подключался такой графический цветной дисплей на базе ST7735, то необходимо будет залить следующие библиотеки в среду Ардуино (программу):

Adafruit_GFX_Library – графическая библиотека;Adafruit-ST7735-Library – библиотека для контроллера

Ну и по умолчанию предусматривается, что уже будет установлена библиотека <SPI.h>. Это библиотека для взаимодействия Arduino и периферийных устройств. В нашем случае это дисплей. Все можно переходить к скетчам.Скетчи для дисплея на базе ST7735

В скетче также смотрим, чтобы все подключения описанные выше были правильно прописаны.

Собственно это все подключению, теперь о возникших незначительных траблах.

Техническое описание

Функции контроллера контактного интерфейса

Pin Символы I/O  Функции
1 VLED- P Back light cathode
2 VLED P Back light anode
3 IM0 I — MCU Parallel Interface Type Selection
-If Not Used, Please Fix this Pin at VDDI or DGND Level. 
4 IM1
5 IM2 I MCU Parallel Interface Bus and Serial Interface select
IM2=’1′, Parallel Interface
IM2=’0′, Serial Interface
6 RESET P Reset signal
7-12 NC No Connect
13-28 DB15-DB0(SPI_SDA) I/O DB15:0] are used as MCU parallel interface data bus.
-DBis the serial input/output signal in serial interface mode.
-In serial interface, DB15:1] are not used and should be fixed at VDDI or DGND level. 
29 NC No Connect
30 RD I Read Enable in 8080 MCU Parallel Interface.
-If not used, please fix this pin at VDDI or DGND level. 
31 WR I Serial clock
-Write Enable in MCU Parallel Interface.
-If not used, please fix this pin at VDDI or DGND level. 
32 D/C(SPI_SCL) I -Display data/command Selection Pin in MCU Interface.
-D/CX=’1′: Display Data or Parameter.
-D/CX=’0′: Command Data.
-In Serial Interface, this is used as SCL.
-If not used, please fix this pin at VDDI or DGND level.
33 CS(SPI_CS) I Chip enable
34 IOVCC P Interface Operation Voltage 
35 VCI P Analog Supply Voltage
36 GND P Ground
37-40 NC No Connect

Основные характеристики

Наименование Измерения Единица
Диагональ 1.77 дюйма
Разрешение 128 × RGB × 160(TFT) точек
Габариты 34.0(W) × 45.83(H) × 2.65(D) mm
Активная область 28.03 × 35.04 mm
Шаг пикселя 0.073 × 0.219 mm
LCD Тип TFT, Белый, Трансмиссивный
Угол обзора на 6 часов
Инверсия на 12 часов
Соотношение сторон портретный режим
IC ST7735S
Тип подсветки LED, Белый
Сенсорный экран Без сенсорной панели
Поверхность Антибликовая

Абсолютные максимальные значения

Наименование Символы Минимальный Типичный Максимальный Единица
Диапазон рабочих температур  TOP -20 70
Температура хранения  TST -30 80

Электронные характеристики

Наименование Символы Кондиция Минимальный Типичный Максимальный Единица
Supply Voltage For Analog VCI 2.5 2.75 4.8 V
Interface Operation Voltage IOVCC 1.65 1.8 3.7 V
Supply LCM current ICI(mA) 0.9 2 mA

TFT LCD library

The TFT library is included with Arduino IDE 1.0.5 and later.

This library enables an Arduino board to communicate with the Arduino TFT LCD screen. It simplifies the process for drawing shapes, lines, images, and text to the screen.

Onboard the screen is a SD card slot, which can be used through the SD library.

The TFT library relies on the SPI library for communication with the screen and SD card, and needs to be included in all sketches.

To use this library

Using the library

The screen can be configured for use in two ways. One is to use an Arduino’s hardware SPI interface. The other is to declare all the pins manually. There is no difference in the functionality of the screen between the two methods, but using hardware SPI is significantly faster.

If you plan on using the SD card on the TFT module, you must use hardware SPI. All examples in the library are written for hardware SPI use.

If using hardware SPI with the Uno, you only need to declare the CS, DC, and RESET pins, as MOSI (pin 11) and SCLK (pin 13) are already defined.

#define CS   10#define DC   9#define RESET  8
TFT myScreen = TFT(CS, DC, RESET);

To use hardware SPI with the Leonardo, you declare the pins like so :

#define CS   7#define DC   0#define RESET  1
TFT myScreen = TFT(CS, DC, RESET);

When not using hardware SPI, you can use any available pins, but you must declare the MOSI and SCLK pins in addition to CD, DC, and RESET.

#define SCLK 4#define MOSI 5#define CS   6#define DC   7#define RESET 8
TFT myScreen = TFT(CS, DC, MOSI, SCLK, RESET);

Using the Arduino Esplora and the TFT library

As the Arduino Esplora has a socket designed for the TFT, and the pins for using the screen are fixed, an Esplora only object is created when targeting sketches for that board. You can reference the screen attached to an Esplora through .

Examples

There are two groups of examples for the TFT. There are examples specific to the Arduino Esplora, and examples that are designed for boards like the Uno or Leonardo. It should be easy to translate from one to the other once you’ve gotten a handle on the library and its functionality.

ARDUINO

  • TFT Bitmap Logo: Read an image file from a micro-SD card and draw it at random locations.
  • TFT Color Picker: With three sensors, change the color of the TFT screen.
  • TFT Display Text: Read the value of a sensor and print it on the screen.
  • TFT Etch a Sketch: An Arduino version of the classic Etch-a-Sketch.
  • TFT Graph: Graph the values from a variable resistor to the TFT.
  • TFT Pong: An Arduino implementation of the classic game.

ESPLORA

  • Esplora TFT Bitmap Logo: Use the Esplora as a controller to play a kart racing game.
  • Esplora TFT Color Picker: Using the joystick and slider, change the color of the TFT screen.
  • Esplora TFT Etch a Sketch: An Esplora implementation of the classic Etch-a-Sketch.
  • Esplora TFT Graph: Graph the values from the light sensor to the TFT.
  • Esplora TFT Horizon: Draw an artificial horizon line based on the tilt from the accelerometer.
  • Esplora TFT Pong: A basic implementation of the classic game.
  • Esplora TFT Temp: Check the temperature with the onboard sensor and display it on screen.

For additional information on the TFT screen, see the Getting Started page and the hardware page.
Last revision 2019/12/24 by SM

TFT

  • TFT
  • EsploraTFT

  • begin()
  • background()
  • stroke()
  • noStroke()
  • fill()
  • noFill()
  • text()
  • setTextSize()
  • begin()
  • point()
  • line()
  • rect()
  • width()
  • height()
  • circle()
  • image()
  • loadImage()

  • PImage
  • PImage.height()
  • PImage.width()
  • PImage.isValid()

Элементы платы

Экран

Дисплей модуля выполнен по технологии TFT с диагональю 1,8 дюйма. Разрешение экрана составляет 128×160 точек с глубиной 65536 цветов.

Матрица экрана подключена к встроенному чипу ST7735, который выполняет роль моста между экраном и микроконтроллером.

Систему координат дисплея удобно представить в виде сетки, каждая ячейка которой является отдельным пикселем. Местоположение пикселя задается парой координат «x» и «y».

Контактные пины

На плате дисплейного модуля расположена гребёнка из восьми контактов для питания экрана и взаимодействия с управляющей электроникой.

Вывод Имя сигнала Альтернативное имя сигнала Описание
1 VIN Питание дисплея напряжением 5 вольт
2 GND Земля
3 RST RESET Аппаратный сброс дисплея. Активный низкий уровень.
4 RS DC/A0 Выбор передачи данных или команд:команда при низком уровне, данные при высоком уровне.
5 SDA MOSI/DO Данные
6 SCL SCK Синхронизация
7 CS SS Выбор экрана. Используется для подключения нескольких дисплеев параллельно. Активный низкий уровень.
8 VDD33 Напряжение питания 3,3 В. Подключать не обязательно.

Логический буфер

На обратной стороне дисплейного модуля распаян преобразователь логических уровней 74HC365. Буфер служит для согласования напряжения между экраном и управляющей платой. Микросхема даёт совместимость дисплея c 3,3- и 5-вольтовыми управляющими платами.

Регулятор напряжения

Понижающий линейный преобразователь LM1117 с выходом 3,3 вольта обеспечивает питание и подсветку дисплея. Максимальный выходной ток составляет 800 мА.

Описание

WF18FTLAADNN0 – это 1.77” дюймовый TFT-LCD модуль с разрешением 128×160 пикселей. Модуль работает на базе драйвера IC ST7735S; поддерживает 8080 8/16-Бит параллельный и 3х жильный SPI interface. Размер модуля составляет 34.0 x 45.83 mm, с активной областью 28.03 x 35.04 mm. Диапазон напряжения питания VCI от 2.5V до 4.8V.

Индикация дисплея WF18FTLAADNN0 производится в портретном режиме. Для индикации в горизонтальном режиме, пожалуйста свяжитесь со службой технической поддержки Winstar Display. Яркость дисплея составляет 500 cd/m2. Рабочая температура дисплея: от -20 ° C до 70 ° С; Температура хранения: от -30 ° C до 80 ° C.

Downloads

Filename Release Date File Size
Adafruit_ST7735_and_ST7789_Library-1.5.18.zip 2020-07-06 47.70 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.17.zip 2020-06-03 47.70 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.15.zip 2020-03-10 47.71 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.13.zip 2020-02-11 47.24 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.12.zip 2020-02-10 47.22 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.11.zip 2020-01-31 47.22 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.10.zip 2020-01-08 47.23 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.9.zip 2019-12-28 47.16 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.8.zip 2019-12-25 47.24 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.7.zip 2019-12-20 47.22 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.6.zip 2019-11-02 47.22 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.5.zip 2019-10-22 47.56 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.4.zip 2019-10-08 47.50 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.3.zip 2019-10-02 47.51 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.2.zip 2019-10-01 47.51 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.1.zip 2019-09-20 44.43 KiB
Adafruit_ST7735_and_ST7789_Library-1.5.0.zip 2019-09-13 44.43 KiB
Adafruit_ST7735_and_ST7789_Library-1.4.4.zip 2019-09-13 36.23 KiB
Adafruit_ST7735_and_ST7789_Library-1.4.3.zip 2019-09-05 36.19 KiB
Adafruit_ST7735_and_ST7789_Library-1.4.2.zip 2019-08-08 35.91 KiB
Adafruit_ST7735_and_ST7789_Library-1.4.1.zip 2019-08-06 35.87 KiB
Adafruit_ST7735_and_ST7789_Library-1.4.0.zip 2019-07-23 35.83 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.7.zip 2019-06-17 39.65 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.6.zip 2019-06-10 39.61 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.5.zip 2019-06-08 39.61 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.4.zip 2019-05-24 38.61 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.3.zip 2019-05-18 35.26 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.2.zip 2019-05-10 34.73 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.1.zip 2019-05-05 34.77 KiB
Adafruit_ST7735_and_ST7789_Library-1.3.0.zip 2019-04-29 35.28 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.8.zip 2019-03-03 35.31 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.7.zip 2019-01-14 35.15 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.6.zip 2018-12-04 35.11 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.5.zip 2018-11-14 34.33 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.4.zip 2018-08-26 34.29 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.3.zip 2018-08-26 33.95 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.2.zip 2018-08-24 29.79 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.1.zip 2018-08-13 24.72 KiB
Adafruit_ST7735_and_ST7789_Library-1.2.0.zip 2018-07-15 24.71 KiB
Adafruit_ST7735_and_ST7789_Library-1.1.0.zip 2018-04-24 29.25 KiB

Licensing & History

This library is a modification of a modification of code originally
written by Tony DiCola for Adafruit Industries, and modified to work
with the ST7735 by Clement Skau.

It has been modified by Pimoroni to include support for their 160×80 SPI
LCD breakout, and hopefully also generalised enough so that it will
support other ST7735-powered displays.

Modifications include:

  • PIL/Pillow has been removed from the underlying display driver to
    separate concerns- you should create your own PIL image and display
    it using display(image)
  • width, height, rotation, invert, offset_left and
    offset_top parameters can be passed into __init__ for
    alternate displays
  • Adafruit_GPIO has been replaced with RPi.GPIO and spidev
    to closely align with our other software (IE: Raspberry Pi only)
  • Test fixtures have been added to keep this library stable

Pimoroni invests time and resources forking and modifying this open
source code, please support Pimoroni and open-source software by
purchasing products from us, too!

Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing products
from Adafruit!

Modified from ‘Modified from ’Adafruit Python ILI9341’ written by Tony
DiCola for Adafruit Industries.’ written by Clement Skau.

MIT license, all text above must be included in any redistribution

0.0.3

  • Fixed backlight pin
  • Added set_backlight
  • Added constants BG_SPI_CS_FRONT and BG_SPI_CS_BACK
  • Added module __version__

SainSmart 1.8″ Color TFT LCD Display for Arduino

This 1.8″ display, can display 128 x 160 pixels, is capable of displaying 262,144 (18-bit) colors, measures 5 cm x 3.5 cm, and is about 6 mm thick.
The display has back-light and comes with a Micro-SD-Card reader (supporting FAT16 or FAT32 formatted Micro-SD-Cards).

The display is driven by a ST7735R controller ( ST7735R-specifications.pdf (2.1 MB) ), can be used in a “slow” and a “fast” write mode, and is 3.3V/5V compatible.

It’s size, and display qualities, makes this a very desirable display for use with the Arduino, or even Raspberry Pi (as shown on this website).

Sources to buy these displays:
– Arduino version at AdaFruit starting at $20
– $20 at Amazon,
– $13 at SainSmart,
– eBay starting at $13

WARNING!

This article is written with the SainSmart/Amazon version in mind – the pin-out of the AdaFruit board is slightly different!
I illustrate the differences in the tables, so please pay attention.

Note : The Shield version by AdaFruit also has a 5 direction “joystick” on board.

SainSmart – 1.8″ TFT LCD Color Display for Arduino

Подключение и настройка

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

При использовании аппаратного интерфейса, скорость отрисовки экрана будет значительно выше в сравнении с программной.

Аппаратный SPI

На платах Arduino шина «SPI» разведена на ICSP-разъёме. В качестве примера подключим дисплей к платформе Arduino Uno через макетную плату.

Программный SPI

Если контакты аппаратного интерфейса SPI используются другими модулями — воспользуйтесь программной реализацией протокола SPI. Софтовая эмуляция шины позволяет использовать сигналы данных на всех пинах управляющей платы. В качестве примера подключим дисплей к платформе Arduino Uno через макетную плату.

Arduino Libraries

To save you a lot of time developing applications (Sketches) that use the display, both SainSmart and AdaFruit offer very helpful libraries.
Since the libraries offered by SainSmart can be confusing for beginners, we will use to the Libraries offered by AdaFruit.
The AdaFruit libraries are clearly designed for use with the Arduino developer tools, whereas the SainSmart files are less obvious for that purpose.
This is exactly the reason why I think buying your hardware at AdaFruit is recommended, for the one or two extra dollars, you’ll get awesome support.

Download the Libraries

Before we can get started, we will need to download the AdaFruit Libraries. We will need the following libraries:

Adafruit_GFX for graphics library functions like drawing lines, circles, etc. which is independent of the used controller.

Adafruit_ST7735 is the library we need to pair with the graphics library for hardware specific functions of the ST7735 TFT Display/SD-Card controller.

For SD-Card support you’ll also need the SD library from Adafruit.

As usual two options to get the files.
Get the files from GitHub (Adafruit_GFX, Adafruit_ST7735 and optionally SD) or download the files from Tweaking4All.
The Tweaking4All files can be outdated, so always check for updates at the GitHub pages.

After download, install them in your Arduino software via the menu “Sketch” “Import Library…” “Add Library…”.
In the file dialog select the downloaded ZIP file and your library will be installed automatically. This will automatically install the library for you (requires Arduino 1.0.5 or newer). Restarting your Arduino software is recommended as it will make the examples visible in the examples menu.

GitHub ZIP files …

With the current Adafruit software, the downloaded ZIP files from GitHub can be problematic when installing.

The easiest way to remedy this is by extracting the GitHub ZIP file. Place the files in a directory with the proper library name (Adafruit_GFX, Adafruit_ST7735 or SD) and zip the folder (Adafruit_GFX, Adafruit_ST7735.zip, SD.zip). Now the Arduino software can read and install the library automatically for you.

DOWNLOAD — Adafruit GFX

Filename:  Adafruit-GFX.zip
Platform:  Undefined
Version: 
Size:  8.2 kB
Date:  2014-01-26
Direct reference link:  https://www.tweaking4all.com/downloads/Adafruit-GFX.zip
 Download Now 

DOWNLOAD — Adafruit ST3775

Filename:  Adafruit-ST3775.zip
Platform:  Undefined
Version: 
Size:  33 kB
Date:  2014-01-26
Direct reference link:  https://www.tweaking4all.com/downloads/Adafruit-ST3775.zip
 Download Now 

DOWNLOAD — SD

Filename:  SD.zip
Platform:  Undefined
Version: 
Size:  58.3 kB
Date:  2014-01-27
Direct reference link:  https://www.tweaking4all.com/downloads/SD.zip
 Download Now 

ST7735 Datasheet Download — Sitronix Technology

Номер произв ST7735
Описание 262K Color Single-Chip TFT Controller/Driver
Производители Sitronix Technology
логотип  
1Page

No Preview Available !

ST
Sitronix
ST7735
262K Color Single-Chip TFT Controller/Driver
1 Introduction
The ST7735 is a single-chip controller/driver for 262K-color, graphic type TFT-LCD. It consists of 396 source line and 162
gate line driving circuits. This chip is capable of connecting directly to an external microprocessor, and accepts Serial
Peripheral Interface (SPI), 8-bit/9-bit/16-bit/18-bit parallel interface. Display data can be stored in the on-chip display data
RAM of 132 x 162 x 18 bits. It can perform display data RAM read/write operation with no external operation clock to
minimize power consumption. In addition, because of the integrated power supply circuits necessary to drive liquid crystal,
it is possible to make a display system with fewer components.
2 Features
Single chip TFT-LCD Controller/Driver with RAM
Built-in Circuits
On-chip Display Data RAM (i.e. Frame Memory)
-DC/DC converter
-132 (H) x RGB x 162 (V) bits
LCD Driver Output Circuits:
-Source Outputs: 132 RGB channels
-Gate Outputs: 162 channels
-Common electrode output
Display Resolution
-132 (RGB) x 162
(GM= ”000”, DDRAM: 132 x 18-bits x 162)
-128 (RGB) x 160
(GM= ”011”, DDRAM: 128 x 18-bits x 160)
Display Colors (Color Mode)
-Full Color: 262K, RGB=(666) max., Idle Mode OFF
-Color Reduce: 8-color, RGB=(111), Idle Mode ON
Programmable Pixel Color Format (Color Depth) for
Various Display Data input Format
-Adjustable VCOM generation
-Non-volatile (NV) memory to store initial register setting
-Oscillator for display clock generation
-Factory default value (module ID, module version, etc)
are stored in NV memory
-Timing controller
Built-in NV Memory for LCD Initial Register Setting
-7-bits for ID2
-8-bits for ID3
-7-bits for VCOM adjustment
Wide Supply Voltage Range
-I/O Voltage (VDDI to DGND): 1.65V~VDD

(VDDI ≤ VDD)

-Analog Voltage (VDD to AGND): 2.6V~3.3V
-12-bit/pixel: RGB=(444) using the 384k-bit frame
On-Chip Power System
memory and LUT
-Source Voltage (GVDD to AGND): 3.0V~5.0V
-16-bit/pixel: RGB=(565) using the 384k-bit frame
-VCOM HIGH level (VCOMH to AGND): 2.5V to 5.0V
memory and LUT
-VCOM LOW level (VCOML to AGND): -2.4V to 0.0V
-18-bit/pixel: RGB=(666) using the 384k-bit frame
-Gate driver HIGH level (VGH to AGND):
memory and LUT
+10.0V to +15V
Various Interfaces
-Gate driver LOW level (VGL to AGND):
-Parallel 8080-series MCU Interface
(8-bit, 9-bit, 16-bit & 18-bit)
-12.4V to -7.5V
Operating Temperature: -30°C to +85°C
-3-line serial interface
-4-line serial interface
Display Features
-Programmable partial display duty
-Line inversion, frame inversion
-Support both normal-black & normal-white LC
-Software programmable color depth mode
www.DataSheet4U.com
ST7735
Parallel Interface: 8-bit/9-bit/16-bit/18-bit
Serial Interface: 3-line/4-line
Sitronix Technology Corp. reserves the right to change the contents in this document without prior notice.
V1.7
1 2009-12-04

No Preview Available !

ST7735
3 Pad arrangement
3.1 Output Bump Dimension
Boundary (Include scribe Lane)
CK
L
H
J
A
Item
Bump pitch
Bump width
Bump height
Bump gap1 (Vertical)
Bump gap2 (Horizontal)
Bump area
Chip Boundary (include scribe Lane)
Symbol
A
C
H
J
K
CxH
L
Size
16 um
16 um
98 um
19 um
16 um
1568 um2
59 um
www.DataSheet4U.com
V1.7
2
2009-12-04

No Preview Available !

ST7735
3.2 Input Bump Dimension
C2
C2
A1
A2 C1
H
K
K2
Item
Bump pitch 1
Bump pitch 2
Bump width 1
Bump width 2
Bump height
Bump gap
Bump gap1
Bump gap2
Bump area 1
Bump area 2
Chip Boundary(include scribe Lane)
K1
L
K1
Boundary (Include scribe Lane)
Symbol
A1
A2
C1
C2
H
K
K1
K2
C1 X H
C2 X H
L
Size
67 um
50 um
35 um
40 um
90 um
20 um
15 um
32 um
3150 um2
3690 um2
59 um
www.DataSheet4U.com
V1.7
3
2009-12-04

Всего страниц 70 Pages
Скачать PDF

Часы с выводом на экран Nokia 5110

Следующий урок — часы на Arduino, которые также простые для сборки, где вы сможете установить дату и время на последовательном мониторе.

В этом уроке используются лишь несколько компонентов — только перемычки, Arduino и дисплей Nokia 5110/3110.

Комплектующие

Детали, используемые в этом проекте ниже.

Оборудование

  • Arduino UNO и Genuino UNO × 1
  • Adafruit дисплей Nokia 5110 × 1
  • Соединительные провода (универсальные) × 1
  • Резистор 221 Ом × 1

Программное обеспечение

Схема соединения

Соединяем детали часов на Ардуино как на схеме выше:

  • контакт pin 3 — последовательный тактовый выход (SCLK) // pin 3 — Serial clock out (SCLK)
  • контакт pin 4 — выход серийных данных (DIN) // pin 4 — Serial date out (DIN)
  • контакт pin 5 — дата / выбор команды (D / C) // pin 5 — date/Command select (D/C)
  • контакт pin 6 — выбор ЖК-чипа (CS / CE) // pin 6 — LCD chip select (CS/CE)
  • контакт pin 7 — сброс ЖК (RST) // pin 7 — LCD reset (RST)

Код урока

Код второй версии часов вы можете скачать или скопировать ниже.

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

Adafruit_PCD8544 display = Adafruit_PCD8544(3,4,5,6,7);

int second,minute, hour, day, mounth,year; 
unsigned long UtlTime; 

void setup() 
pinMode(2,OUTPUT);
UtlTime=0;   {   

minute=0;   
hour=0;   
day=0;   
mounth=0;   
year=0;   
Serial.begin(9600);   
  display.begin();
  display.setContrast(50); // Adjust the display contrast
  display.clearDisplay();   //Apaga o buffer e o display
  display.setTextSize(1);  //Seta o tamanho do texto
  display.setTextColor(BLACK); //Seta a cor do texto      
   
display.print(" date e hour ");   
display.setCursor(0,10);   
display.print(" com Arduino");   
display.display();
delay (5000); 

//Configura o minute   
display.clearDisplay();   
display.setCursor(0,0);   
display.print("minute: ");
display.display();
Serial.print("\nin between minute:");  
while(minute==0)   {     
if (Serial.available() > 0)     
{       
minute= Serial.parseInt();     
}   
}   
display.print(minute);   
display.display();
delay(1000); 

//Configura a hour   
display.clearDisplay();   
display.setCursor(0,0);   
display.print("hour: ");   
display.display();
Serial.print("\nin between hour:"); 
while(hour==0)   
{     
if (Serial.available() > 0)     
{       
hour= Serial.parseInt();     
}   
}   
display.print(hour);   
display.display();
delay(1000);    

//Configura o day   
display.clearDisplay();   
display.setCursor(0,0);   
display.print("day: ");
display.display();   
Serial.print("\nin between day:");   
while(day==0)   
{     
if (Serial.available() > 0)     
{       
day= Serial.parseInt();     
}   
}   
display.print(day);   
display.display();
delay(1000);    

//Configura o mês   
display.clearDisplay();   
display.setCursor(0,0);   
display.print("mounth: "); 
display.display();  
Serial.print("\nin between mounth:");  
while(mounth==0)   
{     
if (Serial.available() > 0)     
{       
mounth= Serial.parseInt();     
}   
}   
display.print(mounth);  
 display.display();
delay(1000);    

//Configura o year   
display.clearDisplay();   
display.setCursor(0,0);   
display.print("year: ");   
display.display();
Serial.print("\nin between year:");   
while(year==0)   
{     
if (Serial.available() > 0)     
{       
year= Serial.parseInt();     
}   
}   
display.print(year);   

display.display();   
delay(1000);
display.clearDisplay(); 

} 

void loop() 
{   

if(millis()-UtlTime<0)   
{     
UtlTime=millis();   
}   
else   
{     
second=int((millis()-UtlTime)/1000);   
}   
if(second>59)   
{     
second=0;     
minute++;     
UtlTime=millis();     
if(minute>59)     
{       
hour++;       
minute=0;       
if(hour>23)       
{         
day++;         
hour=0;         
if(mounth==1||mounth==3||mounth==5||mounth==7||mounth==8||mounth==10||mounth==12)         
{           
if(day>31)           
{             
day=1;             
mounth++;             
if(mounth>12)             
{               
year++;               
mounth=1;             
}           
}         
}         
else if(mounth==2)         
{           
if(year%400==0)           
{             
if(day>29)             
{               
day=1;               
mounth++;             
}           
}           
else if((year%4==0)&&(year%100!=0))           
{             
if(day>29)             
{              
day=1;               
mounth++;             
}           
}           
else           
{             
if(day>28)             
{               
day=1;               
mounth++;             
}           
}         
}         
else         
{           
if(day>30)           
{             
day=1;             
mounth++;           
}         
}       
}     
}   
}    

display.clearDisplay(); 
delay(1000); 
Serial.print(day);   
Serial.print("/");   
Serial.print(mounth);   
Serial.print("/");   
Serial.print(year);   
Serial.println();      

display.setCursor(0,0);   
display.print("date ");   
display.print(day);   
display.print("/");   
display.print(mounth);   
display.print("/");   
display.print(year);

 
display.display();
Serial.print(hour);   
Serial.print(":");   
Serial.print(minute);   
Serial.print(":");   
Serial.print(second);   
Serial.print("\n");   
Serial.println();      

display.setCursor(0,10);   
display.print("hour ");   
display.print(hour);   
display.print(":");   
display.print(minute);   
display.print(":");   
display.print(second); 
display.display();
char tecla;
tecla = Serial.read();
if(tecla=='1'){
digitalWrite(2,LOW);
}
if(tecla=='2'){
  digitalWrite(2, HIGH);
}

}

Назначение выводов модуля дисплея на базе ST7735

 Вначале немного полезной информации, которая позволит вам хотя бы отчасти понять какие выводы и за что отвечают на панельке дисплея. • SCK, MOSI – линии протокола SPI. Альтернативные названия – DO/DI, SCL/SDA. Вывод MISO отсутствует.• CS – выбор чипа. Активный уровень низкий. • DC – выбор типа записываемого в модуль слова – данные или команда. Возможны и иные обозначения этого вывода – A0, RS.• RESET – аппаратный сброс. В состав команд ST7735 входит команда программного сброса, так что на этом выводе можно сэкономить. Однако, следует иметь в виду, что для некоторых регистров контроллера значения по аппаратному и программному сбросу не совпадают. • VCC, GND – линии питания контроллера. Диапазон напряжения – от 3.3В до 5В. • LED (или BL, BLK) – питание дисплея. Максимально допустимое значение подаваемого на этот вывод напряжения – 3.3 В. В последних модификациях обычно имеется преобразователь 5В –> 3.3 В. Если вы обнаружили его на оборотной стороне своего модуля, можно соединить между собой выводы LED и VCC и подавать любое из указанного диапазона удобное для вас напряжение. Обычно это микросхема LM.

Оцените статью:
Оставить комментарий