Wednesday, September 30, 2015

Servo


        เซอร์โวมอเตอร์ เป็นมอเตอร์ที่มีสามารถกำหนดการหมุนตามองศาที่กำหนดได้อย่างแม่นยำ เหมาะกับงานที่ต้องการความแม่นยำในการควบคุม เช่น แขนกล รถบังคับ หรือ เครื่องบินบังคับ เป็นต้น
        เซอร์โวที่จะแนะนำในวันนี้คือ  Tower Pro micro servo 9g ซึ่งเป็นเซอร์โวขนาดเล็ก หาซื้อได้ง่าย และมีราคาถูก เหมาะสำหรับผู้เริ่มต้นศึกษา

คุณสมบัติ
  • แรงบิด
    • 1.2 kg/cm ที่ 4.8V
    • 1.6 kg/cm ที่ 6.0V
  • ความเร็วในการหมุน
    • 0.2วิ / 60 องศา ที่ 4.8
  • น้ำหนัก 9 g
  • ทำงานที่กระแส 4.8V-60V

ลักษณะการใช้งานทั่วไป


             สายสีส้ม >> pin ไดก็ได้ของ Arduino
             สายสีแดง >> กระแสไฟ DC 4.8V-6.0V
             สายสี ดำ/น้ำตาล >> ขั้วลบของตัวจ่ายไฟ และ GND บนบอร์ดของ Arduino

ตัวอย่างการใช้งาน

ตัวอย่างโค้ดการใช้งาน
--------------------------------------------------------------------------------------------
#include <Servo.h> //เรียกไรบรารี่ Servo
Servo servo1; // สร้าง Servo ตัวที่ 1
Servo servo2; // สร้าง Servo ตัวที่ 2

int val; // ตัวแปรสำหรับเก็บค่าที่อ่านได้จากตัวต้านทานปรับค่าได้

void setup(){
  servo1.attach(9); // ต่อเซอร์โวตัวที่ 1 เข้ากับ pin ที่ 9
  servo2.attach(10); // ต่อเซอร์โวตัวที่ 2 เข้ากับ pin ที่ 10
}

void loop(){
  val = analogRead(2); //อ่านค่า analog จาก pin A2

  val = map(val, 0, 1023, 0, 180); // แปลงค่าจาก 0-1023 ให้เป็น 0-180

  servo1.write(val); // ส่งค่าให้เซอร์โวตัวที่ 1 หมุนไปยังองศาที่กำหนด

  val = map(val, 0, 180, 180, 0); // แปลงค่ากลับจาก 0-180 เป็น 180-0

  servo2.write(val); // ส่งค่าให้เซอร์โวตัวที่ 2 หมุนไปยังองศาที่กำหนด

  delay(50); //รอให้เซอร์โวหมุนไปถึงที่กำหนด
}
--------------------------------------------------------------------------------------------





credit by
arduino.cc/en/Tutorial/Knob
forum.arduino.cc/index.php?topic=46576.0
tindie.com/products/upgradeindustries/1x-9g-micro-servo-sg90/

Saturday, September 19, 2015

Ultrasonic Sensor(HC-SR04)



       Ultrasonic คือ โมดูลที่ทำหน้าที่วัดระยะห่างระหว่างวัตถุวับเซนเซอร์ โดยที่ HC-SR04 จะมีตัวปล่อยคลื่นอัลตราโซนิกออกไป เมื่อกระทบกับวัตถุจะสท้อนกลับมาที่ตัวรับสัญญาณ โดยระยะทางที่ได้จะคำนวณจาก
s = (vt)/2        
                                       s    ระยะทางระหว่างวัตถุกับเซนเซอร์(m)                          
                                      v      ความเร็วเสียงในอากาศ(ใช้ค่าประมาณ 340m/s)
                                      t       เวลาไปกลับระหว่างวัตถุกับเซอเซอร์(s)        


คุณสมบัติ

    Working Voltage          DC 5V
    Working Current          15mA
    Max Range                   4m.
    Min Range                    2cm
    Measuring Angle          15 degree
    Size                               45*20*15mm


ตัวอย่างการต่อเข้ากับ Arduino


VCC    >>   5V
GND    >>  GND
Echo    >>   pin 7
Trig      >>   pin 8


ตัวอย่าง Arduino Code

/* This sketch originates from Virtualmix: http://goo.gl/kJ8Gl
Has been modified by Winkle ink here: http://winkleink.blogspot.com.au/2012/05/arduino-hc-sr04-ultrasonic-distance.html
 And modified further by ScottC here: http://arduinobasics.blogspot.com.au/2012/11/arduinobasics-hc-sr04-ultrasonic-sensor.html
 on 10 Nov 2012. */

#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
#define LEDPin 13 // Onboard LED

int maximumRange = 200; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance

void setup() {
 Serial.begin (9600);
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
}

void loop() {
/* The following trigPin/echoPin cycle is used to determine the
 distance of the nearest object by bouncing soundwaves off of it. */
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);

 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);

 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);

 //Calculate the distance (in cm) based on the speed of sound.
 distance = duration/58.2;

 if (distance >= maximumRange || distance <= minimumRange){
 /* Send a negative number to computer and Turn LED ON
 to indicate "out of range" */
 Serial.println("-1");
 digitalWrite(LEDPin, HIGH);
 }
 else {
 /* Send the distance to the computer using Serial protocol, and
 turn LED OFF to indicate successful reading. */
 Serial.println(distance);
 digitalWrite(LEDPin, LOW);
 } 
 //Delay 50ms before next reading.
 delay(50);
}





credit by

Sunday, September 6, 2015

Smart City เมืองอัจฉริยะที่เป็นจริง



Concept

            Smart City เป็นแนวคิดของการวางผังเมืองโดยมีรูปแบบที่ขึ้นอยู่กับ Internet of things(IoT) โดยจะมีการจัดการสิ่งต่างๆ เพื่อพัฒนาคุณภาพชีวิตของประชากรและลดการใช้พลังงานในเมืองผ่านอินเตอร์เน็ตซิ่งเป็รเครือข่ายไร้สายและมีอยู่แพร่หลายในยุคนี้ ตัวอย่างการนำไปใช้งานจะมีตั่งแต่สัญญาณไฟจราจร ระบบสาถรณูปโภค ไปจนถึงการจัดสรรทรัพยากร เช่น การเปิดปิดไฟ การจ่ายน้ำ เป็นต้น ซึ่งจะช่วยในการบริหารจัดกับปัญหาการขาดแคลนพลังงานและปัญหาการเพิ่มประชากรได้ดียิ่งขึ้น

Eco Village Resort



          เป็นโครงการที่ panasonic และ Sandals Resot ร่วมมือกันสร้างรีสอร์ทที่มีความหรูหร่าขึ้นกว่า 20 แห่งในแถบแคริบเบียน โดยนอกจากความหรู่หร่าและและความสะดวกสบายแล้ว หมู่บ้านนี้ยังมีระบบการจัดการพลังงานที่ออกแบบมาเพื่อลดการใช้พลังและใช้ให้เกิดประโยชน์ที่สุด


          โดยในแต่ละห้องจะมีหน้าจอ touch-screen ให้แขกที่พักใช้ในการควบคุมการใช้พลังงานจากไฟ พัดลม และเครื่องปรับอากาศอย่างง่ายดาย
          นอกจากจอนี้แล้วแขกที่มาพักยังสามารถควบคุมเครื่องใช้ไฟฟ้าต่างๆภายในห้องโดยผ่านแทปแลตหรือสมารต์โฟนได้อีกด้วย


         ที่หมู่บ้านแห่งนี้จะมี the Green Room Controller system ซึ่งจะทำการจัดการการใช้พลังงานให้เหมาะสม และโรงแรมจะสามารถตรวจสอบการใช้พลังงานและควบคุมอุปกรณ์ต่างๆในห้อง จากคอมพิวเตอร์จากส่วยกลางได้






ความแตกต่างระหว่าง Arduino Due และ Arduino Uno


            Arduino Due เป็นบอร์ดที่ใช้ชิป Atmel AT91SAM3X8E ที่อยู่ในตระกูล ARM Cortex-M3 ซึ่งแตกต่างจากบอร์ด Arduino อื่นๆ ที่ใช้ Micro-controller(ชิป) ตระกูล AVR ทำให้การประมวลผลของ Arduino Due เร็ว แต่ยังคงรูปแบบโค้ดโปรแกรมของ Arduino
            Arduino Due เป็นบอร์ดไมโครคอนโทรลเลอร์ รุ่นแรกของ Arduino ที่ใช้ไมโครคอนโทรลเลอร์ 32 บิต โมดูล CAN และสัญญาณนาฬิกาที่มีความถี่ 84 MHz มี digital I/O 54 ขา, analog input 12 ขา, UART จำนวน 4 ช่อง, DAC จำนวน 2 ช่อง, TWI จำนวน 2 ช่อง, มีการรองรับการทำงานของอุปกรณ์ USB สำหรับเชื่อมต่ออุปกรณ์ภายนอก โดย Arduino Due ต้องใช้กับ ซอฟแวร์ Arduino IDE เวอร์ชั่น 1.5 ขึ้นไป


ข้อดี
  • มีความเร็วในการประมวลผลที่รวดเร็ว เหมาะกับงานที่มีความซับซ้อนและต้องการความเร็วความเร็วในการประมวลผล
  • มี I/O pins จำนานมาก  ทำให้เหมาะกับโมลดูลหรืองานที่มีความต้องการในการใช้ pins จำนวนมาก
ข้อเสีย
  • ราคาสูง เมื่อเทียบกับบอร์ดที่ยังไม่มี wifi ในตัวมาให้
  • Library อาจมีไม่หลากหลายนัก เนื่องจากชิบที่ใช้ประมวลผล ไม่เป็นที่แผล่หลายเหมือนอย่าง ATmega328P
  • ไม่เหมาะกับงานขนาดเล็กที่ต้องการซ่อนบอร์ดหรือตัวควบคุมไว้



            Arduino Uno เป็นบอร์ดนี้นิยมใช้งานมากที่สุดในบรรดาบอร์ดของ Arduino บอร์ดนี้เหมาะสำหรับผู้เริ่มต้นใช้งาน

คุณสมบัติทั่วไป
  • ราคาถูกเมื่อเทียบกับบอร์ดอื่นแล้ว แถมหาซื้อง่าย ตามเว็บไซต์ต่างๆทั่วไป
  • มีคนใช้มากทำให้มี Tutorial ต่างๆบนเว็บไซต์ทั้งในและต่างประเทศมากมาย หนังสือและบทเรียนที่สอนเกี่ยวกับ Arduino ก็สาธิตการทำงานด้วยบอร์ด UNO R3 เป็นหลัก
  • ในกรณีที่ใช้งานแล้วมีปัญหา คือ Atmel 328 เสีย ก็เปลี่ยนเองได้แบบง่ายๆ โดยซื้อ Atmel 328 มาใหม่แล้วทำการ Boot loader ก็ใช้งานต่อได้
  • Library มีแจกกันบนเว็บไซต์ โดยมากก็ใช้กับ UNO ได้เลยโดยไม่ต้องมีการดัดแปลง
  • จำนวนขา Analog Input  6 ช่อง  Digital Input 14 ช่อง  Flash memory 32 KB ใช้กับ USB ได้ทันทีทั้งไฟเลี้ยงและการโปรแกรม
  • Shield ส่วนใหญ่ออกแบบให้มีขนาดเท่ากับ UNO R3 ทำให้สามารถต่อทับไปบนตัว UNO ได้พอดีไม่ขาดไม่เกิน
  • ระดับแรงดันทำงานของ port 5 V

ข้อแตกต่างระหว่าง Uno กับ Due
  • ราคาสูงกว่า UNO อยู่พอสมควร
  • ความเร็วในการประมวลผลเร็วกว่า 6 เท่า เนื่องจากใช้ Clock 84 MHz
  • จำนวนขา Analog Input  12 ช่อง  Digital Input 54 ช่อง  Flash memory 512 KB ใช้กับ USB ได้ทันทีทั้งไฟเลี้ยงและการโปรแกรม
  • ต้องใช้งานกับ Arduino IDE 1.5 ขึ้นไป
  • Sketch ที่ใช้งานต้องเขียนขึ้นมา หรือ ดัดแปลงให้เข้ากับ Port ของ Arduino Due นี้ซึ่งอาจจะต่างจาก UNO R3 พอสมควร
  • ระดับแรงดันทำงาน 3.3 V



ตารางสเปค Uno vs Due



สรุป
            Arduino Due เหมาะกับงานหรือโครงงานที่มีขนาดใหญ่หรือต้องการความซับซ้อน และมีประสิทธิภาพในการประมวลผล และ pins จำนวนมาก
            Arduino Uno เหมาะกับผู้เริ่มต้นที่ต้องการศึกษาการทำงานของไมโครคอลโทลเลอร์ชนิดนี้ หรือต้องการใช้งานกับโมดูลต่างๆ และยังมีราคาถูกกว่าเกือบ 2 เท่า





credit by arduino.cc