คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
arduino มันมีตัวอย่างเคยเข้าไปดูบ้างไหม
ตัวอย่างการต่อ LED
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
ตัวอย่างการอ่านค่าอนาล็อก
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
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
ที่นี้มาดู ว่าผิดตรงไหนบ้าง
int vr_pin = A0;
int led_pin = 11;
void setup() {
///pinMode(vr_pin,INPUT); มันเป็นอนาล็อก ไม่ต้องกำหนด
pinMode(led_pin,OUTPUT); /// มันส่งออกต้องกำหนดเป็น OUTPUT ไม่ใช่ INPUT
Serial.begin(9600);
}
void loop() {
int vr = analogRead(vr_pin);
int vr1 = map(vr,0,1023,0,255);
analogWrite(led_pin,vr1); /// analogWrite ไม่ใช่ analoWrite
Serial.println(vr1);
delay(500);
}
ตัวอย่างการต่อ LED
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
ตัวอย่างการอ่านค่าอนาล็อก
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
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
ที่นี้มาดู ว่าผิดตรงไหนบ้าง
int vr_pin = A0;
int led_pin = 11;
void setup() {
///pinMode(vr_pin,INPUT); มันเป็นอนาล็อก ไม่ต้องกำหนด
pinMode(led_pin,OUTPUT); /// มันส่งออกต้องกำหนดเป็น OUTPUT ไม่ใช่ INPUT
Serial.begin(9600);
}
void loop() {
int vr = analogRead(vr_pin);
int vr1 = map(vr,0,1023,0,255);
analogWrite(led_pin,vr1); /// analogWrite ไม่ใช่ analoWrite
Serial.println(vr1);
delay(500);
}
แสดงความคิดเห็น
กำลังฝึกเขียนโปรแกรม Arduino เรื่อง Analog INPUT แต่ติดBug Error ตลอดเลย ขอความช่วยเหลือหน่อยครับ
นี้รูปวงจรที่ต่อไว้ครับ
นี้เป็นcodeครับ
int vr_pin = A0;
int led_pin = 11;
void setup() {
pinMode(vr_pin,INPUT);
pinMode(led_pin,INPUT);
Serial.begin(9600);
}
void loop() {
int vr = analogRead(vr_pin);
int vr1 = map(vr,0,1023,0,255);
analoWrite(led_pin,vr1);
Serial.println(vr1);
delay(500);
}
นี้เป็น Link แชร์โปรเจคครับ
https://www.tinkercad.com/things/imky41jI3N1-stunning-hillar/editel?sharecode=-oKWXhJymBWxp2qLPE7u2r2z_kKVZAZo-8aL7TmdajQ
ขอบคุณท่านผู้รู้ที่ให้ความช่วยเหลือ และชี้แนะครับ