วันพฤหัสบดีที่ 4 มิถุนายน พ.ศ. 2558

วันที่13 ทีFibo

-sensor omronสล็อตเซนเซอร์หรือเซนเซอร์ก้ามปูที่สามารถขับโหลด 50 ถึง 100 mA เหมาะสำหรับใช้ทำลิมิตเซนเซอร์ โฮมมิ่ง และอินเด็กซ์และไทม์มิ่งสำหรับ Mach3 Mill และ Lathe 
เนื่องจากเป็นอุปกรณ์เซนเซอร์ทางแสง มีความแม่นยำและทนทานกว่าอุปกรณ์แบบที่ต้องสัมผัสเช่นไมโครสวิตซ์ หรือลิมิตสวิตซ์

■ สามารถเลือก dark-ON และ light-ON
■ เอาท์พุทเป็นแบบ NPN open collector ใช้ต่อเพื่อแชร์อินพุทเพียงเส้นเดียวได้ง่าย
■ ตอบสนองความถี่สูงถึง 1 kHz.
■ มี LED แสดงถึงสถานะการทำงาน
■ ใช้กับไฟตั้งแต่ 5 ถึง 24 VDC
-ปัญหาในการทำงานคือ datasheet หายาก และสายที่ใช้ต่อเล็ก


int c=0;    //สั่งcให้=0
void setup() {
pinMode(2,INPUT_PULLUP);    //ขา2ให้รับค่าหรือINPUT
attachInterrupt(0,PM,HIGH);  //สั่งงานใช้งานINTERRUP
Serial.begin(9600);

}

void loop() {
  if(digitalRead(2)==HIGH){  //ถ้าขา2ได้รับสัญญาณINPUTเข้ามาก็จะทำงานในวงเล็บ 
  Serial.println(c);          //โชว์ค่าcที่บวกได้
  }
  while(digitalRead(2)==HIGH);    //สั่งให้ทำงานอยู่คำสั่งนี้จนกว่าINPUTจะเปลี่ยน
}
void PM(){                    //เป็นฟังชันเรียกใช้งานINTERRUP
if(digitalRead(2)==HIGH){     //ถ้ามัINPUTเข้ามาหรือINTERRUPเข้ามาแล้วค่าcจะ+1
c++;
}
}







-การเขียนserial ระหว่างบอดร์เพื่อสั่งให้อีกบอร์ด ไฟติด


โค้ดตัวที่1
void setup() {
pinMode(13,OUTPUT);    //สั่งขา13ให้เป็น OUTPUT
digitalWrite(13,LOW);  //ให้ขา13 เป็น0

Serial.begin(9600);

}

int x = LOW;            //ให้xมีค่าเท่ากับ LOW
void loop() {

  if(Serial.available()>0){      //ประมาณว่าเรียกใช้บัฟเฟอร์
   int latter = Serial.read();    
   if(latter == '1'){            //ถ้าlatterมีค่าเท่ากับ1ก็จะเข้าไปทำงาน
     x = !x;                     //xเท่ากับ notx
   digitalWrite(13,x);            
   if(x ==LOW)                    //ถ้าxเป็นLOW ก้จะแสดงOFF     
   Serial.println("OFF");
   else Serial.println("ON");      //ถ้าxไม่เท่าLOWกับก็จะแสดงON
   delay(10);
   }
  }
   
}

********************************************************************************
โค้ดตัวที่2
#include <SoftwareSerial.h>  //เรียกใช้libary sofwareserial
int button = 3;              //ให้ขา3ชื่อ button
        
SoftwareSerial mySerial(10, 11);  //Rx Tx

void setup() {
 pinMode(button,INPUT_PULLUP); 

 Serial.begin(9600);
 while (!Serial) {
  ;
   }
   mySerial.begin(9600);
}

void loop() { 

if(digitalRead(button)==LOW){    //ถ้ากดสวิทแล้วจะส่ง1ออกไป
 mySerial.println("1");
 if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
  

}  
while(digitalRead(button)==LOW);    //ให้ทำงานซ่ำถ้ายังไม่ปล่อยมือ
}
--------------------------------------------------------------------------------------------------------------------------








ไม่มีความคิดเห็น:

แสดงความคิดเห็น