การใช้งานไมโครคอนโทรลเลอร์ PSoC กับดิจิตอลเทอร์โมมิเตอร์ DS18B20 หรือ DS1820
ซึ่งเป็น 1-Wire interface.
(Using the PSoC microcontroller with 1-Wire interface DS18B20 or DS1820 digital thermometer.)
ในตัวอย่างนี้ จะใช้ Module OnewireSW (Onewire softwire) ก่อนใช้ OneWireSW กับ PSoC Designer Version 4.3 และ 4.4 ให้ตรวจดูว่าในกลุ่ม Digital Comm มี OneWireSw อยู่หรือไม่ ถ้าไม่มีให้ทำดังนี้
ดาวน์โหลดไฟล์โมดูล OneWire จาก http://www.psocdeveloper.com/tools/misc-dev-tools.html
ทำการ Unzip ไฟล์ One wire user modul เก็บใว้ใน ไดเรคตอรี่ "Program Files\Cypress Microsystems\PSoC Designer\Data"
เปิดโปรแกรม PSoC Designer โดยไม่ต้องเปิดโปรเจคไดๆ
Execute the Tools >> Refresh Manifest menu. (รันคำสั่งในเมนู Tools >> Refresh Manifest)
เท่านี้ก็ได้ One wire อยู่ในกลุ่ม Digital Comm
กรณีที่เป็น PSoC Designer 5 ให้ทำดังนี้
นำมาจาก http://www.electoday.com/bbs/viewthread.php?tid=568 โดยคุณ mcu_model
ดาวน์โหลดไฟล์โมดูล OneWireSW จาก http://www.psocdeveloper.com/tools/misc-dev-tools.html (หรือดาว์นโหลดจากหน้านี้) ทำการ unzip file แล้ว คัดลอกเฉพาะโฟลดเดอร์ OneWireSW มาเก็บไว้ใน folder: C:\Program Files\Cypress\Common\CypressSemiDeviceEditor\Data\Stdum
เปิดแฟ้ม ChannelGen.xml ที่อยู่ใน C:\Program Files\Cypress\Common\CypressSemiCMX\Maker Application Catalog\Channels\UM\ChannelGen.xml ด้วย notepad
ใส่ข้อมูลต่อไปนี้ ใว้ใกล้ๆกับ Onewire
<CMX_CHANNEL_GENERATION_SPEC NAME="OneWireSW" UM_PATH="StdUM/OneWireSW/OneWireSW.xml" UM_NAME="OneWireSW" DRIVER_ICON="">
<CMX_MULTI_CHANNEL_LIST>
</CMX_MULTI_CHANNEL_LIST>
</CMX_CHANNEL_GENERATION_SPEC>
เปิด Designer ขึ้นมา โปรเจคอะไรก็ได้ แล้วไปที่เมนู Tools -> Refresh Driver/User Module Manifest
ปิด โปรเจคที่เปิดไว้ แล้วปิดเจ้า Designer ซะด้วยเลย
เปิด designer ขึ้นมาใหม่อีกรอบ คราวนี้จะมี OnewireSW อยู่ใกล้ๆ กับเจ้า Onewire hardware
วงจรสำหรับการทดลอง (Logic diagram)
ผลการทดลองเมื่อให้แสดงค่าอุณหภูมิในรูปแบบตัวอักษรทศนิยม 4 หลัก
โปรแกรมนี้อยู่ใน คู่มือการทดลองสำหรับ DS18B20
ผลการทดลองเมื่อให้แสดงค่าอุณหภูมิในรูปแบบตัวอักษรทศนิยม 4 หลักและรูปกราฟแท่งในแนวนอน
ถ้าใช้ DS18B20 ให้ใช้ไฟล์ Hex file
แต่ถ้าใช้ DS1820 ให้ใช้ไฟล์ lab7_2_1820.hex
ผลการทดลองเมื่อให้แสดงค่าอุณหภูมิในรูปแบบตัวอักษรทศนิยม 4 หลักและรูปกราฟแท่งในแนวนอน 2 ชุด แทนค่าอุณหภูมิที่เป็นเลขจำนวนเต็มและค่าอุณหภูมิที่เป็นเลขทศนิยมเพื่อให้เห็นการเปลี่ยนแปลงอย่างชัดเจน
ไฟล์สำหรับทดสอบ Hex file