หัวข้อ: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: sit50 ที่ มกราคม 07, 2011, 02:43:19 pm ต้องการให้วงจรกินไฟเฉพาะเมื่อกดสวิทช์สั่งงานเท่านั้น
รูปแสดงวงจรที่กดสวิทช์แล้วทำงานทันที แต่เมื่อปล่อยสวิทช์วงจรจะหยุดทำงานทันทีด้วยเช่นกัน หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: sit50 ที่ มกราคม 07, 2011, 02:44:18 pm แต่ต้องการให้เมื่อปล่อยสวิทช์วงจรยังทำงานต่อได้อีกช่วงหนึ่ง
จึงเขียนโปรแกรมให้ขา I/O ขาที่ 1 ของ pic16F819 จ่ายไฟไป trig ขา B ของ C9013 เพื่อป้อนไฟเลี้ยงให้วงจรอีกระยะหนึ่ง ตามรูป แต่ปรากฎว่ายังไม่ทันกดสวิทช์ ขา B ของ C9013 ก็ถูก trig โดยขา 1 ของ 16F819 ทำให้วงจรทำงานทันที พอมีคำแนะนำมั๊ยครับ ขอบคุณครับ หัวข้อ: Re: ทำยังไงให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: kiano♥ ที่ มกราคม 07, 2011, 04:45:56 pm ทำไมมันทำงานเองได้ล่ะ??
ลองเพิ่มอาร์เข้าไประหว่างขา B-E ตามรูป อาการทำงานเองหายไหม ถ้าไม่อยากให้มันกินไฟ ทำไมไม่ให้มันทำงานในโหมดสลีปล่ะ?? หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: JUB ที่ มกราคม 07, 2011, 07:41:30 pm จะเอาไปใช้ทำอะไรครับ...... :)
หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: sit50 ที่ มกราคม 07, 2011, 08:11:12 pm เอาไปทำรีโมทครับ ใช้กับถ่าน 25A12V ก็เลยต้องการให้ใช้กระแสเมื่อกดปุ่มสั่งงานเท่านั้น
หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: kiano♥ ที่ มกราคม 07, 2011, 08:18:56 pm ตัวอย่างที่ผมเคยหามาเก็บไว้ แต่ยังไม่ได้ลองทำซักอัน
http://www.4shared.com/file/VCBtbup7/All_-_Microcontroller_Remote.html หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: JUB ที่ มกราคม 07, 2011, 11:53:51 pm เอาไปทำรีโมทครับ ใช้กับถ่าน 25A12V ก็เลยต้องการให้ใช้กระแสเมื่อกดปุ่มสั่งงานเท่านั้น กำ..... sleep!! ใช้ mode sleep ของ pic ก็ได้ครับ 12F675 ก็พอ ตอนมัน sleep นี่ใช้ มิเตอร์วัดกระแสเข็มไม่กระดิกเลยครับ ไม่เชื่อลองดูได้เลย... หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: sit50 ที่ มกราคม 08, 2011, 06:36:09 am แหะๆๆๆ mode sleep มีหลักการเขียนโปรแกรมเพื่อใช้ Sleep();ยังงัยครับ คือใส่ที่บรรทัดแรกของ main เลยหรือว่ายังงัยครับ
แล้วมันตื่นเองเมื่อกด sw ด้วยคำสั่งอะไรครับ ขอบคุณครับ หมายเหตุ ผมใช้ CCS ครับ หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: JUB ที่ มกราคม 08, 2011, 09:22:43 am ลองศึกษาจาก link พวกนี้ครับ...
http://picprojects.co/projects/ir/minirem/index.htm http://www.sixca.com/eng/articles/remote/index.html หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: kiano♥ ที่ มกราคม 08, 2011, 10:10:35 am (http://i962.photobucket.com/albums/ae101/kiano555/leksound-IR/Flow.png)
จากรูปด้านบน เป็นโฟวชาร์ทตัวอย่างแสดงถึงการทำงานของ sleep mode อธิบายการทำงานได้ดังนี้ - รับค่าจากยูสเซอร์ มีการกดสวิทช์หรือไม่ ถ้ามีการกดสวิทช์ ให้ไปทำงานที่โปรแกรมรับค่าการกดสวิทช์ - ถ้าไม่มีการกดสวิทช์ ให้ไปตั้งค่ารอรับการอินเตอร์รัพ เช่น Timer Over Flow, Interrupt on pin change เพื่อเป็นการปลุก CPU ให้ตื่นเมื่อมีการอินเตอร์รัพตามที่ตั้งเอาไว้ - Sleep (โอม เจ้าจงหลับเถิด จะได้ประหยัดไฟ) - ถ้ามีการอินเตอรัพ ตามที่ได้ตั้งค่าเอาไว้ CPU จะตื่น แล้วจะกระโดดไปทำงานในโปรแกรมอินเตอร์รัพ ถ้าไม่มีโปรแกรมอินเตอร์รัพ มันก็จะทำงานบันทัดต่อไป (แถวต่อไป) ในการเซตค่ารอรับการอินเตอร์รัพ ให้ไล่ดูตาม รูปด้านล่างนี้ ว่าเราต้องการให้ตัวไหนทำงานบ้าง แล้วให้ไปดูว่า ค่าบิตต่างๆในรูป อยู่ใน Register ไหนบ้าง ก็ให้ไปเซตใน Register นั้นๆ (http://i962.photobucket.com/albums/ae101/kiano555/leksound-IR/Interrupt.png) หัวข้อ: Re: ทำยังงัยให้กดสวิทช์แบบกดติดปล่อยดับแล้วจ่ายกระแสได้อีกช่วง เริ่มหัวข้อโดย: sit50 ที่ มกราคม 09, 2011, 07:56:56 am ขอบคุณมากครับ ที่อธิบายหลักการใช้ sleep จะทดลองใช้ดูครับ
|