আই 2 সি এলসিডি সিরিয়াল ইন্টারফেস বোর্ড পাঠ্য প্রদর্শন করছে না (ভুল পিন?)


9

আমার একটি 1602 এলসিডি স্ক্রিন রয়েছে যা এটি নিজের মতো করে সূক্ষ্মভাবে কাজ করে। তবে আমি আলাদাভাবে কিনেছি এমন আই 2 সি / আইআইসি এলসিডি নিয়ামক ব্যবহার করে কিছু পিন মুক্ত করতে চেয়েছিলাম।

যদিও নিয়ামকটি আমার আরডুইনো ইউএনওর সাথে সঠিক ঠিকানায় যোগাযোগ করছে বলে মনে হচ্ছে, আমি প্রদর্শিত পাঠ্য পেতে পারি না। ডিফল্টরূপে (কোনও কোড নেই) মনে হচ্ছে এলসিডিতে 16 টি কঠিন "স্কোয়ার" এর 1 লাইন থাকবে। আমার কোডে 27 ঠিকানা ব্যবহার করার সময়, এলসিডিটি 16 স্কোয়ারের 2 লাইনে পরিবর্তিত হবে (নীচের ছবিটি দেখুন)। কোডটি ব্যাকলাইটটি 3 বার ফ্ল্যাশ করার জন্য কল করে, যা কাজ করে। তবে আমি 2 লাইনের স্কোয়ার ছাড়া কিছুই পেতে পারি না। (পুরো কোড এই প্রশ্নের নীচে রয়েছে)।

আমি এফ মালপার্টিদা দ্বারা লিকুইডক্রিস্টাল_আই 2 সি লাইব্রেরি ব্যবহার করছি , যা সাধারণত ব্যবহৃত হয় বলে মনে হয়।
আমার কি আরও ভাল গ্রন্থাগার ব্যবহার করা উচিত?

আমি ভাবছি যে এটি কোডে কেবল ভুল পিন ব্যবহার করা হচ্ছে কিনা। আমি অনলাইনে যে সমস্ত স্কেচ দেখি সেগুলি নিম্নলিখিত পিনগুলি ব্যবহার করে:

//                    addr,en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// Set the LCD I2C address

তবে আমি অনলাইনে দেখি এমন 1602 টি এলসিডি-র সমস্তেরই আমার মতো পিন রয়েছে, আপনি নীচের আমার ফটোতে দেখতে পারেন:

আই 2 সি এলসিডি কন্ট্রোলার

এই পিনগুলি স্ট্যান্ডার্ড বলে মনে হচ্ছে:
1602 এলসিডি পিনআউট

আমাকে আরও বিভ্রান্ত করার জন্য, এলসিডি বোর্ডের পিনগুলি বাম দিকে 1 দিয়ে শুরু হয়, তবুও ডিফল্ট কোডের পিনগুলি 0 দিয়ে শুরু হবে বলে মনে হচ্ছে! সুতরাং আমি কোডের পিনগুলি এলসিডি বোর্ডের সংখ্যাগুলিতে পরিবর্তন করার চেষ্টা করেছি। এলসিডি আর 2 লাইনের স্কোয়ারে পরিবর্তন হয় না এবং ব্যাকলাইটটি আর জ্বলে না। আমি তখন প্রতিটি পিন থেকে 1 টি বিয়োগ করার চেষ্টা করেছি (0 থেকে শুরু করতে), একই ফলাফল। আমি তখন ডিফল্ট পিন বিয়োগ 1, একই ফলাফল ব্যবহার করার চেষ্টা করেছি। এইভাবে ডিফল্ট পিনগুলি কোনওভাবে আরও সঠিক ?! আমি কি ভুল করছি?

এই আই 2 সি নিয়ন্ত্রণকারীদের মধ্যে অন্য কেউ কি তাদের জন্য কাজ করতে পেরেছেন, এবং যদি তা হয় তবে কীভাবে?

সম্পূর্ণ কোড:

/* YourDuino.com Example Software Sketch
 16 character 2 line I2C Display
 Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1"
 terry@yourduino.com */

/*-----( Import needed libraries )-----*/
#include <Wire.h>  // Comes with Arduino IDE
// Get the LCD I2C Library here: 
// https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
#include <LiquidCrystal_I2C.h>

/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 2 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);  // Used to type in characters
  lcd.begin(16,2);   // initialize the lcd for 16 chars 2 lines, turn on backlight

// ------- Quick 3 blinks of backlight  -------------
  for(int i = 0; i< 3; i++) {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
  lcd.backlight(); // finish with backlight on  

//-------- Write characters on the display ------------------
// NOTE: Cursor Position: (CHAR, LINE) start at 0  
  lcd.setCursor(0,0); //Start at character 4 on line 0
  lcd.print("Hello, world!");
  delay(1000);
  lcd.setCursor(0,1);
  lcd.print("HI!YourDuino.com");
  delay(8000);  

// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
  lcd.clear();
  lcd.setCursor(0,0); //Start at character 0 on line 0
  lcd.print("Use Serial Mon");
  lcd.setCursor(0,1);
  lcd.print("Type to display");  

}/*--(end setup )---*/

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  {
    // when characters arrive over the serial port...
    if (Serial.available()) {
      // wait a bit for the entire message to arrive
      delay(100);
      // clear the screen
      lcd.clear();
      // read all the available characters
      while (Serial.available() > 0) {
        // display each character to the LCD
        lcd.write(Serial.read());
      }
    }
  }

}/* --(end main loop )-- */

আপনি পুলআপ যোগ করতে মনে আছে?
ইগনাসিও ওয়াজকেজ-আব্রামস


1
সম্ভবত সমস্যা নয়, তবে আপনি কি পেন্টিয়োমিটার ব্যবহার করে বিপরীতে সামঞ্জস্য করার চেষ্টা করেছেন? কোডের নম্বরগুলি উল্লেখ করে যে পিসিএফ 8574 চিপে কোন পিনটি এলসিডি বোর্ডের কোন পিনের সাথে সংযুক্ত রয়েছে। আই 2 সি বোর্ডের পি 3 স্পষ্টতই এলসিডিতে ব্যাকলাইট পিনের সাথে সংযুক্ত। তবে আমি মনে করি অন্য পিনগুলি কোনওভাবে ভুল। পিসিএফ 74 of P৪ এর P0-P7 পিনগুলি কোথায় এলসিডি শিরোলেখগুলিতে চলে যায় তা দেখতে একটি মাল্টিমিটার ব্যবহার করে দেখুন।
গেরবেন

2
যদিও এটি সমস্যা নাও হতে পারে, আপনার এলসিডিতে সোনার্ডড পিন হেডারগুলিতে মনোযোগ দেওয়া উচিত, যে চিত্রটি তারা গর্তের চারপাশে তামাটিকে পুরোপুরি coverাকেনি বলে মনে হচ্ছে; আমি প্রথমে এই সোল্ডার পয়েন্টগুলি উন্নত করার চেষ্টা করব।
jfpoil ব্যাখ্যা

1
@ গ্রাবেন, ডের্প আমি একটি মাল্টিমিটার দিয়ে চিপটি পরীক্ষা করেছিলাম, তবে আমি এখনও সম্পূর্ণ বিভ্রান্ত। চিপে 9-10 টি পিনগুলি এলসিডিতে D4-D7 এর সাথে সম্পর্কিত। পিন 6 = ই, 5 = আরডাব্লু, এবং 4 = আরএস। পিন 7 আসলে কী তা আমি বুঝতে পারি না। এই মানগুলি ব্যবহার করা আমাকে আবার এলসিডি থেকে কোনও প্রতিক্রিয়া দেয় না। এছাড়াও, আমি কি এই পিনগুলি থেকে 1 টি বিয়োগ করার কথা বলছি? কারণ আবার, সমস্ত ডিফল্ট কোডগুলিতে পিন 0 = আরএস রয়েছে। তবে এটি হতে পারে না, কারণ চিপের প্রথম পিনটি A0 (ঠিকানা)। মূলত, যে কোনও একক পিন পরিবর্তন করা হয় হয় ব্যাকলাইট প্রতিক্রিয়াটিকে হত্যা করবে বা ২ য় সারিটিকে ব্লক অক্ষরগুলি প্রদর্শন করা থেকে বিরত করবে।
বোর্ন

উত্তর:


3

প্রথমত, দেখে মনে হচ্ছে এই তারগুলি সঠিকভাবে সংযুক্ত নেই:

এখানে চিত্র বর্ণনা লিখুন

আমি এর আগে কোনও মহিলা জাম্পারকে আলাদা করে দেখিনি, যাতে সমস্যাটি নাও হতে পারে। তবে এটি সম্ভবত কারণ হতে পারে বলে মনে হচ্ছে।

এছাড়াও, আপনি প্রয়োজন যে তিরস্কারকারী (নীল জিনিস এটা পছন্দ ধরণ কেমন লাগে এটি একটি স্ক্রু নেই) যে চালু করার মাধ্যমে বৈসাদৃশ্য সমন্বয়। বিপরীতে সঠিকভাবে সেট না করা থাকলে এলসিডিগুলি কোনও কিছুই, পাঠ্যের ধুয়ে যাওয়া সংস্করণ বা নীল বাক্সগুলি প্রদর্শন করবে। এটি সম্ভবত কারণ।


জাম্পাররা এরকম হয় কেবল কারণ আমি ছবির জন্য বোর্ডটি সরিয়েছিলাম। এছাড়াও আমি ইতিমধ্যে ট্রিমার সামঞ্জস্য করেছি এবং এটি হয় পুরো ব্লক বা কিছুই কিছুই নয়।
মধ্যে Bort

3

আমি সাইনসমার্ট 20x04 কিনেছি এবং আমাকে ঠিকানাতেও পরিবর্তন করতে হয়েছিল 0x3F। আমার ব্যাকলাইট জাম্পারটি অনুপস্থিত ছিল, আই 2 সি বোর্ডের ডানদিকে থাকা ছোট্ট শিরোনামটি ব্যাকলাইট শক্তি সরবরাহ করে। আমি খুঁজে পাওয়া কিছু কোড এতে অন্তর্ভুক্ত রয়েছে:

lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);

1

আমার খুব একই সমস্যা আছে এবং আমি ঠিক এলসিডি 1602 এ এর ​​ঠিকানা পরিবর্তন করে এটি ঠিক করেছি যা 0x27 টিউটোরিয়ালে রয়েছে তবে আমার ডিভাইসে 0x3F রয়েছে।

শুভকামনা!


আমার ক্ষেত্রে একি, কাজ যখন এই লাইন পরিবর্তন: LiquidCrystal_I2C lcd(0x3F,16,2);। অনেক ধন্যবাদ!
স্টিফান

0

আমি যতদূর জানি, পুল-আপ রেজিস্টারগুলি ডিসপ্লেটির সাথে একীভূত করা উচিত।

আপনি কি আলাদা ঠিকানা ব্যবহার করে দেখেছেন? আমার অনুরূপ একটি রয়েছে, যা 0x3F ঠিকানায় কাজ করে। হতে পারে এটি সাহায্য করে।


বোর্ডটি "ঠিকানা 27" হিসাবে বিক্রি হয়েছিল এবং 27 হ'ল একমাত্র ঠিকানা যা আদৌ সাড়া দেয়। ফটোতে দেখা ট্রিমিং পটের ঠিক উপরে A1 A2 এবং A3 পিনগুলি সোল্ডার করে এটি আসলে কাস্টমাইজযোগ্য।
মধ্যে Bort

0

এই কোডটি পরিবর্তন করুন:

LiquidCrystal_I2C lcd(0x26, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

এটি:

LiquidCrystal_I2C lcd(0x26, 2, 1, 0, 4, 5, 6, 7, 8, POSITIVE);

("পজিটিভ" এর আগে যুক্তিটি 3 থেকে 8 এ পরিবর্তিত হয়েছে)


1
কোন ব্যাখ্যা কেন? পিসিএফ 8574 তে কোনও পি 8 নেই।
tcurdt

-1

আমি নিশ্চিত যে এই লিঙ্কটি আপনার জন্য সহায়ক হবে, আমার একই এলসিডি আছে এবং আমি এই লিঙ্কের পদক্ষেপগুলি অনুসরণ করে আই 2 সি এর সাথে কাজ করেছি http://forum.arduino.cc/index.php?topic=128635.0


1
আপনার অন্যান্য উত্তরের মতো, এখানে আপনার লিঙ্কটি 404 চলে যাওয়ার জন্য গাইডের একটি সংক্ষিপ্তসার পোস্ট করুন
লোগানব্ল্যাডেস

-2
LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 6, 5, 7, 3, POSITIVE);  // Set the LCD

আই 2 সি মডিউল ডি 6-> পি 5 হ'ল ডি 5-> পি 6 (বিপরীত)।


1
আপনি আরও ব্যাখ্যা করতে পারেন?
বোর্ট

2
দয়া করে সম্পাদনা আপনার পোস্ট এবং কোড বিন্যাস markdown (চার নেতৃস্থানীয় স্পেস) ব্যবহার করে কোড বিন্যাস। সহায়তার জন্য মার্কডাউন সহায়তা দেখুন । কোডটি নির্বাচন করে এবং Ctrl+Kআপনার ব্রাউজারটি এটি আপনার জন্য করার জন্য চাপ দিয়ে আপনি এটি করতে সক্ষম হবেন । আপনি আরও বিশদে গেলে উত্তরটি আরও সহায়ক হবে।
নিক গ্যামন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.