วันอาทิตย์ที่ 25 ธันวาคม พ.ศ. 2559

STM32F103C เป็น Arm แต่โปรแกรมด้วย Arduino

เป็นความผิดพลาดในการซื้อ เลยได้ Arm แทน Arduino แต่ก็ได้ พบว่ามัน เร็วกว่ามาก
STM32F103 เป็น CPU ARM โปรแกรมได้ ทั้ง Arm Development และ Arduino แต่ การใช้เริ่มใช้งาน
ยากพอสมควร อย่างแรก ต้องมี โปรแกรมเมอร์ Device ที่เป็น USB
ST-Link V2

การต่อวงจรต้องต่อตรงขาระหว่าง ST-Link กับ STM32F103C ดูจาก ที่ Print ใว้ทั้งคู่
   ได้แก่ SWDIO,GND,SWCLK,3.3V ต้องเรียงสายใหม่
Reference 


เรื่องยากที่สุดคือ Software
1. ต้องหาDriver 
http://www.waveshare.com/wiki/ST-LINK/V2_(mini)
https://www.arduinoall.com/product/1170/st-link-v2-stlink-mini-stm8-stm32-programer-คละสี

2. ลง Arduino IDE ให้เอา Version มากกว่า 1.6.5
3.  copy Arduino_STM32 จาก Reference เขา ไปใน folder arduino\Hardware
4. Board Manager
Arm Cortex M3
เลือก Upload
เลือก Board STM32F103 Generic

ตัวอย่าง ต้องเปลี่ยน IO เป็นชื่อของ STM32 เช่น Port 13 ต้องเป็น PC13 เป็นต้น




วันเสาร์ที่ 3 ธันวาคม พ.ศ. 2559

Node MCU สั่ง Servo

Servo Futaba เป็น Servo ยอดนิยม


ขา ขาว จะเป็น Signal แดง +5 ดำ Ground 
ต่อกับ NodeMcu ให้ต่อ แดง กับ Vin 
ขาขาว เขา D0-D8 อันใหนก็ได้

ยกตัวอย่าง D6

คำสั่ง
pwm.setup(6,50,71) 
--set Zero
pwm.setduty(6,<มุม>) --  27=-90,71=0,123=90
--Move


ตัวอย่าง
สั่ง Servo กับ LDR

function doSv()
 rv = adc.read(0)
 sv = 27+(rv-50)/4
 pwm.setduty(6,sv)
 --tmr.delay(10000)
 print(sv)
end

pwm.setup(6,50,71)
tmr.alarm(0,100,1,doSv)

Node MCU อ่านค่าจาก LDR

การต่อ LDR สามารถ ต่อได้ เป็น อนุกรม จาก ขา Vin กับ Ground โดยให้ LDR ต่อลง G และ ขั่วตรงกลาง ต่อ เข้า A0 เป็น Port Analog

V ที่ A0 = Vin*R2/(R1+R2)

การอ่านค่า

= print(add.read(0))

ค่า ที่อ่านได้จาก Node MCU มี แสงกับ ไม่มีแสง ระหว่าง 50-600



วันอังคารที่ 8 พฤศจิกายน พ.ศ. 2559

วันศุกร์ที่ 28 ตุลาคม พ.ศ. 2559

เรื่องของ IOT NodeMCU (ESP8266)

เป็น IC ที่ เป็น Integrate computer เข้าไป โดย มี Input output 10 ports 1 Analog ports
โดยมีภาษา ชั้นสูง Lua ในการสั่งทำงาน และ มี Wifi ในตัว


การใช้งาน จะใช้สาย USB หัวเล็กในการเชื่อมกับ pc windows หรือ osx ก็ได้
สำหรับการพัฒนาโปรแกรม จะมี
ESplorer ที่เป็น Java ในการเขียนโปรแกรมและ upload

http://esp8266.ru/esplorer/

สำหรับ Firmware จะมี tools
Flash Lua


ตัวอย่าง


ตัวอย่าง Hello สำหรับ Web ผ่าน Wifi
print(wifi.sta.getip())
--nil
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","PASSWORD")
print(wifi.sta.getip())
--192.168.18.110
-- a simple http server
srv=net.createServer(net.TCP) 
srv:listen(8080,function(conn) 
    conn:on("receive",function(conn,payload) 
    print(payload) 
    conn:send("<h1> Hello, NodeMcu.</h1>")
    end) 
end)

ดูใน web จะแสดง Hello, NodeMcu

ขา LED


วันศุกร์ที่ 23 กันยายน พ.ศ. 2559

Driver A4982 กับ A4988

Step motor Driver A4982 กับ A4988


ต่างกันที่ A4988 มี Over Load protection และ Micro Step ไม่เหมือนกัน การปรับกระแส เป็น 1volt=1Amp

A4988
แทน 4982 1:16 ตัดขา MS3 และ เชื่อม MS2+MS3

MS1 MS2 MS3 microstep
L L L 1
H L L 1:02
L H L 1:04
H H L 1:08
H H H 1:16

A4982

MS1 MS2 microstep
L L 1
H L 1:02
L H 1:04
H H 1:16

วันอังคารที่ 13 กันยายน พ.ศ. 2559