ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 1 از 1
  1. #1
    2011/03/11
    46
    0

    سوال در مورد اینکه در برد رزبری پای چگونه مقدار دما رو روی LCD کاراکتری نمایش بدیم؟

    با سلام
    من این برنامه راه اندازی LCD کاراکتری ر واز سایت زیر گرفتم و دقیقا هم جواب میده... (برد رزبری پای و زبان پایتون)

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    اما سوال اینجاست که با فرض اتصال سنسور دما مثل Ds18B20 چطور میشه مقدار متغیر اونو روی این LCD نشون داد... یعنی چه تغییری در دستورات برنامه LCD باید داشته باشیم؟؟؟

    import RPi.GPIO as GPIO
    import time

    # Define GPIO to LCD mapping
    LCD_RS = 7
    LCD_E = 8
    LCD_D4 = 25
    LCD_D5 = 24
    LCD_D6 = 23
    LCD_D7 = 18

    # Define some device constants
    LCD_WIDTH = 16 # Maximum characters per line
    LCD_CHR = True
    LCD_CMD = False

    LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line
    LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line

    # Timing constants
    E_PULSE = 0.0005
    E_DELAY = 0.0005

    def main():
    # Main program block
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbers
    GPIO.setup(LCD_E, GPIO.OUT) # E
    GPIO.setup(LCD_RS, GPIO.OUT) # RS
    GPIO.setup(LCD_D4, GPIO.OUT) # DB4
    GPIO.setup(LCD_D5, GPIO.OUT) # DB5
    GPIO.setup(LCD_D6, GPIO.OUT) # DB6
    GPIO.setup(LCD_D7, GPIO.OUT) # DB7

    # Initialise display
    lcd_init()

    while True:

    # Send some test
    lcd_string("Rasbperry Pi",LCD_LINE_1)
    lcd_string("16x2 LCD Test",LCD_LINE_2)

    time.sleep(3) # 3 second delay

    # Send some text
    lcd_string("1234567890123456",LCD_LINE_1)
    lcd_string("abcdefghijklmnop",LCD_LINE_2)

    time.sleep(3) # 3 second delay

    # Send some text
    lcd_string("RaspberryPi-spy",LCD_LINE_1)
    lcd_string(".co.uk",LCD_LINE_2)

    time.sleep(3)

    # Send some text
    lcd_string("Follow me on",LCD_LINE_1)
    lcd_string("Twitter @RPiSpy",LCD_LINE_2)

    time.sleep(3)

    def lcd_init():
    # Initialise display
    lcd_byte(0x33,LCD_CMD) # 110011 Initialise
    lcd_byte(0x32,LCD_CMD) # 110010 Initialise
    lcd_byte(0x06,LCD_CMD) # 000110 Cursor move direction
    lcd_byte(0x0C,LCD_CMD) # 001100 Display On,Cursor Off, Blink Off
    lcd_byte(0x28,LCD_CMD) # 101000 Data length, number of lines, font size
    lcd_byte(0x01,LCD_CMD) # 000001 Clear display
    time.sleep(E_DELAY)

    def lcd_byte(bits, mode):
    # Send byte to data pins
    # bits = data
    # mode = True for character
    # False for command

    GPIO.output(LCD_RS, mode) # RS

    # High bits
    GPIO.output(LCD_D4, False)
    GPIO.output(LCD_D5, False)
    GPIO.output(LCD_D6, False)
    GPIO.output(LCD_D7, False)
    if bits&0x10==0x10:
    GPIO.output(LCD_D4, True)
    if bits&0x20==0x20:
    GPIO.output(LCD_D5, True)
    if bits&0x40==0x40:
    GPIO.output(LCD_D6, True)
    if bits&0x80==0x80:
    GPIO.output(LCD_D7, True)

    # Toggle 'Enable' pin
    lcd_toggle_enable()

    # Low bits
    GPIO.output(LCD_D4, False)
    GPIO.output(LCD_D5, False)
    GPIO.output(LCD_D6, False)
    GPIO.output(LCD_D7, False)
    if bits&0x01==0x01:
    GPIO.output(LCD_D4, True)
    if bits&0x02==0x02:
    GPIO.output(LCD_D5, True)
    if bits&0x04==0x04:
    GPIO.output(LCD_D6, True)
    if bits&0x08==0x08:
    GPIO.output(LCD_D7, True)

    # Toggle 'Enable' pin
    lcd_toggle_enable()

    def lcd_toggle_enable():
    # Toggle enable
    time.sleep(E_DELAY)
    GPIO.output(LCD_E, True)
    time.sleep(E_PULSE)
    GPIO.output(LCD_E, False)
    time.sleep(E_DELAY)

    def lcd_string(message,line):
    # Send string to display

    message = message.ljust(LCD_WIDTH," ")

    lcd_byte(line, LCD_CMD)

    for i in range(LCD_WIDTH):
    lcd_byte(ord(message[i]),LCD_CHR)

    if __name__ == '__main__':

    try:
    main()
    except KeyboardInterrupt:
    pass
    finally:
    lcd_byte(0x01, LCD_CMD)
    lcd_string("Goodbye!",LCD_LINE_1)
    GPIO.cleanup()

    ویرایش توسط amirel : 2019/04/14 در ساعت 14:58
نمایش نتایج: از 1 به 1 از 1

موضوعات مشابه

  1. چگونه پاور ال ای دی سوخته را درPCB تشخیص بدیم ؟
    توسط hesams71 در انجمن تکنولوژی LED و تجهیزات مرتبط
    پاسخ: 4
    آخرين نوشته: 2018/05/21, 19:51
  2. مشکل با نمایش مقدار دما در ال سی دی کاراکتری
    توسط korosh00 در انجمن میکروکنترلرهای AVR
    پاسخ: 20
    آخرين نوشته: 2015/09/21, 11:47
  3. چگونه مهندسی معکوس انجام بدیم؟؟؟؟؟؟؟
    توسط وهاب تنباكوسازان در انجمن مباحث علمی عمومی
    پاسخ: 11
    آخرين نوشته: 2011/07/06, 18:15
  4. کمک در مورد اینکه چگونه پورت پرینتر را ورودی کنیم
    توسط kokab در انجمن سخت افزار کامپیوتر
    پاسخ: 10
    آخرين نوشته: 2008/06/08, 16:07
  5. پاسخ: 21
    آخرين نوشته: 2007/12/11, 15:02

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •