กำลังฝึกเขียนโปรแกรม Arduino เรื่อง Analog INPUT แต่ติดBug Error ตลอดเลย ขอความช่วยเหลือหน่อยครับ

เรื่องของเรื่องคือกำลังฝึกเขียน Code ภาษา C ลงบนบอร์ด Arduino โดยการจำลองบนเว็บครับ แต่มัน Run ไม่ผ่าน ติดErrorตลอด ไม่รู้ผิดพลาดตรงไหน งมอยู่จนปวดหัวแล้ว หรือ ฟังชั้นบนเว็บจอลอง Arduino มันไม่รองรับหรือป่าวครับ

นี้รูปวงจรที่ต่อไว้ครับ


นี้เป็น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

ขอบคุณท่านผู้รู้ที่ให้ความช่วยเหลือ และชี้แนะครับ
แก้ไขข้อความเมื่อ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 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);
}
แสดงความคิดเห็น
Preview
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่