رباتیک و هوافضا

راه اندازی ۷ سگمنت با استفاده از رزبری پای

به نام خدا

راه اندازی ۷ سگمنت با استفاده از رزبری پای

 

رزبری پای یک برد با پردازشگر با معماری ARM می باشد که برای مهندسان الکترونیک و علاقمندان طراحی شده است.پای با استفاده از یک پردازنده سرعت بالا و رم ۱ GB در بسیاری از پروژه ها نظیر پردازش تصویر و اینترنت اشیا استفاده میشود.

نمایشگر ۷ سگمنت:

اساسا ۲ نوع نمایشگر ۷ سگمنت موجود است ، مدل آند مشترک(مثبت یا VCC مشترک) و مدل کاتد مشترک(منفی یا زمین مشترک).

 

 

آند مشترک : در این مدل تمامی ترمینال های منفی ( کاتد ) LED ها به یکدیگر متصلند که به آنها COM گفته می شود ، تمامی ترمینال های مثبت به حال خود گذاشته شده اند.
کاتد مشترک : در این مدل تمامی ترمینال های مثبت ( آند ) ها به یکدیگر متصلند که به آنها COM گفته می شود ، تمامی ترمینال های منفی به حال خود گذاشته شده اند.

 

 

در رسپبری پای ۲ ، ۴۰ پین خروجی GPIO موجود است اما تنها ۲۶ پین (GPIO2 تا GPIO27) قابل برنامه ریزی هستند.بعضی از این پایه ها عملیات های خاصی انجام می دهند.

بیشتر بخوانید...  پروژه ی ساخت لامپ اضطراری با استفاده از رزبری پای

 

 

قطعات مورد نیاز راه اندازی ۷ سگمنت با استفاده از رزبری پای :

در اینجا ما از رزبری پای ۲ مدل B با سیستم عامل رزبین جسی استفاده کرده ایم.
تمامی سخت افزارها و نرم افزارهای موردنیاز از پیش بحث شده اند.
پین های اتصال
نمایشگر ۷ سگمنت کاتد مشترک (LT543)
۸ عدد مقاومت ۱ کیلواهم
بردبورد

 

 

 

اتصالات به صورت زیر آورده شده اند :

PIN1 or e —————— GPIO21

PIN2 or d —————— GPIO20

PIN4 or c —————— GPIO16

PIN5 or h or DP ———- GPIO 12

PIN6 or b ——————GPIO6

PIN7 or a ——————GPIO13

PIN9 or f —————— GPIO19

PIN10 or g —————- GPIO26

PIN3 or PIN8 ————-متصل به زمین

 

حال اگر بخواهیم “۱” را نمایش دهیم بایستی B و C را تغذیه کنیم.برای تغذیه B و C باید GPIO6 و GPIO16 را تغذیه کنیم.

دانلود کد برنامه ی راه اندازی ۷ سگمنت با استفاده از رزبری پای :

دانلود فایل
import RPi.GPIO as IO            # calling for header file which helps us use GPIO’s of PI
import time                              # calling for time to provide delays in program
DISPLAY = [0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67]            # string of characters storing PORT values for each digit.
IO.setwarnings(False)            # do not show any warnings
IO.setmode (IO.BCM)           # programming the GPIO by BCM pin numbers. (like PIN29 as‘GPIO5’)
IO.setup(13,IO.OUT)             # initialize GPIO Pins as outputs
IO.setup(6,IO.OUT)
IO.setup(16,IO.OUT)
IO.setup(20,IO.OUT)
IO.setup(21,IO.OUT)
IO.setup(19,IO.OUT)
IO.setup(26,IO.OUT)
IO.setup(12,IO.OUT)
def PORT(pin):                    # assigning GPIO logic by taking 'pin' value
    if(pin&0x01 == 0x01):
        IO.output(13,1)            # if  bit0 of 8bit 'pin' is true, pull PIN13 high
    else:
        IO.output(13,0)            # if  bit0 of 8bit 'pin' is false, pull PIN13 low
    if(pin&0x02 == 0x02):
        IO.output(6,1)             # if  bit1 of 8bit 'pin' is true, pull PIN6 high
    else:
        IO.output(6,0)            #if  bit1 of 8bit 'pin' is false, pull PIN6 low
    if(pin&0x04 == 0x04):
        IO.output(16,1)
    else:
        IO.output(16,0)
    if(pin&0x08 == 0x08):
        IO.output(20,1)
    else:
        IO.output(20,0)   
    if(pin&0x10 == 0x10):
        IO.output(21,1)
    else:
        IO.output(21,0)
    if(pin&0x20 == 0x20):
        IO.output(19,1)
    else:
        IO.output(19,0)
    if(pin&0x40 == 0x40):
        IO.output(26,1)
    else:
        IO.output(26,0)
    if(pin&0x80 == 0x80):
        IO.output(12,1)            # if  bit7 of 8bit 'pin' is true, pull PIN12 high
    else:
        IO.output(12,0)            # if  bit7 of 8bit 'pin' is false, pull PIN12 low
        
while 1:
    for x in range(10):            # execute the loop ten times incrementing x value from zero to nine
        pin = DISPLAY[x]        # assigning value to 'pin' for each digit
        PORT(pin);                  # showing each digit on display 
        time.sleep(1)

 

بیشتر بخوانید...  راه اندازی صفحه نمایش لمسی با استفاده از رزبری پای (چرخش ال سی دی)

دیدگاه‌ها (0)

*
*