极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16383|回复: 5

新手上路,,麻烦大佬们看看这个arduino与1602LCD连接的一个小程序,谢谢了

[复制链接]
发表于 2017-9-23 09:19:00 | 显示全部楼层 |阅读模式
        我想实现的功能是:从串口输入一个串数字,然后在lcd显示出来,,当我按下唯一的那个按键(一端接+5V一端接数字口9)的时候,arduino能将那串数字存储起来,然后将lcd清零,再重新输入一串数字的时候,可以将第二串数字加上第一串数字的数值,在lcd上显示。我写的程序如下:

#include <LiquidCrystal.h> //申明1602液晶的函数库
#define KEY 9

LiquidCrystal lcd(12,11,10,5,4,3,2); //4数据口模式连线声明
String comdata,val;


void setup()
{
  lcd.begin(16,2);
  Serial.begin(9600);
  pinMode(KEY,OUTPUT);
}
void loop()
{
   
    lcd.home();        //把光标移回左上角,即从头开始输出   
    lcd.print("WEIGHT:"); //显示
    lcd.setCursor(0,1);   //把光标定位在第1行,第0列
      
      
    while(Serial.available()>0)
   {
      
      comdata+=char(Serial.read());
      delay(2);
      
    }
    if(comdata.length()>0)
    {
      lcd.print(comdata);      //显示
      comdata="";
  }
  
if(digitalRead(KEY)==HIGH)
   {
    delay(20);
    if(digitalRead(KEY)==HIGH)
    {
    //lcd.clear();
    val=comdata;    //存储数据
      //Serial.flush();
      lcd.print("0.0000");
      delay(1000);
    }
   }
  else
  
  while(Serial.available()>0)
   {
      
      comdata=val+char(Serial.read());
      delay(2);
      
    }
    if(comdata.length()>0)
    {
      lcd.print(comdata);      //显示
      comdata="";
  }
  
   
  
}

感觉有点弄不清楚,,麻烦各位大佬帮忙看看,,感谢感谢
回复

使用道具 举报

 楼主| 发表于 2017-9-23 10:13:09 | 显示全部楼层
可以有偿的私聊个微信支付宝都行
回复 支持 反对

使用道具 举报

发表于 2017-9-23 11:12:57 | 显示全部楼层
看你的代码,建议还是先学习下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-23 11:39:55 | 显示全部楼层
通幽境 发表于 2017-9-23 11:12
看你的代码,建议还是先学习下

那请问大佬,想解决这种问题,,应该从哪方面去着手啊,那些基础实例都做过了,能不能推荐下有什么好书看下,,谢谢了
回复 支持 反对

使用道具 举报

发表于 2017-9-23 12:28:26 | 显示全部楼层
可以去学下C语言
回复 支持 反对

使用道具 举报

发表于 2017-9-23 12:50:19 | 显示全部楼层
建议还是先把基础学好吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-30 20:12 , Processed in 0.056945 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表