Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <popxt.h>
- #include <gp2d120_lib.h> // Include GP2D120 sensor library
- #include "Wire.h"
- #define ADDR 0x20 //seven bit address
- #define GP0 0x00 // register addresses
- #define GP1 0X01
- #define IODIR0 0x06
- #define IODIR1 0x07
- int raw,dist,light;
- int BW=180;
- void readSensor(){
- dist=getdist(20);
- }
- /*void relay16(byte CMD, byte VAL){
- Wire.beginTransmission(0x20); // เริ่มต้นสื่อสาร
- Wire.write(CMD); // ส่งตำแหน่งรีจิสเตอร์ที่ต้องการติดต่อ
- Wire.write(VAL); // ส่งค่าไปยังรีจิสเตอร์ที่ต้องการ
- Wire.endTransmission(); // หยุดการสื่อสาร
- }*/
- void setup(){
- setTextSize(2);
- glcd(1,1,"Press OK");
- sw_ok_press();
- glcdClear();
- glcd(1,1,"Start");
- Wire.begin();
- /*relay16(IODIR0, B00000000); // GP0 pins are outputs
- relay16(IODIR1, B00000000); // GP1.0 - GP1.3 are inputs
- relay16(GP0,0x01); //R1,R2,R3 ติดตลอด
- sleep(10000);
- relay16(GP0,0x00); */
- }
- void loop(){
- relay16(IODIR0, B00000000); // GP0 pins are outputs
- relay16(IODIR1, B00000000); // GP1.0 - GP1.3 are inputs
- raw=analog(2);
- dist=getdist(2);
- light=analog(6);
- if(dist<20){
- relay16(GP0,0x05);
- sleep(3000);
- relay16(GP0,0x00);
- sleep(1000);
- ao();
- }
- else if(light>BW){
- relay16(GP1,0x02);
- sleep(3000);
- relay16(GP1,0x00);
- sleep(1000);
- ao();
- }
- else if(in(18)==0){ //analog 18 sound
- relay16(GP1,0x01);
- sleep(3000);
- relay16(GP1,0x00);
- sleep(1000);
- ao();
- }
- else if(in(21)==0){ // Left switch is attacked
- relay16(GP0,0x09);
- sleep(3000);
- relay16(GP0,0x00);
- sleep(1000);
- ao();
- }
- else if(in(23)==0){ // Right swtich is attacked
- relay16(GP0,0x06);
- sleep(3000);
- relay16(GP0,0x00);
- sleep(1000);
- ao();
- }
- else{
- ao();
- }
- }
- void relay16(byte CMD, byte VAL){
- Wire.beginTransmission(ADDR); // เริ่มต้นสื่อสาร
- Wire.write(CMD); // ส่งตำแหน่งรีจิสเตอร์ที่ต้องการติดต่อ
- Wire.write(VAL); // ส่งค่าไปยังรีจิสเตอร์ที่ต้องการ
- Wire.endTransmission(); // หยุดการสื่อสาร
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement