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

การวาดวงจรประกอบเอกสาร












เนื่องด้วยโปรเจกเป็น LAB ทดลองเลยต้องมีวงจรประะกอบ LAB หาโปรแกรมอยู่หลายตัวก็ไม่ถูกใจซักตัว
โแกรมวาดวงจรนี่หายากเหลือเกิน ก็เลยได้ตัวอย่างมาจาก http://www.thaimicrotron.com/ เห็นแล้วเข้าท่าดี วงจรสวยงามดูง่ายเพราะเขียนเฉพาะขาที่ใช้ทำให้ดูง่าย เหมาะกับที่จะใช้มาทำเป็น LAB ทดลองสำหรับมือใหม่ ก็เลยหาข้อมูล ปรากฏว่าพี่ท่านเอาโปรแกรมที่สุดยอดมากมาทำ ซึ่งก็คือ โปรแกรม Paint ซึ่งเครื่องเกือบทุกเครื่องจะมีอยู่แล้ว เล่นเอางง เพราะต้องเขียนอุปกรณ์เองทั้งหมด แต่ก็ไม่ยอมแพ้ เอาก็เอาวะ เพื่อผู้ใช้บอร์ดทดลองเราจะได้เข้าใจง่ายๆ แต่โปรแกรมนี้ใช้ยากในความคิดผม ผมเลยเอา โปรแกรม Microsoft Office PowerPoint วาดเอาเพราะมีเครื่องมือในการวาดที่ค่อนข้างครบ ดูๆแล้วน่าจะง่ายกว่า และแล้วก็ได้ออกมาดังรูป ขอขอบคุณ http://www.thaimicrotron.com/ ที่นำความรู้ดีๆมาแบ่งปัน

usb to serial (ต่อ)

หลังจากกัดปริ้นแล้ว ก็ทำการบัดกรีอุปกรณ์ บัดกรียากมากเพราะเป็นอุปกรณ์ SMD แถมยังใช้หัวแร้งอีก ไม่มี HOT AIR พอบักกรีเสร็จทำการเสียบ USB ปั๊บ คันออก เหอะๆ ซวยแล้วเรา หลังจากตรวจเช็คก็สรุปได้ว่าใส่ C กลับขั้ว เหตุผลก็คือ ใครจะไปคิดว่า C แบบ SMD ด้านที่มีขีดสีดำจะเป็นขั้วบวก ไอ้เราก็งง ตั้งแต่เกิดมา ขีดดำเป็นลบทั้งนั้น เปลี่ยนเสร็จทดลองเสียบใหม่ ไม่มีควันแล้ว เริ่มดีใจ แต่มันถามหาไฟล์อะไรไม่รู้ ftdiun2k.ini หาในเน็ตก็มีแต่ของต่างประเทศ บอกโหลดฟรีพอคลิ๊กเข้าไปต้อง LOG IN เออมันโกหกหน้าด้านๆ หาไม่ได้เลยหาในเครื่องตัวเองไปเจอที่ C:\WINDOWS\system32 ก็เลยผ่าน จากนั้นทดลอง LOOP BACK ก็ไม่ได้อีก ปัญหาเยอะจริงๆ เลยกลับไปดูลายวงจร งานเข้าอย่างแรง ออกแบบลายวงจรผิดขา แล้วถ้าจะแก้ต้องออกแบบใหม่อีก เพราะมันวิ่งข้ามเส้นไม่ได้ ก็เลยเอาสาย WIRE LAB มาต่อก่อน ทดลอง LOOP BACK ได้แล้ว ดีใจมากๆ เก็บของกลับหอ แต่มันยังไม่จบครับพี่น้อง กลับหอมาด้วยความดีใจ ทดลองต่อไม่ได้ต่อ LOOP BACK ทดลองส่ง อ้าว กลับมาได้ไง มัน LOOP BACK ในตัวมันเองเซ็งมาก เอาเลนส์กล้อง 10X มาส่องดู ดูไปดูมาตั้งนานก็ไม่ได้มีอะไรช๊อต รึว่ามันพังตั้งแต่ควันออก C แล้ว ก็เลยนั่งอ่าน DATASHEET เจอแล้ว ลืมต่อสายอีกเส้น พอต่อเสร็จ ทดลองเสียบ USB ใช้งานได้ โล่งอก สบายแล้ว ได้บทเรียนอันสำคัญไปเยอะเหมือนกัน สุดท้ายนี้ ใครอยากลองทำเองก็ได้นะถ้าคิดว่าตาดีพอ เพราะอุปกรณ์เล็กมากๆ ต้องใช้ PIN SET ช่วยจับ แต่ก็ยังไม่พ้นมือสั่นอีก ลำบากมาก ขอบอก ส่วนรูปเดี๋ยวเอามาลงครับ กล้องอยู่ แต่ MEM ไม่อยู่ 555

วันจันทร์ที่ 21 ธันวาคม พ.ศ. 2552

usb to serial







ออกแบบ usb to serial ตั้งนานตอนนี้ลายปริ้นเสร็จแล้วเหลือทดสอบ เอาไปดูหน้าเดียวก่อนนะครับ เดี๋ยวโดนก๊อบ อิอิ ว่าแต่ใครจะมาก๊อบ !!!! ตัวนี้ไม่มี MAX232 ทำให้สามารถต่อกับ MCU ได้โดยตรงเลย (สบายล่ะซิทีนี้) คิดถึงแต่ก่อนต้องมานั่นต่อ MAX232 เพื่อที่จะ Debug ออกมาดู ทำเสร็จแล้วจะเอามาขายเด้อ อิอิ ไม่แพงหรอกครับ 300-350 นี่ล่ะครับ ดูต้นทุนก่อน แต่คงไม่เกินนี้ ไม่เกิน มกราคมปีหน้่าได้คงได้เห็นกันครับ เรียนจบเดี๋ยวจะออกแบบอุปกรณ์ทำหุ่นยนต์ขายดีกว่า เน้นถูก ดี ทน ซ่อมเองง่าย ก็อบปี้ง่าย 555++ แล้วจะได้ขายรึเปล่านี่ ตอนนี้เหนื่อยกับการสอบมากๆ

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

RF TLP/RLP 433 MHz






























ยืมของเค้ามาเล่น 555 สาเหตุที่ห่างหายไปนานไม่ได้มาอัพเดทบล๊อกซักทีเพราะต้องทำโปรเจกจบครับบวกกับเอาเงินไปทำโปรเจกหมด ก็เลย ... อ่ะนะ หลังจากเหนื่อยจากการทำโปรเจกจบซึ่งไม่เสร็จสักที ปัญหามาเรื่อยๆ มันจะมาอะไรกันนักหนา เอ้าเข้าเรื่อง เห็นน้องทดลอง โมดูล RF โดยต่อ Encoder เอาแล้วมันนั่งทำทั้งวันจนสามทุ่ม ก็เลยบอกยืมมาเล่นหน่อย ได้แล้วรีบกลับห้องมาถึงก็เอาบอร์ดทดลอง ที่ทำเป็นโปรเจกมาใช้ เป็นการทดสอบไปในตัว 555 ไอ้เราก็ต่อสายตามดาต้าชีต ไม่ออกแฮะ ต่อไปต่อมา ออกแต่เป็นขยะ เออเอาเข้าไป เลยหาข้อมูลในเน็ตเค้าว่าขยะออกมาเยอะมาก ต้องเขียนส่งค่า 0x55 ก่อน ตามด้วยค่าเช็คอะไรซักอย่าง ค่อยตามด้วยข้อมูล แล้วต่อด้วย Chack Sum ไอ้เราก็ง่วงนอนแล้ว 5 ทุ่ม ก็เลยเอาโค็ด GPS ที่เขียนใว้มาแก้ ไม่ต้องมี Chack Sum หรอกเดี๋ยวไม่ได้นอน ทำไปทำมาเออ เป็นอย่างที่เค้าว่า ใช้ได้ แต่ใช้ baud=1200 มากกว่านั้น ขยะเยอะมากทั้งที่โมดูลบอกได้ถึง 4800 ผมว่าใครจะซื้อมาเล่นก็ได้อยู่แต่เอาจริงๆ จังๆให้ทำงานซักอย่างคงไม่เหมาะ แต่มันก็ขึ้นกับโปรแกรมด้วยนะครับ ผมอาจจะเขียนไม่ดีเอง เอ้ามาดูโค๊ดกันดีกว่า เดี๋ยวจะเบื่อผมซะก่อน เดี๋ยวรูปตามมานะครับ กล้องมีคนเอาไปลืมเอารูปออก

ตัวรับครับ

#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=1200, xmit=PIN_C6, rcv=PIN_C7,stream=GPS,errors)

#include
#include

char key_char[20];
int8 key_int=999;

void read_key(void);

void read_key(void)
{
char c=0;
char buffer[25];
char k=0;
char sentent[]="RMC";
int8 i=0,j=0,key_count=0;
do
{
while ( fgetc(GPS) != '$' );

for (k=0;k<5;k++) c =" fgetc(GPS);" i="0;i

output_toggle(PIN_D0);
}
}
}

ตัวส่งครับ

#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)
#use rs232(baud=1200, xmit=PIN_C6, rcv=PIN_C7)

void main()
{
while (TRUE) {
delay_ms(1000);
printf("%x%x%x%x%x%x$RMC,99,*",0x55,0x55,0x55,0x55,0x55,0x55);
}
}


จากโค๊ดจะเห็นได้ว่าผมส่ง 555555555555$RMC,99,* ออกไป เมื่อตอนรับก็จะเช็ค $ แล้วเช็ค RMC แล้วค่อยเก็บค่า ก็จะได้ ,99, เมื่อเจอ * ก็จะเป็นการสิ้นสุดการรับ จากนั้นก็มาตัดเอาแต่ ตัวที่อยู่ใน ,xx,
ก็จะได้ค่าที่เราส่งไป หลังจานั้นก็จะเอาไปทำอะไรก็แล้วแต่การประยุกต์ครับ

กลับไปทำการบ้านก่อนครับ ช่วงนี้ใกล้สอบด้วย เหนื่อยจริงๆ ไหนจะโปรเจกอีก bye bye