ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง
LSVคลังสมองออนไลน์ "ปีที่21"
พฤษภาคม 01, 2024, 08:49:19 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง  (อ่าน 9839 ครั้ง)
sit50
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 8


« เมื่อ: มกราคม 07, 2011, 02:43:19 PM »

ต้องการให้วงจรกินไฟเฉพาะเมื่อกดสวิทช์สั่งงานเท่านั้น

รูปแสดงวงจรที่กดสวิทช์แล้วทำงานทันที แต่เมื่อปล่อยสวิทช์วงจรจะหยุดทำงานทันทีด้วยเช่นกัน


บันทึกการเข้า

sit50
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 8


« ตอบ #1 เมื่อ: มกราคม 07, 2011, 02:44:18 PM »

แต่ต้องการให้เมื่อปล่อยสวิทช์วงจรยังทำงานต่อได้อีกช่วงหนึ่ง
จึงเขียนโปรแกรมให้ขา I/O ขาที่ 1 ของ pic16F819 จ่ายไฟไป trig ขา B ของ C9013 เพื่อป้อนไฟเลี้ยงให้วงจรอีกระยะหนึ่ง ตามรูป
แต่ปรากฎว่ายังไม่ทันกดสวิทช์ ขา B ของ C9013 ก็ถูก trig โดยขา 1 ของ 16F819 ทำให้วงจรทำงานทันที

พอมีคำแนะนำมั๊ยครับ

ขอบคุณครับ
บันทึกการเข้า
kiano♥
kiano555@gmail.com
กลุ่มสนับสนุนLSV+มีน้ำใจ
member
****

คะแนน337
ออฟไลน์ ออฟไลน์

กระทู้: 570


การให้น่าภูมิใจกว่าได้รับ Line ID : Tech64

kiano555@windowslive.com kiano555@yahoo.com
เว็บไซต์ อีเมล์
« ตอบ #2 เมื่อ: มกราคม 07, 2011, 04:45:56 PM »

ทำไมมันทำงานเองได้ล่ะ??
ลองเพิ่มอาร์เข้าไประหว่างขา B-E ตามรูป อาการทำงานเองหายไหม
ถ้าไม่อยากให้มันกินไฟ ทำไมไม่ให้มันทำงานในโหมดสลีปล่ะ??
บันทึกการเข้า
JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #3 เมื่อ: มกราคม 07, 2011, 07:41:30 PM »

จะเอาไปใช้ทำอะไรครับ......  Smiley
บันทึกการเข้า
sit50
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 8


« ตอบ #4 เมื่อ: มกราคม 07, 2011, 08:11:12 PM »

เอาไปทำรีโมทครับ ใช้กับถ่าน 25A12V ก็เลยต้องการให้ใช้กระแสเมื่อกดปุ่มสั่งงานเท่านั้น
บันทึกการเข้า
kiano♥
kiano555@gmail.com
กลุ่มสนับสนุนLSV+มีน้ำใจ
member
****

คะแนน337
ออฟไลน์ ออฟไลน์

กระทู้: 570


การให้น่าภูมิใจกว่าได้รับ Line ID : Tech64

kiano555@windowslive.com kiano555@yahoo.com
เว็บไซต์ อีเมล์
« ตอบ #5 เมื่อ: มกราคม 07, 2011, 08:18:56 PM »

ตัวอย่างที่ผมเคยหามาเก็บไว้ แต่ยังไม่ได้ลองทำซักอัน
http://www.4shared.com/file/VCBtbup7/All_-_Microcontroller_Remote.html
บันทึกการเข้า
JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #6 เมื่อ: มกราคม 07, 2011, 11:53:51 PM »

เอาไปทำรีโมทครับ ใช้กับถ่าน 25A12V ก็เลยต้องการให้ใช้กระแสเมื่อกดปุ่มสั่งงานเท่านั้น

กำ.....  sleep!!

ใช้ mode sleep ของ pic ก็ได้ครับ 12F675 ก็พอ
ตอนมัน sleep นี่ใช้ มิเตอร์วัดกระแสเข็มไม่กระดิกเลยครับ
ไม่เชื่อลองดูได้เลย...
บันทึกการเข้า
sit50
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 8


« ตอบ #7 เมื่อ: มกราคม 08, 2011, 06:36:09 AM »

แหะๆๆๆ mode sleep มีหลักการเขียนโปรแกรมเพื่อใช้ Sleep();ยังงัยครับ คือใส่ที่บรรทัดแรกของ main เลยหรือว่ายังงัยครับ
แล้วมันตื่นเองเมื่อกด sw ด้วยคำสั่งอะไรครับ
ขอบคุณครับ
หมายเหตุ ผมใช้ CCS ครับ
บันทึกการเข้า
JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #8 เมื่อ: มกราคม 08, 2011, 09:22:43 AM »

ลองศึกษาจาก link พวกนี้ครับ...

http://picprojects.co/projects/ir/minirem/index.htm

http://www.sixca.com/eng/articles/remote/index.html
บันทึกการเข้า
kiano♥
kiano555@gmail.com
กลุ่มสนับสนุนLSV+มีน้ำใจ
member
****

คะแนน337
ออฟไลน์ ออฟไลน์

กระทู้: 570


การให้น่าภูมิใจกว่าได้รับ Line ID : Tech64

kiano555@windowslive.com kiano555@yahoo.com
เว็บไซต์ อีเมล์
« ตอบ #9 เมื่อ: มกราคม 08, 2011, 10:10:35 AM »



จากรูปด้านบน เป็นโฟวชาร์ทตัวอย่างแสดงถึงการทำงานของ sleep mode
อธิบายการทำงานได้ดังนี้

- รับค่าจากยูสเซอร์ มีการกดสวิทช์หรือไม่ ถ้ามีการกดสวิทช์ ให้ไปทำงานที่โปรแกรมรับค่าการกดสวิทช์
- ถ้าไม่มีการกดสวิทช์ ให้ไปตั้งค่ารอรับการอินเตอร์รัพ เช่น Timer Over Flow, Interrupt on pin change เพื่อเป็นการปลุก CPU ให้ตื่นเมื่อมีการอินเตอร์รัพตามที่ตั้งเอาไว้
- Sleep (โอม เจ้าจงหลับเถิด จะได้ประหยัดไฟ)
- ถ้ามีการอินเตอรัพ ตามที่ได้ตั้งค่าเอาไว้ CPU จะตื่น แล้วจะกระโดดไปทำงานในโปรแกรมอินเตอร์รัพ ถ้าไม่มีโปรแกรมอินเตอร์รัพ มันก็จะทำงานบันทัดต่อไป (แถวต่อไป)

ในการเซตค่ารอรับการอินเตอร์รัพ ให้ไล่ดูตาม รูปด้านล่างนี้ ว่าเราต้องการให้ตัวไหนทำงานบ้าง
แล้วให้ไปดูว่า ค่าบิตต่างๆในรูป อยู่ใน Register ไหนบ้าง ก็ให้ไปเซตใน Register นั้นๆ

บันทึกการเข้า
sit50
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 8


« ตอบ #10 เมื่อ: มกราคม 09, 2011, 07:56:56 AM »

ขอบคุณมากครับ ที่อธิบายหลักการใช้ sleep จะทดลองใช้ดูครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2006, Lewis Media

lsv2555Please follow the new website at https://www.pohchae.com

Valid CSS!