2016年6月26日 星期日

用VR讓serial.monitor顯示不同的訊息

說是測電阻,其實是測電壓。VR左右兩隻腳接了5v和GND,然後把中間那隻腳,接到analog pin上。旋轉改變電阻的時候,就會讓電壓值改變。讓analog pin讀取數值。

再用這個數值當成一個條件式,用if來決定要顯示出什麼訊息。

以超音波模組為例code如下


#include <Ultrasonic.h>

#define TRIGGER_PIN  12
#define ECHO_PIN     13

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
int potPin = 5;   //設定腳位是A5
int va1 = 0;      //將va1 起始值設為 0
void setup()
  {
  Serial.begin(9600);
  }

void loop()
  {
  float cmMsec, inMsec;
  long microsec = ultrasonic.timing();

  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
  va1 = analogRead(potPin);                                           //  讓va1去讀A5的數值
  if (va1>500)                                                                   // 如果va1大於500就顯示某個訊息
  {
  Serial.print("MS: ");
  Serial.println(microsec);
  delay(1000);
  }
  if (va1<500)
  {
  Serial.print(cmMsec);
  Serial.println(" CM ");
  delay(1000);
  }
  }

沒有留言: