Arduino Project‎ > ‎

05. การติดต่อกับสัญญาณอนาลอก

รูปที่ 1
ข้อควรจำ  เนื่องจากขา Digital 0 (PD0) เป็นขา RxD และ Digital 1 (PD1) เป็นขา ธxD ของพอร์ทอนุกรม UART ซึ่ง Arduino ใช้เป็นพอร์ทดาวน์โหลดโปรแกรมลงชิพ AVR ดังนั้นขณะดาวน์โหลดโปรแกรมนี้  ห้ามต่อขา D0 และ D1 เข้ากับวงจรใดๆ 

 โปรแกรมที่ 1
 // include the library code:
#include <LiquidCrystal.h>

int sensorPin = A0;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
}

void loop() {
  sensorValue = analogRead(sensorPin);   // read the value from the sensor:
  lcd.setCursor(0, 0);                          // set the cursor to column 1, line 1
  lcd.print(sensorValue);                         // พิมพ์ค่าออกที่ LCD
  lcd.print("   ");                                     // พิมพ์ ที่ว่าง    
}



โปรแกรมที่ 2

โปรแกรม อ่านค่าแรงดันด้วย A/D

 // include the library code:

#include <LiquidCrystal.h>

 

int sensorPin = A0;    // select the input pin for the potentiometer

int sensorValue = 0;  // variable to store the value coming from the sensor

float volt = 0.0;         // Convert from sensor

 

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

 

void setup() {

  // set up the LCD's number of columns and rows:

  lcd.begin(16, 2);

  // Print a message to the LCD.

  lcd.print("Power is");

  sensorValue = 0;

}

 

void loop() {

  sensorValue = analogRead(sensorPin);   // read the value from the sensor:

  lcd.setCursor(0, 0);     // set the cursor to column 1, line 1

  lcd.print("Digital is ");

  lcd.print(sensorValue);

  lcd.print("   ");

  lcd.setCursor(0, 1);     // set the cursor to column 1, line 2


  lcd.print("Analog is ");

  volt = (float)((sensorValue*5.0)/1024.0);

  lcd.print(volt);

  //lcd.print((sensorValue*5)/1024); 

  lcd.print("   ");

}

 

 โปรแกรม อ่าน Infared Sensor แล้วเปรียบเทียบ

คู่มือของ TCRT5000 อยู่ด้านล่านหน้าเว็บนี้

 

รูปที่ 2  ลักษณะเซ็นเอร์และการต่อวงจร โดย ขา+V ต่อกับ 5 Volt  ขา Data ต่อกับ A0 ของ Arduino

โปรแกรมที่ 3

โปรแกรม โปรแกรมตรวจสอบเซ็นเซอร์ 


// include the library code:

#include <LiquidCrystal.h>

 

int sensorPin = A0;    // select the input pin for the potentiometer

int ledPin = 13;      // select the pin for the LED

int sensorValue = 0;  // variable to store the value coming from the sensor

int setting_value = 500;

#define led_on digitalWrite(ledPin, HIGH)

#define led_off digitalWrite(ledPin, LOW)

 

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12115432);

 

void setup() {

  // set up the LCD's number of columns and rows:

  lcd.begin(162);

  // Print a message to the LCD.

  lcd.print("Power is");

  sensorValue = 0;

    // declare the ledPin as an OUTPUT:

  pinMode(ledPin, OUTPUT);

}

 

void loop() {   

  sensorValue = analogRead(sensorPin);   // read the value from the sensor:

  lcd.setCursor(00);     // set the cursor to column 1, line 1

  lcd.print("Sensor is ");

  lcd.print(sensorValue);

  lcd.print("   ");

  lcd.setCursor(01);     // set the cursor to column 1, line 2

  if(sensorValue > setting_value)

  {

    lcd.print("Sensor ON  ");

    led_on;

  }

  else

  {

    lcd.print("Sensor OFF  ");

    led_off;

  }

}

 

Ċ
Narong Buabthong,
Nov 21, 2012, 6:53 AM
Comments