กระทู้เมื่อเร็วๆ นี้

หน้า: 1 ... 8 9 [10]
91
IOT : Internet of Thing (ESP32) / Re: ...
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:10:30 AM »

รายการอุปกรณ์

www.es.co.th
ลำดับที่รายการจำนวนตัว
10.1uF2
20.1uF(SMD)5
31uF1
4470uF1
51N40021
6BC5471
7Female Pin Header1x121
8Female Pin Header1x27
9Female Pin Header1x33
10Female Pin Header1x41
11Female Pin Header1x52
12Female Pin Header1x81
13Female Pin Header1x91
14Pin Header Connector 40 Pins1
15LDR1
16LED3mm9
17RELAY-FTR-F3AA0051
18Tactile Switches5
19Terminal Box 2 Pin1

รายการอุปกรณ์

www.arduinoall.com
ลำดับที่รายการจำนวนตัว
1Resistor 220 (ใช้งาน 9 ตัว)1 แพค
2Resistor 10k(ใช้งาน 3 ตัว)1 แพค
3Resistor 1k (ใช้งาน 2 ตัว)1 แพค
4Resistor 4k7 (ใช้งาน 2 ตัว)1 แพค
5Female Pin Header1x152
6Female Pin Header 1x4-901
7Trim POT-3386P1
8OLED 128x64 0.96"1
9LCD i2c 16x21
10MAX7219 7-segment 8 digit1
11DHT111
12DS18B201
13BreadBoard 1701
14ESP32 DOIT DevKit1
หมายเหตุ
1. ตัวต้านทานจาก ArduinoALL จัดแพคไว้ 10 ตัวต่อ 1 แพค
2. จุดจ่ายไฟ (5V, 3.3V, GND) ใช้ Female Header 1x3 กับ  Pin Header ตัดเอา 3 ขา แล้ววางคู่กัน ดังรูป

92
IOT : Internet of Thing (ESP32) / ลายปริ้นวงจรบอร์ดทดลอง IOT รุ่น ESP32 [V.2019.1]
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:10:19 AM »
ลายปริ้นวงจรบอร์ดทดลอง IOT รุ่น ESP32 [V.2019.1]
  ลายปริ้นที่ใช้ในการศึกษาทดลองค้นคว้าเกี่ยวกับเทคโนโลยี IoT (Internet of Things) โดยบอร์ดทดลองนี้ใช้โมดูลที่ใช้ชิพ ESP32 รุ่นที่มีขาใช้งาน 30 ขา (รุ่น DOIT DevKit) ผู้สนใจที่จะทำปริ้นไว้ใช้งานสามารถจัดทำด้วยตนเองได้โดยครูได้ออกแบบให้เป็นลายวงจรเพรงหน้าเดียว (มีจุดจั้ม 2 จุด) มีรายละเอียดดังนี้

1. ลายวงจรที่ใช้งาน


2. ลายปริ้นที่จัดทำขึ้นเองจะต้องจั้ม 2 จุดดังรูป และไม่มีตัวเก็บประจุลดสัญญาณเบาซ์ (คร่อมสวิตช์)


3. ลายปริ้นที่สั่งทำจากโรงงานเป็นปริ้น 2 ด้าน โดยด้านบนเป็นลายในส่วนที่จั้มดังนั้นเมื่อใช้ปริ้นนี้ไม่ต้องจั้มอีกครั้ง และปริ้นนี้สามารถลงอุปกรณ์ที่เป็นตัวเก็บประจุลดสัญญาณเบาซ์ (คร่อมสวิตช์) ซึ่งเป็นตัวเก็บประจุผิวหน้า


4. ตำแหน่งของตัวเก็บประจุลดสัญญาณเบาซ์ (คร่อมสวิตช์) ซึ่งเป็นตัวเก็บประจุผิวหน้า


ต้นแบบลายปริ้นสามารถทำด้วยต้นเองได้โดยวิธีการรีดผ่านกระดาษโฟโต้หรือกระดาษมัน สามารถดาวน์โหลดได้ที่
https://drive.google.com/file/d/1wcugiISXGf78Fvvjpd29tza_SpuGCJdU/view?usp=sharing

แผ่นวงจรพิมพ์มีขนาด 3.2x5.5 นิ้ว โดยการวัดให้ใช้ไม้โปรวัดนิ้วด้านองศา(1 นิ้วมี 10 ช่อง) ก่อนทำต้องวัดขนาดให้ถูกต้องก่อนทำปริ้นเนื่องจากอาจเกิดการผิดพลาดจากการตั้งค่าการพิมพ์จากเครื่องพิมพ์

การตั้งค่าเครื่องพิมพ์เพื่อให้ได้ขนาด PCB ที่ถูกต้อง
-ตั้งค่าหน้ากระดาษเป็นขนาด A4
-ตั้งค่าการพิมพ์ดังรูป



ในกรณีที่ทำปริ้นด้วยตนเอง..
ให้นักศึกษาใช้เทคนิคโทนเนอร์ทรานเฟอร์ซึ่งรายละเอียดการทำดูได้จากเวปไซต์ของครู


กรณีใช้กระดาษโฟโต้
http://www.praphas.com/index.php/2008-11-03-14-25-25/36-2008-11-04-15-15-34/77-2010-09-13-05-43-56

กรณีใช้กระดาษโบว์ชัวด์
http://www.praphas.com/index.php/2008-11-03-14-25-25/36-2008-11-04-15-15-34/78-toner-transfer

เทคนิคนี้ใช้ได้ดีเฉพาะพิมพ์ด้วยเครื่องพิมพ์เลเซอร์ สำหรับใช้วิธีการถ่ายเอกสารอาจไม่ประสบความสำเร็จ เนื่องจากเครื่องถ่ายเอกสารมีความร้อนสูงทำให้หมึกละลายลงกระดาษมันได้
เมื่อกัดปริ้นเสร็จ ทำการล้างหมึกที่ติดแผ่นปริ้นออกด้วยทินเนอร์
93
IOT : Internet of Thing (ESP32) / Re: การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:10:10 AM »
...
94
IOT : Internet of Thing (ESP32) / Re: การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:09:59 AM »
...
95
IOT : Internet of Thing (ESP32) / Re: การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:09:48 AM »
...
96
IOT : Internet of Thing (ESP32) / Re: การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 11, 2019, 09:09:36 AM »
วงจรที่ใช้ในการทดลอง
   การเรียนรู้ในครั้งนี้เป็นการเรียนรู้การเขี้ยนโปรแกรมเพื่อใช้งานการสื่อสารผ่านพอร์ตอนุกรม ทั้งที่มีการส่งและรับข้อมูลเข้ามายังบอร์ดเพื่อควบคุมการทำงานต่าง ๆ วงจรที่ใช้งานเป็นดังรูป โดยใช้พอร์ตอนุกรม U0 เนื่องจากเป็นพอร์ตที่มีวงจรแปลงสัญญาณจาก UART เป็น USB ไว้อยู่แล้ว ซึ่งปกติจะใช้พอร์ตนี้ในการโปรแกรมตัวเองเมื่อผู้ใช้กด Upload ในโปรแกรม Arduino IDE


ตัวอย่างโปรแกรมที่ 1
   ส่งค่าสถานะของ LED ที่เชื่อมต่อใช้งานจำนวน 4 ตัว ออกทางพอร์ตอนุกรมเพื่อแสดงผลหน้าจอคอมพิวเตอร์ด้วยโปรแกรม Serial monitor ของ Arduino IDE
โค๊ด: [Select]
#define LED1 21
#define LED2 19
#define LED3 18
#define LED4 5
void send2port(char data);
void setup() {
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT);
  pinMode(LED4,OUTPUT);
  Serial.begin(9600);
}
void loop() {
  for(byte i=0;i<15;i++){
    send2port(i);
    Serial.print("Status of LED is :");
    Serial.println(i,BIN);
    delay(500);
  }
}
void send2port(char data)
{
    digitalWrite(LED1,data & 1 ? 1:0);
    digitalWrite(LED2,data & 2 ? 1:0);
    digitalWrite(LED3,data & 4 ? 1:0);
    digitalWrite(LED4,data & 8 ? 1:0);
}

ตัวอย่างโปรแกรมที่ 2
   รับค่าเข้ามาทางพอร์ตอนุกรมเพื่อควบคุมการทำงานของ LED โดยค่าที่รับมาควบคุมเป็นข้อมูลตัวเลข 1, 2, 3, 4 ที่ส่งจากโปรแกรม Serial monitor ของ Arduino IDE (ให้ตั้งค่าเป็น No Line Ending)
โค๊ด: [Select]
#define LED1 21
#define LED2 19
#define LED3 18
#define LED4 5
void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  for (byte i = 0; i < 100; i++) {
    Serial.print(".");
    delay(200);
    if (Serial.available()) {
      char inChar = Serial.read();
      digitalWrite(LED1, inChar == '1' ? 1 : 0);
      digitalWrite(LED2, inChar == '2' ? 1 : 0);
      digitalWrite(LED3, inChar == '3' ? 1 : 0);
      digitalWrite(LED4, inChar == '4' ? 1 : 0);
      Serial.println();
      Serial.print("Data received is: ");
      Serial.println(inChar);
    }
  }
  Serial.println();
}
<a href="https://www.youtube.com/v/QXu1JbhzonE" target="_blank" class="new_win">https://www.youtube.com/v/QXu1JbhzonE</a>
97
IOT : Internet of Thing (ESP32) / Re: การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 08, 2019, 09:43:34 PM »

ฟังก์ชั่นที่ใช้งานในการทดลองนี้

รูปแบบ คำอธิบาย
pinMode(pin, mode); pin: หมายเลขขาที่ต้องการเซตโหมด
mode: INPUT, OUTPUT, INPUT_PULLUP
digitalWrite(pin,value); pin: หมายเลข ขาที่ต้องการเขียนลอจิกออกพอร์ต
value: ค่าลอจิกที่ต้องการส่งออก HIGH or LOW
delay(ms); ms: ตัวเลขที่หยุดค้างของเวลาหน่วยมิลลิวินาที (unsigned long)

รูปแบบ คำอธิบาย
Serial.begin(speed); ฟังก์ชั่นกำหนดอัตราเร็วของการสื่อสารทางพอร์ตอนุกรม
ค่าความเร็วได้แก่ 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, หรือ 115200
Serial.available(); ฟังก์ชั่นตรวจสอบว่ามีข้อมูลเข้ามายังพอร์ตอนุกรมหรือไม่
Serial.read(); ฟังก์ชั่นอ่านข้อมูลที่เข้ามายังพอร์ตอนุกรม
Serial.write(); ฟังก์ชั่นส่งข้อมูลขนาด 8 bit ต่อการส่ง 1 ครั้ง
โดยข้อมูลที่ส่งจะเป็นข้อมูลที่อยู่ในตัวแปรที่เป็นชนิด char หรือ byte
Serial.print(); ฟังก์ชั่นส่งข้อมูลที่รองรับข้อมูลทุกชนิด เมื่อส่งเสร็จเคอร์เซอร์จะรออยู่ท้ายข้อมูลที่ส่งออกไป
Serial.prinln(); ฟังก์ชั่นส่งข้อมูลที่รองรับข้อมูลทุกชนิด เช่นเดียวกับ .print ต่างกันตรงที่ เมื่อส่งเสร็จเคอร์เซอร์จะขึ้นบรรทัดใหม่
หมายเหตุ
   1. หมายเลข pin สามารถใช้ตัวเลข GPIO ได้โดยตรง
   2. ขาพอร์ต GPIO34, GPIO35, GPIO36, GPIO39 ใช้งานได้เฉพาะอินพุทเท่านั้น
100
IOT : Internet of Thing (ESP32) / การเรียนรู้ครั้งที่ 3 [Basic ESP32] การใช้งานพอร์ตอนุกรม
« กระทู้ล่าสุด โดย admin เมื่อ มกราคม 08, 2019, 09:41:41 PM »
   การสื่อสารผ่านทางพอร์ตอนุกรมเป็นการส่งข้อมูลไปทีล่ะบิตโดยใช้เทคนิคการเลื่อนข้อมูลบนสายสัญญาณเส้นเดียว การส่งข้อมูลแบบอนุกรมนี้จะไม่มีการส่งสัญญาณนาฬิกาจากตัวส่งไปยังตัวรับ แต่จะอาศัยวิธีตั้งค่าความเร็วในการรับส่งสัญญาณให้เท่ากัน ซึ่งเรียกว่า “อัตราบอด” โดยเรียกทับศัพท์ว่า “บอดเรต” (baud rate) ค่าความเร็วมาตรฐานที่พอร์ตอนุกรมส่วนใหญ่สามารถใช้งานได้คือ 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 ค่าความเร็วนี้มีหน่วยเป็นบิตต่อวินาที (bit per second: bps) การส่งข้อมูลจะส่งบิตเริ่มต้น (Start bit) เพื่อส่งสัญญาณบอกให้ภาครับรับรู้ว่าจะมีการส่งข้อมูลไปแล้วในเวลาอันใกล้นี้และเมื่อส่งข้อมูลเสร็จจะส่งบิตหยุด (Stop bit) เป็นบิตปิดท้ายขบวนข้อมูลในไบต์นั้น ๆ


ตำแหน่งขาที่ทำหน้าที่เป็นพอร์ตอนุกรมแบบ UART ของชิพ ESP32 จะเห็นว่ามีพอร์ตอนุกรมอยู่ด้วยกัน 3 พอร์ต


การจัดขาของโมดูล ESP32 รุ่น DevKitC จะมีขาทั้งหมด 38 ขาด้วยกัน และมีพอร์ตอนุกรมครบทั้ง 3 พอร์ตคือ
   1. พอร์ต U0 ขา TXD จะเป็นขา GPIO1 และขา RXD จะเป็นขา GPIO3
   2. พอร์ต U1 ขา TXD จะเป็นขา GPIO10 และขา RXD จะเป็นขา GPIO9
   3. พอร์ต U2 ขา TXD จะเป็นขา GPIO17 และขา RXD จะเป็นขา GPIO16


การจัดขาของโมดูล ESP32 รุ่น DOIT จะมีขาทั้งหมด 30 ขาด้วยกัน และมีพอร์ตอนุกรมเพียง 2 พอร์ตเท่านั้นคือ
   1. พอร์ต U0 ขา TXD จะเป็นขา GPIO1 และขา RXD จะเป็นขา GPIO3
   2. พอร์ต U2 ขา TXD จะเป็นขา GPIO17 และขา RXD จะเป็นขา GPIO16

หน้า: 1 ... 8 9 [10]