【Arduino26】88点阵显示液晶对比度实验

本文介绍了如何使用Arduino进行8*8点阵LCD的硬件连接、软件编程,包括初始化、旋钮控制对比度和基本显示功能的实现。
摘要由CSDN通过智能技术生成

硬件准备

8*8点阵:1个

LCD1602显示屏:1 个

旋钮电位器:1个

220欧的电阻:1 个

面包板:1个

杜邦线:若干

硬件连线

按下图接好旋钮电位器

之后用杜邦线接好8*8点阵。

软件程序

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  //LCD1602用到的IO口

const int row[8] = { A1, A2, A3, A4, A5, 6, 7, 8 };  // 行引脚对应的数组
//const int col_pin = 13;                              // 列引脚
const int knob_pin = A0;

int knob_val = -1;  //旋钮变量

//函数声明
void Init();
void test();

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  for (int thisPin = 0; thisPin < 8; thisPin++) {
    // 初始化输出引脚
    pinMode(row[thisPin], OUTPUT);
    digitalWrite(row[thisPin], LOW);
  }
  //digitalWrite(col_pin, LOW);
}

void loop() {
  Init();//初始化
  //test();
  lattice();//点阵
  displayLCD();
  //delay(100);
}

void Init() {
  for (int thisPin = 0; thisPin < 8; thisPin++) {
    // 初始化输出引脚
    pinMode(row[thisPin], OUTPUT);
    digitalWrite(row[thisPin], LOW);
  }
}

void lattice() {
  knob_val = map(analogRead(knob_pin), 0, 1023, 0, 8);  //读取旋钮模拟值
  Serial.println(knob_val);
  for (int thisPin = 0; thisPin <= knob_val; thisPin++) {
    digitalWrite(row[thisPin], HIGH);
  }
}

void displayLCD() {
  //液晶显示屏
  lcd.setCursor(6, 0);
  lcd.print("hello!");
  lcd.setCursor(5, 1);
  lcd.print(millis() / 1000);
  lcd.print(" Second");
}

void test() {
  for (int thisRow = 0; thisRow < 8; thisRow++) {
    digitalWrite(row[7], HIGH);
    delay(500);
    //digitalWrite(row[7], LOW);
  }
  //digitalWrite(col_pin, HIGH);  //列引脚输出高电平
}

产成品展示视频

88点阵显示液晶对比度

【Arduino26】88点阵显示液晶对比度实验

总结

在本次实验中,我回顾了液晶显示屏以及8*8点阵的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值