【arduino】LCD1602屏幕动画
【arduino】LCD1602屏幕动画
一、实验器材
UNO控制板:1块
LCD1602带解码器(PCF8574)显示屏
杜邦线若干
二、连线示意图
GND接–GND
VCC接–VCC
SDA接–A4
SCL接–A5
实物接线图如下,图片是博主网上找的
三、代码如下
#include <Wire.h> //加载Wire通讯库#include <LiquidCrystal_I2C.h> //加载液晶屏库LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); // 设 LCD的地址为0x27,16列2行const int batteries = 3;const int batteryPin[] = {A0, A2, A6, A4};const int basePin[] = {A1, A3, A7, A5};const float R[] = {10.0, 10.0, 10.0, 10.0};const int ledPin[]= {9, 8, 7, 6};const float stopVoltage = 0.9;const float resetVoltage = 0.1;const int batteryOn = 1;const int batteryStop = 0;const int batteryReset = -1;const float referenceVoltage = 5.00;float batteryVoltage[3] = {0.0, 0.0, 0.0}; // voltsfloat baseVoltage[3] = {0.0, 0.0, 0.0}; // voltsfloat capacity[3] = {0L, 0L, 0L}; // mAhfloat energy[3] = {0L, 0L, 0L}; // mWhunsigned long previousTime = 0L; // millisecondsunsigned long currentTime = 0L; // millisecondsint batteryStatus[3] = {batteryReset, batteryReset, batteryReset};float latestViableCurrent[3] = {0.0, 0.0, 0.0}; // this is temporaryunsigned long lastUpdate = 0L;long animationStep = -200;byte cursorLCD = 15;int numberOfColumns = 16;long randomVariable = 0;boolean waitForAnimationDelay = true;int printCycle = 0;void animationSetup() {for (int i=0; i < 8; i++) {byte charLine[8];for (int j=0; j < 8; j++) {if (j > i) charLine[7-j]=B00000;else charLine[7-j]=B11111;}lcd.createChar(i, charLine);}}void setup() {Serial.begin(9600);lcd.init();lcd.backlight();animationSetup();}void animation1() {lcd.setCursor(14,0);lcd.write(byte(animationStep % 8));// lcd.write(7);animationStep++;} void animation3() {byte character[2];for (int column = 0; column < numberOfColumns; column++) {int actualValue=cos(animationStep*(0.1+column*0.01))*8.5+9;if (actualValue == 17) {character[0]=byte(255);character[1]=byte(255);}else if (actualValue > 9) {character[0]=byte(actualValue-10);character[1]=byte(255);}else if (actualValue == 9) {character[0]=byte(32);character[1]=byte(255);}else if (actualValue == 8) {character[0]=byte(32);character[1]=byte(255);}else if (actualValue == 0) {character[0]=byte(32);character[1]=byte(32);} else {character[0]=byte(32);character[1]=byte(actualValue-1);}lcd.setCursor(15-column,0);lcd.write(character[0]);lcd.setCursor(15-column,1);lcd.write(character[1]);}// lcd.write(byte(animationStep % 8));// lcd.write(7);animationStep++;}void loop() {animation3();}
【arduino】LCD1602屏幕动画相关推荐
- Arduino LCD1602电子时钟
功能 利用LCD1602显示时间,日期.星期,并能通过按键修改时间 Proteus ISIS 仿真图: 时间计算原理: 不使用DS1302时钟芯片,而是使用arduino的mills()函数,其功能是 ...
- Arduino + Lcd1602 显示当前环境温度
有小伙伴表示Arduino也是个好玩具,所以又入了一块Arduino UNO R3先玩着.突然想起科技京城电子市场很久很久没去过了,所以一时兴起又顶着烈日去晃了一圈,哈哈太好了,市场还在.顺便买了块L ...
- Arduino——LCD1602显示屏
简介 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形. 引脚说明 引脚 ...
- arduino ssd1306屏幕打印信息(已测可用)
1 安装 ssd1306oled显示库 2 ssd1306oled信息打印代码 #include <SPI.h> #include <Wire.h> #include < ...
- C语言:将一个文本文件按字符送上屏幕(动画效果)
#include<stdio.h> /* 包含putchar()相关文件操作fopen()打开文件 feof()判断文件到结尾更多查看stdio.h */ #include<stdl ...
- HTML+CSS+JS实现 ❤️酷炫HUD科幻数据屏幕动画界面❤️
- 解决Arduino使用LCD屏幕制作电子时钟的问题
Arduino LCD屏幕电子时钟 前言 需要做一个公交车报站器,语音模块还没到,花了一天研究了一下ST7735芯片的屏幕,手上这块是1.44寸的TFT屏幕,翻了半天网络,使用ST7735做实物的比较 ...
- android 11/12/13系统屏幕旋转动画分析-车机手机系统工程师必备
1.触发屏幕旋转流程 更多内容qqun:422901085 https://ke.qq.com/course/5992266#term_id=106217431 触发流程,这里我先只考虑正常窗手机传感 ...
- C语言arduino密码锁实验报告,简易密码锁的制作-Arduino中文社区 - Powered by Discuz!...
本帖最后由 chemistry 于 2018-11-8 16:57 编辑 一款简易密码锁一.功能: 将密码显示在lcd屏上,正常状态下电磁锁处于锁定状态,当输入密码与原设定密码一致时,打开电磁锁.同时 ...
最新文章
- 北大联合UCLA发表论文:9头以上Transformer就能模拟CNN!
- 使用百度大脑,导入aip以及相应的库文件报错问题
- 程序员的算法课(8)-贪心算法:理解霍夫曼编码
- (转)基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码...
- 什么是数据脱敏(Data Masking)?
- 大数据时代下,数据感知在数据质量管理系统中的应用
- requests爬取英雄联盟皮肤图片
- python 将数据库的 utc时间转换成本地时间
- JavaScript-- 基础知识面试题
- Android 连接USB设备(主机模式)
- 推荐系列(五):协同过滤的优点和缺点
- adobe登录无法连接服务器未响应,adobe链接不到服务器
- cnpm的安装(超级详细版)
- 什么是web前端开发工程师和h5有什么关系
- jquery实现抽奖小游戏
- --i和i--的区别
- 数据分析、数据挖掘、数据运营有啥区别?
- 大话通信和计算机网络,《大话通信》读后感 - 通信人读书 - 通信人家园 - Powered by C114...
- 【稳定性day0】稳定性治理的三种思想—亚马逊、Netflix与蚂蚁金服
- 常用的数字高程模型(DEM)数据介绍,附免费下载
热门文章
- vue在一个方法执行完后执行另一个方法
- 2018年创翼 开wifi方法 适合电脑小白
- 《网络攻防》Web安全基础实践
- Linux下lsb_release命令的安装教程
- Mars Crowdloan 空投领取及开放查询(内附领取操作)
- 9 9简单的数独游戏python_如何使用tkinter gui python创建一个9*9的数独生成器?
- 网络系统(Java web)开发与设计项目实战——实现用户登录与注册
- linux tar 压缩 删除源文件,Linux tar 如何在压缩之后删除原文件
- mysql怎么创建出生日期表_如何在MySQL中从出生日期开始生成数字序列
- 什么是句柄、什么是自上而下、自下而上分析—编译原理