ผู้เขียน หัวข้อ: ลายปริ้นวงจรบอร์ดทดลองไมโครคอนโทรลเลอร์เวอร์ชั่น 2025  (อ่าน 1915 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
ลายปริ้นวงจรบอร์ดทดลองไมโครคอนโทรลเลอร์เวอร์ชั่น 2025

ลายปริ้นที่ใช้ศึกษาในวิชาไมโครคอนโทรลเลอร์ (Arduino) เวอร์ชั่น 2025 นี้ได้ปรับปรุงจากเวอร์ชั่น 2022 โดยเพิ่มจุดเชื่อมต่อโมดูลภายนอกอีกหลายตัวเช่น
  1. โมดูลแสดงผล 7 Segment 4 Digit ที่ใช้ไอซี TM1637
  2. โมดูลแสดงผล 7 Segment 4 Digit แบบ i2c ที่ใช้ไอซี HT16K33 
  3. โมดูลแสดงผล 7 Segment 8 Digit ที่ใช้ไอซี 74HC595
  4. โมดูลแสดงผล 7 Segment 8 Digit ที่ใช้ไอซี MAX7219
  ภาคจ่ายไฟมีคอนเน็คเตอร์ USB สำหรับใช้แหล่งจ่ายไฟข้างนอกในกรณีที่โหลดใช้กระแสสูงเพื่อป้องกันไดโอดในบอร์ด Auduino เสียหาย (กรณีที่ไม่ได้ใช้กระแสสูงยังสามารถใช้ไฟที่ผ่านทางสาย USB ที่เสียบเข้าบอร์ด Arduino ได้เช่นกัน) แผ่นลายวงจรมีขนาดเท่าเดิมคือขนาด  6x4 นิ้ว รูปแบบของแผงวงจรเป็นดังรูป


ไฟล์ต้นแบบลายปริ้น (Gerber) สำหรับส่งโรงงานผลิต //ขนาดสั่งทำ 102mm x 153mm
https://drive.google.com/file/d/1KFONZVBLjn27lhdBK64qHnZWX41eLIbM

ไฟล์แบบตัดพลาสติกด้วยเลเซอร์สำหรับฐานรองกันชอร์ตพื้น (CorelDraw)
https://drive.google.com/file/d/1ZPX9yCYlgKB0mjpS4YQPlyRMbM_iK6V2
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 11:36:56 AM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
รายการอุปกรณ์
web www.es.co.th
ลำดับที่รายการ จำนวนตัว
10.1uF1
21N58171
3LED 3 mm1
47-Segment LTC-47271
5MINI-USB Connector1
6STEPPING-MOTOR-CON1
7Terminal Box2
8Switch Tact8
web www.allnewstep.com
ลำดับที่รายการ จำนวนตัว
1Breadbroad 170hole1
2DHT111
3Female Header 1x101
4Female Header 1x141
5Female Header 1x152
6Female Header 1x216
7Female Header 1x35
8Female Header 1x46
9Female Header 1x4-90degree2
10Female Header 1x5-90degree2
12Female Header 1x51
13Female Header 1x82
14IC: DS18B201
15IC: L293D1
16IC: ULN28031
17IC: LM351
18LDR1
19LED-BAR 10  digit1
20NTC Thermistor 10k1
21Pin Header Connector 1x40 Black1
22Pin Header Connector 1x40 Red1
23Pin Header Connector 1x40 90degree1
24POTRV09 10k1
25POT-LCD 10k1
26Resistor 10k2
27Resistor 1k5
28Resistor 22023
29Resistor 4k72
30Resistor 6801
31TR: BC5474
32น็อตสกรู M34
33เสาน็อตไนลอน4
34I.C. SOCKET DIP 16 PINS1
35I.C. SOCKET DIP 18 PINS1
โมดูลเพิ่มเติมตามใบงาน
1Arduino Nano1
27 segment 4 digit HT16K33(i2c) 1
37 segment 4 digit TM16371
47 segment 4 digit 74HC5951
57 segment 8 digit MAX72191
6LCD 16char 2 Line1
7LCD 16char 2 Line i2c1
8OLED i2c1
9DC motor1
10Stepper Motor 5V1
11Wire jumper แบบแยกเส้น1
12Wire jumper แบบแพ1
ตัวต้านทานที่ไม่สามารถสั่งผ่านเวปได้ (สามารถใช้ค่าใกล้เคียงได้)
1Resistor 820 1/4w1
2Resistor 2k7 1/4w1
รายการอุปกรณ์ร้าน allnewstep บางรายการมีจำนวนมากกว่า 1 ชิ้นต่อการซื้อ 1 ครั้งให้สังเกตุก่อนการกดซื้อ
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 07:24:09 AM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์

การเชื่อมต่อในภาคต่าง ๆ บนบอร์ดทดลอง

วงจรเชื่อมต่อในบอร์ดทดลอง เชื่อมต่อไว้แล้ว ผู้ใช้งานเชื่อมต่อเอง
วงจรเซนเซอร์อุณหภูมิ LM35 -
วงจรเซนเซอร์แสง LDR -
วงจรเซนเซอร์อุณหภูมิ NTC -
วงจรเซนเซอร์อุณหภูมิ DS18B20 -
วงจร 10 bit LED -
วงจร DC Motor -
วงจร Stepper Motor -
วงจร Servo Motor -
วงจรเซนเซอร์อุณหภูมิ DHT11 -
วงจรสวิตช์เอาต์พุตดิจิทัล -
วงจรสวิตช์เอาต์พุตแอนะล็อก -
วงจรแสดงผล 7 Segment 4 หลัก -
วงจรแสดงผล 7 Segment ชิพ TM1637 -
วงจรแสดงผล 7 Segment ชิพ 74HC595 -
วงจรกำเนิดค่าแรงดันแอนะล็อก (Potentiometer) -
วงจรอุณหภูมิระยะทาง Ultrasonic -
วงจรแสดงผล 7 Segment ชิพ MAX7219 -
วงจร LCD -
วงจร Keypad -
วงจรแสดงผล 7 Segment ชิพ HT16K33(i2c) -
วงจรแสดงผล OLED i2c -
วงจรแสดงผล LCD 16x2 i2c -
หมายเหตุ
   1. วงจรที่เชื่อมต่อไว้แล้วที่เป็นวงจรที่มีไฟเลี้ยง วงจรนั้น ๆ จะเชื่อมต่อไฟเลี้ยงและกราวด์ไว้ให้แล้ว
   2. วงจรที่ไม่ได้เชื่อมต่อไว้ให้ เนื่องจากให้ผู้ใช้งานสามารถเลือกใช้การเชื่อมต่อกับขาพอร์ตที่ต้องการได้
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 10:51:13 AM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรแสดงผล 7 Segment ชิพ MAX7219



ตัวอย่างโค้ด
โค๊ด: [Select]
#include "LedControl.h"
LedControl lc=LedControl(11,13,10,1); // 11->DIN,13->CLK,10->CS,1->1devices
void setup()
{
  lc.shutdown(0, false);   // Enable display
  lc.setIntensity(0, 5);  // Set brightness level (0 is min, 15 is max)
  lc.clearDisplay(0);      // Clear display register
  Serial.begin(9600);
}
void loop()
{
  byte x, y, z;
  int i;
  for (i = 0; i < 1000; i++)
  {
    Serial.println("--" + String(i));
    x = i / 100;                    //hundred digits
    y = (i % 100) / 10;             //tens digit
    z = i % 10;                     //unit digit
    lc.setDigit(0, 3, x, false);
    lc.setDigit(0, 2, y, false);
    lc.setDigit(0, 1, z, false);
    delay(100);
  }
}
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 11:58:24 AM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรแสดงผล LCD เชื่อมต่อแบบ 4 บิต



ตัวอย่างโค้ด
โค๊ด: [Select]
#include <LiquidCrystal.h>
/* The circuit:
 * LCD RS pin to digital pin 13
 * LCD E  pin to digital pin 12
 * LCD D4 pin to digital pin 4
 * LCD D5 pin to digital pin 5
 * LCD D6 pin to digital pin 6
 * LCD D7 pin to digital pin 7
 * LCD R/W pin to ground
*/
LiquidCrystal lcd(13,12,4,5,6,7);   // set up the LCD's connection pins
void setup()
{
  lcd.begin(16, 2);               // set LCD size
  lcd.print("hello, world!");
}
void loop() {}
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 12:04:58 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรคีย์แพด




ตัวอย่างโค้ด
โค๊ด: [Select]
#include <Keypad.h>
#define LED 5
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};
byte rowPins[ROWS] = {6,7,8,9}; // Pins connected to R1, R2, R3, R4
byte colPins[COLS] = {10,11,12};      // Pins connected to C1, C2, C3
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup()
{
  Serial.begin(9600);
  pinMode(LED,OUTPUT);
}
void loop()
{
  char key = keypad.getKey();
  if (key)
  {
    Serial.println(key);
    digitalWrite(LED,HIGH);delay(200);
    digitalWrite(LED,LOW);
  }
}
« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 12:06:05 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรแสดงผล 7 Segment ชิพ HT16K33(i2c)




ตัวอย่างโค้ด
โค๊ด: [Select]
/* pin connection
  + -> 3.3-5V
  - -> GND
  D -> SDA (A4)
  C -> SCL (A5)
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"
Adafruit_7segment display = Adafruit_7segment();
void setup() {
  display.begin(0x70);
  display.clear();
}
void loop() {
  byte x, y, d;
  bool blinkColon = false;
  display.println("Abcd");
  display.writeDisplay();
  delay(5000);
  for (int i = 0; i < 99; i++) {
    display.println(i);
    display.writeDisplay();
    delay(50);
  }
  for (float f = 0; f < 5; f += 0.01) {
    display.println(f);
    display.writeDisplay();
    delay(50);
  }
  for (float f = 10; f < 50; f += 0.1) {
    x = int(f) / 10;
    y = int(f) % 10;
    d = int(f * 10) % 10;
    display.println("   C");
    display.writeDigitNum(0, x, false);
    display.writeDigitNum(1, y, true);
    display.writeDigitNum(3, d, false);
    display.writeDisplay();
    delay(50);
  }
  for (int i = 0; i < 10; i++) {
    display.println(1234);
    blinkColon = !blinkColon;
    display.drawColon(blinkColon);
    display.writeDisplay();   
    delay(1000);
  }
}

« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 12:07:37 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรแสดงผล OLED




ตัวอย่างโค้ด
โค๊ด: [Select]
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET    -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C //Address OLED
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
int x;
void setup() {
  Serial.begin(9600);
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
}
void loop(){
  display.clearDisplay();
  display.setTextColor(WHITE,BLACK);   //Text is white ,background is black
  display.setCursor(0, 0);
  display.setTextSize(2);
  display.println("OLED ");
  display.setTextSize(1);   
  display.println("Arduino Laboratory");
  display.setTextColor(BLACK,WHITE); // 'inverted' text
  display.print("www.praphas.com");
  display.setTextColor(WHITE,BLACK); // 'inverted' text again
  display.setCursor(60,0);
  display.setTextSize(2); 
  display.println(x,DEC);
  display.display(); //
  x++;
  delay(250);
}


« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 12:08:53 PM โดย admin »

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 713
    • ดูรายละเอียด
    • อีเมล์
สายสัญญาณที่เชื่อมต่อไว้แล้ว
วงจรแสดงผล LCD i2c




ตัวอย่างโค้ด
โค๊ด: [Select]
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);  /* 0x27 for PCF8574 and 0x3F for PCF8574A*/
void setup()
{
  lcd.init();
  lcd.backlight();
  lcd.setCursor(2,0);
  lcd.print("Hello, world!");
  lcd.setCursor(4,1);
  lcd.print("LCD i2c Lab");
}
void loop()
{
}


« แก้ไขครั้งสุดท้าย: วันนี้ เวลา 12:09:52 PM โดย admin »