คือผมจะทำโปรเจคเครื่องหยอดเมล็ดข้าวนาแห้ง โดยที่จะใช้ Rotary encoder ติดตั้งที่ล้อรถแทรกเตอร์เพื่อนับรอบ แล้วก็มาแปลงเป็นระยะทาง และเมื่อได้ระยะทางที่ต้องการหยอดก็จะส่งสัญญาณ ไปที่ชุดหยอดเมล็ด โดยชุดหยอดจะถูกควบคุมโดย Servo เมื่อถึงระยะทางที่ต้องการก็จะหยอดเมล็ดข้าวลง มีใครทำแนวนี้พอจะแนะนำการเริ่มต้นได้ไหมครับ พอดีความรู้น้อยมาก เริ่มไม่ถูก
ก็ไม่น่ายากนะครับ มีของครบรึยัง
แนวทางการแปลงค่าจาก Rotary encoder เป็นระยะทาง
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 6, 7, 8, 9, 10);
int pin1 = 2;
int pin2 = 3;
int Pos = 0;
int State;
int LastState;
const float pi = 3.14;
const float R = 3.25;
const int N = 40;
float distance = 0;
void setup() {
pinMode (pin1 ,INPUT_PULLUP);
pinMode (pin2 ,INPUT_PULLUP);
lcd.begin(16, 2);
lcd.print("MEASURNING WHEEL");
LastState = digitalRead(pin1);
}
void loop() {
State = digitalRead(pin1);
if (State != LastState){
if (digitalRead(pin2) != State) {
Pos ++;
}
else {
Pos --;
}
}
distance = ((2*pi*R)/N) * Pos ;
lcd.setCursor(0, 1);
lcd.print( distance);
lcd.setCursor(5, 1);
lcd.print("cm ");
LastState = State;
}
ตอนนี้เพิ่งเริ่มเลยครับ ยังไม่ได้เตรียมอุปกรณ์เลยครับ มาสอบถามแนวทางก่อนครับ
ผมอยากสอบถามเพิ่มเติมนิดนึงครับ ถ้าผมจะติดตั้ง rotary encoder ที่ล้อรถแทรกเตอร์ จะติดตั้งยังไง ติดตั้งตรงไหนดีครับ
1 Likes
มันจะเป็นขั้วหมดได้เราก็ต้องหาวิธีแปลงเอา หรือเอาเข้าไปต่อให้ได้ครับ เป็นลูกยางแล้วเอาไปแนบที่ล้อก็ได้
ขอบคุณมากครับพี่
ลองเริ่มทำดูครับ ถึงไหนก็เข้ามาอัพเดทกัน ผมอยากเห็นโปรเจคนี้ เสร็จสมบูรณ์ ครับ