Arduino是一款开源的电子原型平台,它集成了处理器、内存、存储器和输入/输出端口,通过各种传感器、执行器和显示器等外围设备,可以实现各种功能,Arduino的核心是一个基于AVR单片机的微控制器,具有丰富的外设资源和强大的编程能力,Arduino广泛应用于物联网、智能硬件、机器人等领域,是学习和实践电子技术的入门工具。
1、打开终端,输入以下命令安装Arduino IDE:
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:chris-lea/armonical-apt sudo apt-get update sudo apt-get install arduino
2、安装完成后,输入以下命令检查Arduino版本:
arduino --version
1、准备硬件:需要一个Arduino开发板(如Arduino UNO)、一个LCD显示屏(如1602液晶显示屏)、一些杜邦线、一个5V电源适配器和一个面包板。
2、连接硬件:将LCD显示屏的数据线、时钟线、VCC线分别连接到Arduino开发板的相应引脚上,具体连接方式如下:
VSS:GND
VDD:5V
V0:3.3V(LCD模块供电)
RS:D10(数据线)
RW:D11(数据线)
E:D12(使能线)
D4:D5(数据线)
D5:D6(数据线)
D6:D7(数据线)
D7:D8(数据线)
A:D9(地)
K:D10(RS)
GND:D11(RW)
CS:D13(CS引脚,可不接)
RST:无(可不接)
WR:无(可不接)
ADDC:无(可不接)
DB4:无(可不接)
DB5:无(可不接)
DB6:无(可不接)
DB7:无(可不接)
TWO_WIRE:无(可不接)
SCLK:D14(时钟线)
SDA:D15(时钟线)
GND:GND(GND引脚,可不接)
3.3V:3.3V(VCC引脚,可不接)
3、编写代码:在Arduino IDE中编写以下代码,实现绘图功能,代码包括初始化LCD显示屏、设置画笔颜色、绘制直线、绘制矩形等功能,注意替换为你的液晶显示屏的引脚编号。
include//引入LCD库 define LCD_RS 12 //定义RS引脚编号 define LCD_EN 11 //定义EN引脚编号 define LCD_D4 5 //定义D4引脚编号,用于选择显示模式(仅对1602液晶有效) define LCD_DB4 4 //定义DB4引脚编号,用于选择显示模式(仅对1602液晶有效) define LCD_DDR 2 //定义DDR引脚编号,用于设置LCD模块地址模式(仅对1602液晶有效) LiquidCrystal lcd(LCD_RS, LCD_EN, LCD_D4, LCD_DB4, LCD_DDR); //创建LCD对象并指定引脚号 const int WHITE = color(255, 255, 255); //定义白色画笔颜色 const int BLACK = color(0, 0, 0); //定义黑色画笔颜色 void setup() { pinMode(LCD_RS, OUTPUT); //设置RS引脚为输出模式 pinMode(LCD_EN, OUTPUT); //设置EN引脚为输出模式 lcd.begin(16, 2); //初始化LCD显示屏,设置列数为16,行数为2 } void loop() { for (int i = 0; i < 8; i++) { //循环绘制8个点,形成一个正方形边框 lcd.setColor(WHITE); //设置画笔颜色为白色 lcd.drawLine(i * 8, 0, i * 8, 16); //绘制竖直线条y=0至y=16之间的8条线段,形成正方形边框的竖直边框部分 lcd.setColor(BLACK); //设置画笔颜色为黑色 lcd.drawLine(0, i * 8, 16 * 8, i * 8); //绘制水平线条x=0至x=16*8之间的8条线段,形成正方形边框的水平边框部分 lcd.setCursor(i * 8 + 1, 0); //设置光标位置到第一个点的位置上,以便绘制下一个点所在的横坐标值对应的竖直线段 lcd.print("*"); //在当前光标位置打印一个星号(*),表示当前点的位置已经完成绘制,进入下一个点的绘制过程 lcd.setCursor(i * 8 + 17, i * 8 + 1); //设置光标位置到第一个点所在的横坐标值对应的竖直线段的末尾位置上,以便绘制下一个点所在的纵坐标值对应的竖直线段的起始位置上的第一个横坐标值对应的竖直线段上的星号(*)标记结束,进入下一个点的绘制过程 lcd.print("*"); //在当前光标位置打印一个星号(*),表示当前点所在的纵坐标值对应的竖直线段已经完成绘制,进入下一个点的绘制过程 lcd.refresh(); //刷新LCD显示屏以显示刚刚绘制的图形内容 delay(500); //延时500毫秒后继续绘制下一个点所在的横坐标值对应的竖直线段和纵坐标值对应的竖直线段上的星号(*)标记以及该点的下一层点的绘制过程,直到整个正方形边框的绘制过程完成为止。
分享题目:linuxarduino
网站路径:http://www.shufengxianlan.com/qtweb/news28/464178.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联