Cách giao diện màn hình điện thoại di động với Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài này, chúng ta sẽ học cách giao diện màn hình Nokia 5110 với vi điều khiển arduino và cách hiển thị một số văn bản, chúng ta cũng sẽ xây dựng một đồng hồ kỹ thuật số đơn giản và cuối cùng chúng ta sẽ khám phá khả năng đồ họa của màn hình Nokia 5110.

Bởi



Nokia là thương hiệu điện thoại di động phổ biến nhất trên toàn cầu trước khi họ tham gia vào thị trường điện thoại thông minh. Nokia được biết đến với việc sản xuất điện thoại mạnh mẽ và một trong những biểu tượng và mạnh mẽ nhất là Nokia 3310.

Thương hiệu Nokia đã gây tiếng vang trên các phương tiện truyền thông xã hội và meme bắt đầu nổi trên mạng và hầu hết meme là về mẫu 3310, do độ bền tuyệt vời của nó với người dùng cứng. Một số nguồn tin hợp pháp cho biết điện thoại Nokia thậm chí đã cứu mạng một số người khỏi làn đạn.



Sau khi giảm nhu cầu đối với các mô hình này trên thị trường, có rất nhiều màn hình không được sử dụng. Giờ đây, chúng đã được tân trang lại và tung ra thị trường cho các nhu cầu tùy chỉnh của chúng tôi.

Nếu muốn có một chiếc để thực hành, bạn không cần phải tạo ra một vụ nổ hạt nhân nhỏ xung quanh khu vực của mình để trục vớt một chiếc từ chiếc điện thoại Nokia cũ của bạn. Nó thường có sẵn trên các trang thương mại điện tử.

Hình minh họa màn hình Nokia 5110:

Sự thật thú vị: Màn hình Nokia 5110 cũng được sử dụng trong kiểu 3310 và một số kiểu điện thoại Nokia khác nữa.

Bây giờ, hãy xem cách kết nối màn hình với arduino.

Kết nối màn hình với Arduino

Cách giao diện màn hình điện thoại di động với Arduino

Màn hình hiển thị đơn sắc và có 84x48 pixel có thể hiển thị văn bản và thậm chí cả đồ họa.
Màn hình hiển thị gồm 8 chân: Vcc, GND, reset, chip select (CS), chọn lệnh, xuất dữ liệu nối tiếp, đồng hồ nối tiếp và đèn nền.

Màn hình được thiết kế để hoạt động ở 3.3V và việc sử dụng 5V sẽ làm hỏng màn hình, vì vậy cần phải cẩn thận khi xử lý.

Màn hình có chức năng đèn nền thường có màu trắng hoặc xanh lam. 5V được cấp cho đèn nền với điện trở giới hạn dòng 330 ohm.

Các chân 7, 6, 5, 4 và 3 được kết nối với các chân kỹ thuật số của màn hình. Không bắt buộc phải biết cách arduino giao tiếp với màn hình để sử dụng nó, chúng tôi sẽ thêm các tệp thư viện thích hợp vào phần mềm arduino, phần mềm sẽ xử lý giao tiếp giữa arduino và màn hình.

Bây giờ, hãy hiển thị một số văn bản.

Hiển thị Văn bản

Màn hình điện thoại di động Hiển thị văn bản với Arduino

Trước khi tải mã lên, bạn phải tải xuống các tệp thư viện và thêm vào IDE arduino của mình.

• github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
• github.com/adafruit/Adafruit-GFX-Library

Chương trình cho Hello world:

//------------Program Developed by R.Girish--------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
display.setTextSize(1)
display.setTextColor(BLACK)
display.print('Hello world !')
display.display()
delay(10)
display.clearDisplay()
}
//------------Program Developed by R.Girish--------//

Nếu bạn muốn khám phá thêm về phần mã hóa, bạn có thể xem chương trình ví dụ, giới thiệu về đồ họa, màu văn bản (đen / trắng), kích thước thử nghiệm, xoay văn bản và hơn thế nữa.

Bây giờ chúng ta hãy tạo một đồng hồ kỹ thuật số.

Sơ đồ mạch cho đồng hồ kỹ thuật số:

Sơ đồ giống như sơ đồ trước, chỉ có sự khác biệt là hai điện trở kéo xuống 10K ohm để cài đặt thời gian được kết nối với chân số 8 và chân số 9 còn lại của mạch là tự giải thích.

Chương trình cho đồng hồ kỹ thuật số:

//----------------Program developed by R.Girish-------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
s=s+1
display.clearDisplay()
display.setTextSize(2)
display.print(h)
display.print(':')
display.print(m)
display.setTextSize(1)
display.print(':')
display.print(s)
display.setTextSize(2)
display.setCursor(0,16)
if(flag<12) display.println('AM')
if(flag==12) display.println('PM')
if(flag>12) display.println('PM')
if(flag==24) flag=0
display.setTextSize(1)
display.setCursor(0,32)
display.print('Have a nice day')
display.display()
delay(1000)
if(s==60)
{
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) display.print(' AM')
if(flag==12) display.print(' PM')
if(flag>12) display.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1)
{
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

Bây giờ, hãy thảo luận về khả năng đồ họa của màn hình. Màn hình Nokia 5110 có 84x48 pixel, có thể hiển thị đồ họa rất hạn chế ở chế độ đơn sắc. Nó có thể không có khả năng hiển thị màu sắc trong điện thoại thông minh, nhưng nó rất hữu ích nếu chúng tôi cần hiển thị logo hoặc biểu tượng trong dự án của bạn.

Hình minh họa đồ họa sử dụng màn hình Nokia 5110:

Khuôn mặt troll phổ biến:

Dr. A.P.J Abdul Kalam:

Như chúng ta có thể thấy rằng sử dụng màn hình đơn sắc, chúng ta vẫn có thể hiển thị một số ảnh hoặc logo trực tiếp từ arduino. Chúng tôi không cần bất kỳ loại bộ nhớ ngoài nào như thẻ SD.

Quá trình chuyển đổi một bức ảnh thành mã “C” là chủ đề của một bài viết khác, nơi chúng tôi sẽ minh họa quy trình từng bước.

Mọi thắc mắc vui lòng bày tỏ qua phần bình luận.




Trước: BJT Emitter-Follower - Làm việc, Mạch ứng dụng Tiếp theo: Mạch chống sét lan truyền với thiết bị đo