صفحه 4 از 6 نخستنخست ... 23456 آخرینآخرین
نمایش نتایج: از 31 به 40 از 57
Like Tree12 لایک

موضوع: شیلد lcd کاراکتری 1602 آردوینو

  1. #31
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط paddesky نمایش پست ها
    ممنون چه خوب ... اما من بلد نیستم چنین تابعی بسازم که پس از فشردن مثلا دکمه پایین، متغیرهای دیگر را بجای متغیرهای فعلی قرار بده
    شما می تونید با این شیلد چنین تابعی بنویسید و بجای متغیرها 1 2 3 4 و ... قرار بدید ... مثلا وقتی روشن میشه روی صفحه سطر اول عدد 1 را نمایش بده و سطر دوم عدد 2 و وقتی که دکمه پایین را بزنیم بجای آنها 3 و 4 را نمایش بده و به همین ترتیب مثلا تا 11 و 12، و بلعکس با دکمه بالا، این عمل معکوس تکرار بشه؟
    من که نمیتونم این کارو انجام بدم!
    اینو تست کنید لطفا :
    کد:
    
    void row_Write(int rownumber , int number) {
      lcd.setCursor(0, rownumber);
      for (int i = 0 ; i < 16)  lcd.print(number);
    }

    این تابع دو تا متغیر داره
    متغیر اول rownumber شماره سطری هست که تصمیم دارید روش چاپ بشه
    number اون عددی هست که تصمیم دارید چاپش کنید کثلا 1 2 3 والی آخر

    البته این کد فقط برای عددهای یک رقمیه اگر دو رقمی بشه باید کد روتغییر بدیم
    قعلا این رو تست کنید لطفا

  2. #32
    Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    32
    اووو من عدد را مثال زدم و در پروژه خودم عددی نیست ... اینم تصاویر چیزای که میخوام بصورت منو عوض بشه ...

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 20160328_081345 (Copy).jpg
مشاهده: 201
حجم: 102.9 کیلو بایت برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 20160328_081012 (Copy).jpg
مشاهده: 162
حجم: 102.9 کیلو بایت برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 20160328_080727 (Copy).jpg
مشاهده: 201
حجم: 100.3 کیلو بایت


    اما وقتی روی یکی از پارامترهای نشان داده میرم، بعد از اینکه میخواهد به حالت اول بازگردد، چند تا از حروف از حالت قبل در تصویر می ماند ...!!!

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 20160328_081147 (Copy).jpg
مشاهده: 163
حجم: 104.5 کیلو بایت

    این کدهای منه، میخوام اونای که نمایش بدم بصورت منو باشن، البته الان این را آپلود نکردم، این پارامترهام هستند که بلد نیستم منو بسازم که عوض بشن

    کد HTML:
    #include "EmonLib.h"  // Include Emon Library
    EnergyMonitor emon1;  // Create an instance
    // include LCD the library: 
    #include <LiquidCrystal.h>
    // select the pins used on the LCD panel
    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
    
    // define some values used by the panel and buttons
    int lcd_key     = 0;
    int adc_key_in  = 0;
    #define btnRIGHT  0
    #define btnUP     1
    #define btnDOWN   2
    #define btnLEFT   3
    #define btnSELECT 4
    #define btnNONE   5
    
    // read the buttons
    int read_LCD_buttons()
    {
    adc_key_in = analogRead(0);      // read the value from the sensor 
    // my buttons when read are centered at these valies: 0, 144, 329, 504, 741
    // we add approx 50 to those values and check to see if we are close
    if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
    if (adc_key_in < 50)   return btnRIGHT;  
    if (adc_key_in < 195)  return btnUP; 
    if (adc_key_in < 380)  return btnDOWN; 
    if (adc_key_in < 555)  return btnLEFT; 
    if (adc_key_in < 790)  return btnSELECT;   
    return btnNONE;  // when all others fail, return this...
    }
    
    void setup()   
    {  
      Serial.begin(9600);   // set up the LCD’s number of columns and rows:
      lcd.begin(20, 4);  
      emon1.voltage(2, 234.26, 1.7);  // Voltage: input pin, calibration, phase_shift
      emon1.current(1, 111.1);  // Current: input pin, calibration.
    }  
    void loop()  
    {  
      emon1.calcVI(20,2000);  // Calculate all. No.of half wavelengths (crossings), time-out
      emon1.serialprint();  // Print out all variables (realpower, apparent power, Vrms, Irms, power factor)
        unsigned int long timemillis=millis();  //keeping the track of the time since the device is switched ON
      unsigned int long time=timemillis/1000;  
       float realPower       = emon1.realPower; //extract Real Power into variable
      float apparentPower   = emon1.apparentPower;  //extract Apparent Power into variable
      float powerFactor=emon1.powerFactor;//extract Apparent Power into variable rFactor     = emon1.powerFactor; //extract Power Factor into Variable
      float supplyVoltage   = emon1.Vrms; //extract Irms into Variable
      float Irms            = emon1.Irms;  
      //displaying the values  
    lcd.setCursor(1,0);  
    lcd.print("Energy Monitor");   
    lcd.setCursor(0,1);  
    lcd.print("V=");   
    lcd.print(supplyVoltage);  
    lcd.setCursor(9,1);  
    lcd.print("I=");   
    lcd.print(Irms);   
    lcd.setCursor(-4,2);  
    lcd.print("PowerFactor=");  
    lcd.print(powerFactor);  
    lcd.setCursor(-4,3);  
    lcd.print("Units(kWh)=");  
    lcd.print(abs(realPower*time)/abs(1000*3600));
    lcd.setCursor(-4,4);
    lcd.print("(kW)=");   
    lcd.print(realPower/1000);    
    lcd.setCursor(-4,5);   
    lcd.print("(KVA)=");    
    lcd.print(apparentPower/1000);    
    lcd.setCursor(-4,6);   
    lcd.print("(KVAR)=");   
    lcd.print((sqrt((apparentPower*apparentPower)-(realPower*realPower)))/1000);    
    }
    ویرایش توسط paddesky : 04-02-2016 در ساعت 06:39 PM دلیل: تصحیح سایز تصاویر

  3. #33
    Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    32
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    اینو تست کنید لطفا :
    کد:
    
    void row_Write(int rownumber , int number) {
      lcd.setCursor(0, rownumber);
      for (int i = 0 ; i < 16)  lcd.print(number);
    }

    این تابع دو تا متغیر داره
    متغیر اول rownumber شماره سطری هست که تصمیم دارید روش چاپ بشه
    number اون عددی هست که تصمیم دارید چاپش کنید کثلا 1 2 3 والی آخر

    البته این کد فقط برای عددهای یک رقمیه اگر دو رقمی بشه باید کد روتغییر بدیم
    قعلا این رو تست کنید لطفا
    راه حلی پیدا نشد لطـــفا!؟ طبق توضیحات و کدی که گفتم

  4. #34
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط paddesky نمایش پست ها
    اووو من عدد را مثال زدم و در پروژه خودم عددی نیست ... اینم تصاویر چیزای که میخوام بصورت منو عوض بشه ...

    }oop()
    {
    emon1.calcVI(20,2000); // Calculate all. No.of half wavelengths (crossings), time-out

    lcd.setCursor(9,1);
    lcd.print("I=");
    lcd.print(Irms);
    lcd.setCursor(-4,2);
    lcd.print("PowerFactor=");
    lcd.print(powerFactor);
    lcd.setCursor(-4,3);
    lcd.print("Units(kW
    lcd.print("(KVAR)=");
    lcd.print((sqrt((apparentPower*apparentPower)-(realPower*realPower)))/1000);
    }[/HTML]

    متاسفانه من وقت نمی کنم روی کدخودتون براتون ادیت کنم

    چیزی که مسلمه اینه که شما باید اون جاهایی رو که داده داره دائم عدش تغییر می کنه با نال پر کنیدو دوباره داده بگیرید و عدد نشون بدید چون در غیر این صورت در صفحه پرش خواهید داشت.

  5. #35
    Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    32
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    متاسفانه من وقت نمی کنم روی کدخودتون براتون ادیت کنم

    چیزی که مسلمه اینه که شما باید اون جاهایی رو که داده داره دائم عدش تغییر می کنه با نال پر کنیدو دوباره داده بگیرید و عدد نشون بدید چون در غیر این صورت در صفحه پرش خواهید داشت.
    والا سر در نیاوردم چی گفتید، امیدوارم فرصت کنید ادیت کنید، کمکی باشه برای من

  6. #36
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط paddesky نمایش پست ها
    والا سر در نیاوردم چی گفتید، امیدوارم فرصت کنید ادیت کنید، کمکی باشه برای من
    خط دوم چاپ شده روی lcd تون رو می بینید ؟
    شما هر بار که کلید رو فشار می دید فقط دارید خط دوم رو تغییر می دید درسته ؟

    خب
    کافیه هر بار که هر کلیدی فشار داده میشه این تابع اول اجرا بشه تا خط دوم رو کامل پاک کنه (فقط خط دوم ):
    کد:
    void row_Write() {
      lcd.setCursor(0,1);
      for (int i = 0 ; i < 16)  lcd.print(" ");
    }
    از این یک بار تست بگیر .

    بعد از این که هر کلیدی رو فشار دادی این تابع رو صدا بزن ببین تا این مرحله درست پیش میره یا نه
    لایک کردن

  7. #37
    مدیر ویژه
    تاریخ عضویت
    Mar 2014
    نوشته ها
    586
    سلام
    من لود کردم به خوبی بالا اومد فقط ولوم رو احتیاج هست خلاف جهت عقربه ساعت بچرخونی تا تصویرش بیاد
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: photo_2016-05-10_01-17-51.jpg
مشاهده: 200
حجم: 91.7 کیلو بایت
    لایک کردن

  8. #38
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    15
    سلام چطور میتونم این شیلد رو بدون سوار کردن به uno راه بندازم؟ کدوم پین هاشو به کجا وصل کنم؟

  9. #39
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط مهیار نمایش پست ها
    سلام چطور میتونم این شیلد رو بدون سوار کردن به uno راه بندازم؟ کدوم پین هاشو به کجا وصل کنم؟
    برای اینکه بتونید جداگانه راه بندازید اگر lCD رو در اختیار دارید باید ببینید کدوم پینهای LCD رو به کدوم پینهای آردوینو وصل کرده ( با مولتی متر )

    تنها جایی که دیدم در مورد شماره پینهای استفاده شده صحبت کرده این اطلاعات بود:
    1 The VSS power ground 9 D2 data
    2 VDD positive power supply 10 D3 data
    3 VL LCD bias
    4 RS data / command select 12 D5 data
    5 R / W read / write select 13 D6 data
    6 E enable signal
    7 D0 data the 15 BLA backlight source positive
    8 D1 data the 16 BLK backlight negative
    1 foot: VSS ground power.
    2 feet: VDD connected to the the 5V positive supply.
    3 feet: VL for the LCD display contrast adjustment terminal connected to the positive power supply contrast weakest ground when contrast
    Highest contrast is too high will produce " ghosting " , used by a 10K potentiometer to adjust the contrast.
    4 feet: RS register select, select the data register, high and low, select the instruction register.
    5 Foot: R / W for read and write signal line, a high read operation, the low write operation. When RS
    and R / W can be written instructions or display the address, when RS for the low-levelR / W
    Busy signal can be read, when RS high R / W is low can be written.
    6 feet: E -side to enable end, When E Duanyou high jump goes low, the LCD module execute command.
    7 to 14 feet: D0 to D7 for 8 -bit bi-directional data line.
    15 feet: backlight positive.
    16 feet: backlight negative.

    رفرنس:
    Funduino LCD 1602 Keypad Shield
    لایک کردن

  10. #40
    Junior Member
    تاریخ عضویت
    Jul 2016
    نوشته ها
    15
    ممنون از شما ولی چیزی دستگیرم نشد...الان اگه مثلا این شیلد رو سوار کنم دیگه نمیتونم از پایه های آردوینو برای مصارف دیگه استفاده کنم؟

صفحه 4 از 6 نخستنخست ... 23456 آخرینآخرین

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

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

SEO by vBSEO