পর্ব ৬: এলসিডিতে রাসবেরি পাইয়ের টেম্পারেচার মনিটরিং।

রাসবেরি পাইয়ের সিপিইউ এর তাপমাত্রা মনিটর করা জরুরী। রাসবেরি পাইয়ের ম্যাক্সিমাম অপারেটিং টেম্পারেচার হল ৮৫ ডিগ্রী সেলসিয়াস। রাসবেরি পাই সিপিইউ এর টেম্পারেচার এর চেয়ে বেশি হলে সিপিও ঠান্ডা হবার জন্য তার ক্লক স্পিড নিজে থেকেই কমিয়ে দেবে। আর এর প্রভাব পড়বে পাইয়ের সামগ্রিক পারফর্মেন্সের উপর। রাসবেরি পাইয়ের টেম্পারেচার মনিটরিং সিস্টেম থাকলে আমরা সারাক্ষনই সিপিইউ এর তাপমাত্রা দেখতে পারবো এবং সেই অনুযায়ী হিট সিংক ব্যবহার করে বা কুলিং ফ্যান চালিয়ে সিপিইউ ঠান্ডা করার ব্যবস্থা করতে পারব। এই এক্সপেরিমেন্টে আমরা একটি এলসিডিতে রাসবেরি পাইয়ের সিপিইউ টেম্পারেচার সারাক্ষন দেখতে থাকব। এই এক্সপেরিমেন্ট থেকে দুটি বিষয় শেখা যাবে।
এক)রাসবেরি পাইয়ের সিপিইউ টেম্পারেচার দেখা।
দুই)রাসবেরি পাইয়ের সাথে এলসিডি ব্যবহার করা।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ প্রডাক্ট লিংক
Raspberry Pi 3 Model B Complete Set   1 http://bit.ly/rpi3setb 
LCD module advanced 1 http://bit.ly/2W7Xwlc
Female to female jumpers 8 http://bit.ly/2YCYGpE  

সার্কিট কানেকশনঃ
এলসিডি ও রাসবেরি পাইয়ের মধ্যে নিচের কানেকশনটি সম্পন্ন করি।

Raspberry Pi 3 Model B LCD module advanced
VCC VCC
GND GND
37 RS
35 E
33 D4
31 D5
29 D6
23 D7

প্রোগ্রামিংঃ

এলসিডির পাইথন লাইব্রেরি ইন্সটল করাঃ


RPLCD.py লাইবেরির মাধ্যমে রাসবেরি পাইয়ের সাথে এলসিডিকে কাজ করানো যাবে।
রাসবেরি পাইতে যদি পাইথন প্যাকেজ ইনডেক্স বাব পিআইপি ইন্সটল করা না থাকে তাহলে পিআইপি ইন্সটল করতে রাসবেরি পাইয়ের কমান্ড প্রম্পটে নিচের কমান্ডটি লিখি।


sudo apt-get install python-pip


এবার RPLCD ইন্সটল করতে নিচের কমান্ডটি লিখি।


sudo pip3 install RPLCD


রাসবেরি পাইতে পাইথন ২ ইনস্টল করা থাকলে
sudo pip install RPLCD লিখতে হবে।

সিপিইউ টেম্পারেচার দেখার কমান্ডঃ
রাসবেরি পাইয়ের কমান্ড প্রম্পটে নিচের কমান্ডটি লিখলে সিপিইউ এর টেম্পারেচার দেখায়।


/opt/vc/bin/vcgencmd measure_temp


এই কমান্ডটিই আমরা একটি পাইথন প্রোগ্রামে মাধ্যমে এক সেকেন্ড পরপর লিখে সিপিইউ এর টেম্পারেচার এলসিডিতে দেখব।


কোডঃ


নিচের কোডটি রাসবেরি পাইতে রান করালে এলসিডিতে সিপিইউ টেম্পারেচার দেখা যাবে।

import os
import time
from RPLCD import CharLCD
from RPi import GPIO
lcd = CharLCD(numbering_mode=GPIO.BOARD, cols=16, rows=2, pin_rs=37, pin_e=35, pins_data=[33,31,29,23])





def measure_temp():
        temp = os.popen("vcgencmd measure_temp").readline()
        print (temp)
        temp=temp.replace("'C","")
        #return (temp.replace("temp","Temp"))
        
        return(temp)

while True:
        
        lcd.clear()
        lcd.write_string("CPU ")
        lcd.write_string(measure_temp())
        lcd.cursor_pos = (0,13) 
        
        
        lcd.write_string(chr(223)+"C")
        
        time.sleep(1)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.