Mục lục:

Trình tổ chức máy tính để bàn với màn hình LCD: 4 bước
Trình tổ chức máy tính để bàn với màn hình LCD: 4 bước

Video: Trình tổ chức máy tính để bàn với màn hình LCD: 4 bước

Video: Trình tổ chức máy tính để bàn với màn hình LCD: 4 bước
Video: Hướng Dẫn Kết Nối Máy Tính Với TiVi 2024, Tháng bảy
Anonim
Image
Image

** Đang được chỉnh sửa **

Đối với dự án arduino HKU, tôi đã quyết định làm một đàn organ để bàn có màn hình LCD hiển thị các trích dẫn cảm hứng để chọn bạn khi bạn xoay đồng hồ đo của mình!

Tôi sẽ chủ yếu đề cập đến các nội dung kỹ thuật của arduino, miễn là bạn có một cái gì đó giống như một hộp gỗ để giấu Arduino và màn hình LCD của bạn trong oganisor cá nhân của bạn có thể có bất kỳ hình thức mong muốn nào.

Những thứ bạn cần

  • * arduino una
  • đồng hồ đo nồi
  • * dây bảo vệ đực
  • * Mô-đun LCD! Với đầu đọc thẻ SD! (Tôi có arduino tft LCD)
  • *thẻ micro SD
  • * gỗ (Tôi đã tái chế các ngăn kéo mini cũ và sử dụng một số bộ phận bằng gỗ dự phòng, hãy đảm bảo rằng ít nhất bạn có thể tạo thành một chiếc hộp nhỏ để giấu arduino của mình vào đó!

Bước 1: Thiết lập đồng hồ đo trên Arduino

Thiết lập đồng hồ đo trên Arduino
Thiết lập đồng hồ đo trên Arduino

kết nối đồng hồ nồi của bạn như trong hình

để đồng hồ đo nồi bắt đầu hoạt động

Bạn sẽ cần bắt đầu với một số biến trên đầu bản phác thảo của mình trước khi thiết lập:

mã số:

const int analogInPin = A0; // Chân đầu vào tương tự mà chiết áp được gắn vào

int sensorValue = 0; // giá trị đọc từ pot int outputValue = 0; // giá trị xuất ra PWM (đầu ra tương tự)

Trong hình 2, tôi cho thấy cách ánh xạ nồi kế trong vòng lặp void

mã số:

// đọc giá trị tương tự:

sensorValue = analogRead (analogInPin); // ánh xạ nó đến phạm vi của analog out: outputValue = map (sensorValue, 0, 1023, 0, 255); String thingToPrint = String (outputValue); // thay đổi giá trị ra tương tự:

thingToPrint.toCharArray (bản in, 9); // văn bản tĩnh myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

chậm trễ (50);

điều này ánh xạ dữ liệu tương tự từ nồi kế đến một phạm vi từ 0 đến 255, chúng tôi sẽ sử dụng phạm vi này để điều khiển trình chiếu LCD của chúng tôi

Nếu bạn cần trợ giúp cài đặt nồi kế; Tôi đã sử dụng mã từ hướng dẫn hữu ích này, các chân cắm giống hệt nhau và sẽ hoạt động với thiết lập màn hình LCD trong các bước tiếp theo.

www.toptechboy.com/arduino/lesson-11-arduin…

Bước 2: Thiết lập màn hình LCD

Thiết lập màn hình LCD
Thiết lập màn hình LCD

Thiết lập các chân như trong ví dụ trên.

Khi thực hiện đúng, màn hình của bạn sẽ sáng lên màu trắng.

Nếu bạn cần thêm trợ giúp hoặc muốn sử dụng một số mã mẫu để kiểm tra màn hình của mình, bạn có thể xem hướng dẫn chính thức cho mô-đun này và các ví dụ về mã tại đây

chúng tôi sẽ sử dụng một phần "hình ảnh vẽ từ thẻ SD" trong bước tiếp theo.

Bước 3: Thiết lập trình chiếu

Thiết lập trình chiếu
Thiết lập trình chiếu

Bây giờ chúng ta đã thiết lập Potmeter và LCD, chúng ta có thể thiết lập "trình chiếu" bằng cách sử dụng các giá trị được ánh xạ của potmeter

Sử dụng phạm vi từ 0 đến 255, chúng tôi có thể chỉ ra một phạm vi nhất định trong đó chúng tôi có thể kích hoạt arduino để hiển thị một số nội dung trên màn hình LCD.

Ví dụ đầu tiên như trong hình ảnh:

if (outputValue <51) {// phạm vi một if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Xin chào, thật tuyệt vời", 10, 50); myScreen.text ("xoay ghim> to", 10, 60); myScreen.text ("nhận được sự khích lệ.", 10, 70); rangeOne = false;

Nếu nồi kế chuyển sang phạm vi thấp hơn 51, màn hình có hiển thị (ở chế độ dọc = xoay 90) một số văn bản.

Để có thể hiển thị hình ảnh, hãy đảm bảo rằng chân SD CS của bạn được xác định chính xác, nếu không arduino sẽ không khởi tạo được SD (vì vậy hãy đảm bảo kiểm tra dây của bạn !!)

Nếu bạn muốn kiểm tra các chân của màn hình LCD, bạn có thể tham khảo hướng dẫn chính thức uner "kết nối màn hình"

Tôi đã xác định chân SD CS của mình là 4 bây giờ vì tôi đã trộn lẫn các dây của mình chẳng hạn! - Mình rất vui khi được chia sẻ cái oopsie nhỏ đó vì nó sẽ giúp bạn tiết kiệm rất nhiều thời gian tìm kiếm trên web về lỗi "Không thể khởi tạo". Trên một số diễn đàn, người ta nói rằng cách khắc phục là có một mẫu thẻ SD nhất định. Vì vậy, hãy kiểm tra hệ thống dây điện của bạn trước khi mua thẻ SD mới !!

Bước 4: Ví dụ về mã đầy đủ

#bao gồm

#include // Thư viện dành riêng cho phần cứng #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Chân đầu vào tương tự mà chiết áp được gắn vào

int sensorValue = 0; // giá trị đọc từ pot int outputValue = 0; // giá trị xuất ra PWM (analog out) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT myScreen = TFT (CS, DC, RESET);

Hình ảnh PImage; Bản in const char [9];

void setup () {Serial.begin (9600); myScreen.begin (); // cố gắng truy cập thẻ SD Serial.print ("Đang khởi tạo thẻ SD…"); if (! SD.begin (SD_CS)) {Serial.println ("không thành công!"); trở lại; } Serial.println ("Được!");

// khởi tạo và xóa màn hình GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// đọc giá trị tương tự: sensorValue = analogRead (analogInPin); // ánh xạ nó đến phạm vi của analog out: outputValue = map (sensorValue, 0, 1023, 0, 255); String thingToPrint = String (outputValue); // thay đổi giá trị ra tương tự:

thingToPrint.toCharArray (bản in, 9); // văn bản tĩnh myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

chậm trễ (50);

if (outputValue to ", 10, 60); myScreen.text (" được khuyến khích. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / range bốn if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // xóa màn hình image = myScreen.loadImage ("quote2.bmp "); // ghi hình ảnh lên màn hình myScreen.image (image, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Tôi rất tự hào ", 10, 50); myScreen.text ("của bạn!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Đề xuất: