RoboJax کے ذریعے Digispark USB کے ساتھ LCD استعمال کرکے متن دکھانا
یہ پروجیکٹ ڈیجی اسپارک مائیکرو کنٹرولر کے ساتھ 1602 LCD اسکرین کو جوڑ کر ٹیکسٹ پیغامات ظاہر کرنے کا طریقہ ظاہر کرتا ہے۔ یہ ایمبیڈڈ سسٹمز میں ایک بنیادی مہارت ہے، جو مختلف ایپلیکیشنز کے لیے حسب ضرورت ڈسپلے بنانے میں مفید ہے۔ ڈیجی اسپارک کا چھوٹا سائز اور کم قیمت اسے کمپیکٹ پروجیکٹس کے لیے مثالی بناتی ہے۔
پروجیکٹ آئیڈیاز:
- ایک سادہ ڈیجیٹل گھڑی بنائیں۔
- سینسر کی ریڈنگز ظاہر کریں (درجہ حرارت، نمی، وغیرہ)۔
- بڑے پروجیکٹ کے لیے حسب ضرورت اسٹیٹس انڈیکیٹر بنائیں۔
- اسکرین پر فیڈ بیک کے ساتھ ایک بنیادی گیم تیار کریں۔
ہارڈویئر/اجزاء
یہ پروجیکٹ 1602 LCD اسکرین (16 حروف x 2 لائنیں) (ویڈیو میں 00:21 پر)، ڈیجی اسپارک مائیکرو کنٹرولر (یا تو USB یا مائیکرو USB ورژن – وائرنگ زیادہ تر ایک جیسی ہے، لیکن کمپیوٹر سے کنکشن مختلف ہے (ویڈیو میں 00:34 پر))، اور جمپر تاروں کا استعمال کرتا ہے۔ LCD اسکرین میں I2C کمیونیکیشن ماجیول (ویڈیو میں 00:56 پر)، بیک لائٹ، اور اسکرین کی چمک کو ایڈجسٹ کرنے کے لیے ایک پوٹینشیومیٹر شامل ہے (ویڈیو میں 01:31 پر)۔
وائرنگ گائیڈ
وائرنگ کنکشن درج ذیل ہیں (ویڈیو میں 02:09 پر):
- LCD گراؤنڈ سے ڈیجی اسپارک گراؤنڈ
- LCD VCC سے ڈیجی اسپارک 5V
- LCD SDA سے ڈیجی اسپارک پن 0
- LCD SCL سے ڈیجی اسپارک پن 1
کوڈ کی وضاحت
Arduino کوڈ LiquidCrystal لائبریری استعمال کرتا ہے۔ اہم بات یہ ہے کہ آپ کو I2C اسکینر کا استعمال کرتے ہوئے اپنی LCD کا I2C ایڈریس معلوم کرنا ہوگا (ویڈیو میں 03:36 پر)۔ یہ ایڈریس (عام طور پر ایک ہیکساڈیسیمل ویلیو جیسے 0x3F، 0x27، یا 0x38) کوڈ میں درج کرنا ضروری ہے (ویڈیو میں 03:29 پر)۔ کوڈ LCD کے کالمز (16) اور قطاروں (2) کی تعداد بھی متعین کرتا ہے (ویڈیو میں 05:57 پر)۔ setup() فنکشن LCD کو انیشیالائز کرتا ہے اور ایک ابتدائی پیغام پرنٹ کرتا ہے۔ loop() فنکشن مسلسل LCD کو صاف کرتا ہے، پہلی لائن پر "RoboJax" اور دوسری لائن پر "Hello World!" پرنٹ کرتا ہے (ویڈیو میں 06:54 پر)، اپڈیٹس کے درمیان آدھے سیکنڈ کی تاخیر کے ساتھ (ویڈیو میں 07:46 پر)۔
// ... (دیگر کوڈ حذف شدہ) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (دیگر کوڈ حذف شدہ) ...
//یہ لائن LCD کا I2C ایڈریس سیٹ کرتی ہے
lcd.begin(16, 2); //یہ لائن LCD کے طول و عرض سیٹ کرتی ہے
// ... (دیگر کوڈ حذف شدہ) ...
لائیو پروجیکٹ/ڈیموسٹریشن
ویڈیو ڈیجی اسپارک پر کوڈ کی کامیاب کمپائلیشن اور اپ لوڈ کو ظاہر کرتی ہے (ویڈیو میں 08:20 پر)۔ LCD پروگرام شدہ ٹیکسٹ ظاہر کرتا ہے، جو سرکٹ کی فعالیت کی تصدیق کرتا ہے (ویڈیو میں 08:48 پر)۔
ابواب
- [00:01] تعارف
- [00:21] LCD 1602 جائزہ
- [01:06] ہارڈویئر کنکشنز
- [02:09] وائرنگ کی تفصیلات
- [02:53] کوڈ کا جائزہ
- [03:27] I2C ایڈریس تلاش کرنا
- [05:04] کوڈ اپ لوڈ کرنا
- [06:54] کوڈ کی وضاحت: لوپ فنکشن
- [08:20] لائیو ڈیموسٹریشن
// LCD1602 Display for Arduino
// January 21, 2018 14:25 this example will work with a 1602 LCD
// Code used for YouTube video for RoboJax channel
// Watch the video https://youtu.be/S4ya3Q7uhJs
// Video and other Arduino Tutorials http://robojax.com/learn/library
// January 21, 2018 14:25
// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// RoboJax LCD1602 Test
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
// RoboJax LCD1602 Test
}
void loop() {
// RoboJax LCD1602 Test
lcd.setCursor(0, 0);
lcd.print("RoboJax LCD Test");
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Hello World!");
delay(500);
// RoboJax LCD1602 Test
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ای بے
-
علی ایکسپریسPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
وسائل اور حوالہ جات
-
باہرونیATtiny88 datasheet (PDF)ww1.microchip.com
فائلیں📁
دیگر فائلیں
-
Digistump DriversDriver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
Digistump.Drivers.zip