硬件准备
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点阵显示液晶对比度实验文章来源:https://www.toymoban.com/news/detail-698337.html
总结
在本次实验中,我回顾了液晶显示屏以及8*8点阵的使用。文章来源地址https://www.toymoban.com/news/detail-698337.html
到了这里,关于【Arduino26】88点阵显示液晶对比度实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!