本次目的:通过之前三篇了解,我们可以利用LCD实时显示温度传感器数值,当达到某值步进电机正转,当小于某值步进电机反转。具体怎么用自由发挥。
关于所需硬件,线路连接,元器件单独使用,代码中的数字,可以通过之前三篇详解:
- Arduino 小实验 步进电机(一)
- Arduino 小实验 温度传感器(二)
- Arduino 小实验 LCD1602液晶显示(三)
<a href="http://m.toutiao.com/i6397178476150915586/?group_id=6397481158238617858&group_flags=0">
我的温度传感器烧了,我用的是光敏电阻所以数值很大。
实物图
代码:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,5,4,3,2); //4数据口模式连线声明
int lmpin=0;
float val;
void settp1();
void settp2();
void setup()
{
lcd.begin(16,2); //初始化1602液晶工作模式
Serial.begin(9600);
for(int i=6;i<10;i++)
{
pinMode(i,OUTPUT);
}
}
void loop()
{
val=analogRead(lmpin);
if(val>=400)
{
settp1();
}
else
{
settp2();
}
lcd.home(); //把光标移回左上角,即从头开始输出
lcd.print("Temperature:"); //显示
lcd.setCursor(0,1); //把光标定位在第1行,第0列
lcd.print(val); //显示
lcd.print("C");
Serial.print(val);
//Serial.println("C");
delay(500);
}
void settp1()
{
int a;
a=256;
while(a--)
{
for(int i=6;i<10;i++)
{
digitalWrite(i,1);
delay(10);
digitalWrite(i,0);
}
}
}
void settp2()
{
int a;
a=256;
while(a--)
{
for(int i=9;i>5;i--)
{
digitalWrite(i,1);
delay(10);
digitalWrite(i,0);
}
}
}
说明:
(以下可能是废话,如果对情怀过敏,请服用维生素B6再看)
自此关于Arduno的文章停更!1.阅读量太低,会影响我转正。2.头条属于新闻类平台娱乐,不适合资料分享。3.手头有几个模块我得花些时间去弄弄。
有些人可能因为Arduino而关注我,抱歉了各位。我会开始迎合大众,但绝对不会发几个搞笑图片来凑数,显然头条里的真正有内容的文章(不包括我)阅读量很低而发几个娱乐或搞笑图片的阅读量很高而且评价也很好,当然期间如果Arduino有比较明显的突破我会及时与大家分享。当然新手期对我来说是个坎,如果通过我会往自己向往的方向去做。正如我的的介绍 作为一个伪文青只想通过此平台稍微的影响一小部分人,毕竟还未踏上社会还是半个纯粹的人吧。再次感谢那些阅读、评论、关注我的人。
能力有限,水平一般,请多多关照,大家共同学习。
转载请注明出处,码字不易!
原文地址:http://www.toutiao.com/a6397842923333632257/ |