Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3804|回復: 5
打印 上一主題 下一主題

請問各位碼錶如和停止和lcd 顯示問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2018-6-20 13:19:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問各位碼錶如和停止和lcd 顯示問題

各位好,最近在學arduino 有遇到二個問題,能否請問各位一下

1.start = millis();//開始

Serial.println(start);
他會一直跑秒,請問要如何讓他停止呢?

2.我有買一個lcd1602 顯示器,怎樣讓loop裡的資訊顯示在lcd 1602的第1排呢,因為好像loop裡的字都會印在第2排

void loop()
{
lcd.print("Hello World!");   
lcd.print("Hello World!");   

}
推薦
發表於 2018-6-22 07:11:13 | 只看該作者
1. 加提昇電阻,
pinMode(5,INPUT_PULLUP);  
2. 當然不準。
不過可不可以用,是要看你應用在那?
2#
發表於 2018-6-20 16:40:35 | 只看該作者
本帖最後由 超新手 於 2018-6-21 12:33 編輯

1. millis() 的計時器會一直跑, 不會停
    所以要當計時器, 只能算時間差
    啟動時, 把值記錄在 start 中, 經過的時間就等於
    millis()-start     
    停止?就加個變數, 讓它不再 Serial.print 即可(if)
2. 有設定游標的命令
lcd.setCursor(0, 0);
其中
lcd.setCursor(列, 行);
列 的值 0 ~15, 行的值 0~1
3#
 樓主| 發表於 2018-6-22 00:13:55 | 只看該作者
大哥請教下  我發現第5孔我只要插一端杜邦線他就會開始啟動millis() 了(另一端什麼都沒接)

void setup()
{  

pinMode(5,INPUT);  

Serial.begin(9600);//鮑率=9600
digitalWrite(5, LOW);
}

void loop()
{
  
if(digitalRead(5) == HIGH){
start = millis();//開始
Serial.println(start*0.001);

}
}
4#
 樓主| 發表於 2018-6-22 01:01:43 | 只看該作者
用了一招可以用,不知道準不準就是了
void loop()
{
  if(digitalRead(5)==HIGH){
i=i+1;
  lcd.setCursor(0, 1);              // 將游標定位,準備顯示文字
  lcd.print(i*0.01);  
  }
  
}
6#
 樓主| 發表於 2018-6-22 10:36:11 | 只看該作者
感恩~收獲良多~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-23 16:21 , Processed in 0.055065 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表