วันพุธที่ 24 กันยายน พ.ศ. 2557

เริ่มแรกขออธิบายการทำงานของ dht11 ก่อนเลยนะครับ
dht11 เป็นเซ็นเซอร์ที่วัดค่าอุณหภูมืและค่าความชื้นที่เป็นแบบ digital สำเร็จเลย
มันมีความน่าเชื่อถือและสเถียรภาพค่อนข้างมาก มีทั้งหมด 4 pin ดังรูปด้านล่าง
สเปกทางเทคนิค
แบบละเอียด

การ wiring ดังรูปด้านล่าง

ขั้นตอนการสื่อสารระหว่าง MCU และ DHT11

คุณสมบัติทางไฟฟ้า


มาทดลองปฎิบัติกัน
อุปกรณ์ที่่ใช้ มี 
บอร์ด Arduino Uno R3 สั่งซื้อ

wiring ตามรูปด้านล่าง แต่ผมไม่ได้ต่อตัว R


เสียบสาย usb ทำการ Upload โปรแกรมตัวอย่าง 


ลืมไปให้ไป โหลด library จาก website https://github.com/adafruit/DHT-sensor-library/archive/master.zip 

ติดตั้ง library เสร็จทำการเปิดโปรแกรมตัวอย่างที่ชื่อว่า 
DHTtester แก้ข้อมูลตามกรอบสีแดงรูปด้านล่าง จากนั้น upload โปรแกรม DHTtester ลงบอร์ด Arduino Uno R3


ใช้ Serial Port Monitor จะแสดงดังรูปด้านล่าง





วันเสาร์ที่ 13 กันยายน พ.ศ. 2557

การใช้งาน HC-06 Bluetooth
1. เริ่มที่ Wiring Diagram กันก่อนเลย 
  • Connect the HC-06 Ground (GND) pin to ground (duh!).
  • Connect the HC-06 VCC pin to 5v.
  • Connect the HC-06 TX/TXD pin to Arduino digital pin 4.
  • Connect the HC-06 RX/RXD pin to Arduino digital pin 2.
RX pin ถูก design ให้ใช้แรงดัน 3.33 v เฉพาะนั้นเราต้องเอา R มาทำเป็น Votage Divider 
2. ติดตั้ง library สำหรับ hc-06 bluetooth ดาวโหลดได้ที่ 
เมื่อติดตั้ง library เรียบร้อยแล้วลองทดลอง program
ไปที่ 
ทำการ upload ลง arduino 
3. เมื่อทุกอย่าง Ok เปิด Serial Monitor
พิมพ์ AT แล้วกด ENTER จะได้
พิมพ์ 
AT+VERSION จะได้ OKlinvorV1.8
AT+BAUD4 จะได้ OK9600

วันอังคารที่ 19 สิงหาคม พ.ศ. 2557

วันนี้เราจะมาสอนใช้ vb6 ติดต่อ PLC Mitsubishi กันนะครับ
1. ต้องมีโปรแกรม vb6
2. MX Component V.3
3. PLC Mitsubishi
4. สายลิ้งคอมพิวเตอร์กับPLC Mitsubishi

เมื่อติดตั้งโปรแกรมและเตรียมอุปกรณ์พร้อมแล้วก็เริ่มเลยนะครับ ทำการตรวจสอบว่าคอมพิวเตอร์ของเราติดต่อ PLC Mitsubishi ได้เหรอไว้ โดยใช้ Communication Setup Utility ทดสอบกัน

Communication Setup Utility  






vb6

 ActFXCPU1.ActPortNumber  ตั้งค่า port number
ActFXCPU1.Open  เปิด port serial


ActFXCPU1.GetDevice(szDeviceName, lData)   อ่านค่าจาก PLC

szDeviceName ชื่อ device เช่น m100 ,d0 ,y0
lData ข้อมูลได้อ่านมาได้




ActFXCPU1.SetDevice(szDeviceName, CLng(szDeviceValue))
szDeviceName ชื่อ device เช่น m100 ,d0 ,y0
CLng(szDeviceValue) ข้อมูลที่จะส่งไปให้ PLC


k.ต้อม 0804224466 
www.elec2you.com    Elec2you จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ เซ็นเซอร์ ไมโครคอนโทรลเลอร์ พีแอลซี เป็นต้น ราคาถูกที่สุด


วันศุกร์ที่ 8 สิงหาคม พ.ศ. 2557

รับเขียนโปรแกรม plc mitsubishi

  • งานซ่อม
  • งานเขียนไหม่ เล็ก ใหญ่ รับหมดครับ
  • งาน crack password
ติดต่อ k.ต้อม 0804224466



วันพุธที่ 4 มิถุนายน พ.ศ. 2557

SHT10 digital humidity and temperature sensor is the low cost version of the reflow solderable humidity sensor series. The accuracies have been opened to a level that guarantees a very competitive price. The capacitive humidity sensor is available up to high volumes and as every other sensor type of the SHTxx family, it is fully calibrated and provides a digital output.
Features:
·         Interface Type: Serial (I2C non standard)
·         Humidity Ranger:0-100%RH
·         Tempereature ranger: -40-128.8 degree Celsius
·         Humidity accuracy:±4.5%RH
·         Temperature accuracy:±0.5 degree Celsius (25 degree Celsius)
·         Size: 32x17mm
·         Weight:5 gram


Wiring Diagram

Wiring Diagram


โค้ด
/**
 * ReadSHT1xValues
 *
 * Read temperature and humidity values from an SHT1x-series (SHT10,
 * SHT11, SHT15) sensor.
 *
 * Copyright 2009 Jonathan Oxer <jon@oxer.com.au>
 * www.practicalarduino.com
 */

#include <SHT1x.h>

// Specify data and clock connections and instantiate SHT1x object
#define dataPin  10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);

void setup()
{
   Serial.begin(38400); // Open serial connection to report values to host
   Serial.println("Starting up");
}

void loop()
{
  float temp_c;
  float temp_f;
  float humidity;

  // Read values from the sensor
  temp_c = sht1x.readTemperatureC();
  temp_f = sht1x.readTemperatureF();
  humidity = sht1x.readHumidity();

  // Print the values to the serial port
  Serial.print("Temperature: ");
  Serial.print(temp_c, DEC);
  Serial.print("C / ");
  Serial.print(temp_f, DEC);
  Serial.print("F. Humidity: ");
  Serial.print(humidity);
  Serial.println("%");

  delay(2000);
}


ArduinoLibrary:SHT1x

DatasheetSHT1x_Datasheet

วันจันทร์ที่ 26 พฤษภาคม พ.ศ. 2557

Ladder Diagram (LD)
เป็นภาษาที่เขียนแสดงอยู่ในรูปของกราฟิค ซึ่งมีรากฐานมาจากวงจรรีเลยและวงจรไฟฟ้า ซึ่ง แลดเดอร์ ไดอะแกรม จะประกอบด้วย ราง (Rail) ทั้งซ้ายและขวา ของไดอะแกรม เพื่อใช้สำหรับเชื่อมต่ออุปกรณ์ที่เป็นสวิตช์หน้าสัมผัส เพื่อเป็นทางผ่านของกระแส และมีขดลวด หรือ คอยล์ เป็นเอ้าท์พุท
Ladder Diagram(LD)

วันพุธที่ 14 พฤษภาคม พ.ศ. 2557

การทำงานของ PLC ทำงานโดยการสแกน (SCAN) โปรแกรมอย่างต่อเนื่อง การ SCAN 1 รอบจะประกอบด้วยขั้นตอนที่สำคัญ 3 ขั้นตอน (อาจจะมีมากว่า 3 ข้ันตอนก็ได้) ดังภาพ
ขั้นตอนที่ 1 ตรวจสอบสถานะของอินพุท
         ขั้นแรก PLC จะตรวจสอบอินพุตแต่ละอินพุตว่ามีสถานะ ON หรือ OFF โดยจะทำการตรวจสอบดูว่า Sensor ที่ต่ออยู่กับอินพุตตัวแรกว่ามีสถานะเป็นอย่างไรแล้วจึงตรวสอบที่อินพุตตัวที่ 2 และ 3 ไปเรื่อยๆ จากนั้นจะทำการบันทึกข้อมูลที่ได้ลงในหน่วยความจำเพื่อจะใช้ในขั้นตอนต่อไป
ขั้นตอนที่ 2 การประมวลผลของโปรแกรม
        ขั้นตอนนี้ PLC จะทำการประมวลผลตามโปรแกรมที่ได้เขียนขึ้นโดยจะทำเพียงคำสั่งละครั้ง ตัวอย่างเช่น ตัวโปรแกรมอาจจะบอกว่า "ถ้าอินพุตแรกมีสถานะเป็น ON จากนั้นจะ ทำให้เอาต์พุตแรกมีสถานะ ON" เนื่องจากเรารู้มาแล้วว่าอินพุตมีสถานะ ON หรือ OFF จากขั้นตอนที่แล้ว ดังนั้นจึงทำให้ PLC สามารถตัดสินใจได้ว่าเอาต์พุตแรกควรจะมีสถานะ เป็นอย่างไร จากนั้นก็จะเก็บผลที่ได้จากการประมวลผลไว้ในหน่วยความจำเพื่อใช้ในขั้นตอนต่อไป
ขั้นตอนที่ 3 ปรับปรุงสถานะของเอาต์พุต
        ขั้นตอนสุดท้ายคือ PLC จะทำการปรับปรุงสถานะของเอาต์พุด โดยในการปรับปรุงค่าสถานะของเอาต์พุตนี้จะขึ้นอยู่สถานะ ของอินพุตที่ได้มาจากขั้นตอนแรกและผลจากการประมวลผลตามโปรแกรมในช่วงขั้นตอนที่สอง
        หลังจากเสร็จขั้นตอนที่สามแล้ว PLC จะกลับไปที่ขั้นตอนที่ 1 และทำซ้ำไปเรื่อยๆอย่างต่อเนื่อง ซึ่งนอกจากเหนือจากขั้นตอนทั้งสามนี้แล้ว PLC อาจจะใช้เวลาในการติดต่อสื่อสารกับอุปกรณ์อื่นๆ หรือตรวจสอบสถานการณ์ทำงานต่างๆ ซึ่งไม่มีนัยยะสำคัญมากนัก
ดังนั้น 1 scan time จะหมายถึงเวลาที่ใช้ไปในการทำงานตามขั้นตอนหลักทั้ง 3 ที่ได้กล่าวมา

วันอังคารที่ 13 พฤษภาคม พ.ศ. 2557

หลักการทำงาน


Wiring Digaram

Arduino Code
#include <Servo.h>

Servo myservo;  // create servo object to control a servo
                // a maximum of eight servo objects can be created

int pos = 0;    // variable to store the servo position
int motor = 0;

void setup()
{  
  Serial.begin(9600);  // initialize serial: 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
 
  Serial.print("Arduino control Servo Motor Connected OK");
  Serial.print('\n');
}

void loop()
  // if there's any serial available, read it:
  while (Serial.available() > 0) {
    
    // look for the next valid integer in the incoming serial stream:
    motor = Serial.parseInt();
   
    // do it again:
    pos = Serial.parseInt();
  
    // look for the newline. That's the end of your  sentence:
    if (Serial.read() == '\n') {
              
       myservo.write(pos);              // tell servo to go to position in variable 'pos'
       delay(15);                       // waits 15ms for the servo to reach the position
     
      // print the three numbers in one string as hexadecimal:
      Serial.print("Data Response : ");
      Serial.print(motor, DEC);
      Serial.print(pos, DEC);
      
    }
  }
}
 
  //for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees
  //{                                  // in steps of 1 degree
  //  myservo.write(pos);              // tell servo to go to position in variable 'pos'
  //  delay(15);                       // waits 15ms for the servo to reach the position
  //}
  //for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
  //{                                
  //  myservo.write(pos);              // tell servo to go to position in variable 'pos'
  //  delay(15);                       // waits 15ms for the servo to reach the position
  //}
 
 
  //val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  //val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  //myservo.write(val);                  // sets the servo position according to the scaled value
  //delay(15);


App Andorid

ขอบคุณ  http://microcontrollerkits.blogspot.com/2014/01/arduino-usb-control-servo-motor.html

วันศุกร์ที่ 18 เมษายน พ.ศ. 2557


รับเขียนโปรแกรม arduino ทุกรุ่น ปรึกษาได้
080-422-4466
automation999.engineer@gmail.com


http://www.elec2you.com/
Elec2you จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ เซ็นเซอร์ ไมโครคอนโทรลเลอร์ พีแอลซี เป็นต้น ราคาถูกที่สุด

วันพุธที่ 16 เมษายน พ.ศ. 2557

Project oscilloscope arduino 

plot แรงดัน 0-5 v (analog0) กับแกน x(time สามารถปรับเวลาได้) พร้อมบันทึกข้อมูลลง SD Card



วันอาทิตย์ที่ 30 มีนาคม พ.ศ. 2557

Project เครื่องทดสอบกระแสไฟฟ้า Solar Cell



Arduino UNO


R6Ohm 50W
Current Sensor


ทดลองวัดกระแสจริง



ชิ้นงาน

วันอังคารที่ 18 มีนาคม พ.ศ. 2557

เริ่มกันเลยนะครับ
แนะนำกันก่อนเข้าไปให้ Folder ที่ติดตั้ง arduino
จะมี Folder ชื่อ library ที่เก็บข้อมูล library

เมื่อเข้าไป folder libraries จะแสดง libraries ทั้งหมดที่มี
มารู้จักวิธีการ add libraries กัน
1.ไปดาวโหลด libraries ตามเว็ปไซค์ที่เขาให้มาอิอิอิ
 



เป็นไฟล์ zip นะครับ


จากนั้นให้แตกไฟล์แล้วก๊อปไฟล์ไปไว้ใน folder library
 โดยมีเงื่อนไขคือ libraries แล้วตามด้วยชื่อ folder library ข้างใน folder ต้องมีไฟล์ตามรูปด้านบน

ปิดแล้วเปิดใหม่จะได้ดังรูปคับ RTClib เป็นชื่อ folder library ส่วน datecalc ,ds1307 และ softrtc เป็นตัวอย่างโปรแกรมให้ใช้งาน

ติดต่องานเขียนโปรแกรม arduino 080-422-4466