یکی که یک ردیف در LCD در HD44780 اجرا می کند.

پوشوک " راه حل آماده"من نتیجه را یک ردیف گلگون روی Ci ندادم. خودم این کار را کردم.

کد Tsei "shmatok" به شما این امکان را می دهد که یک ردیف، نحوه اجرا (راست به چپ)، در هر ماموریت و در هر تعداد آشنایی، در نشانگرهای LCD با کنترلر HD44780 یا مشابه حرکت دهید.

Perche، در مورد آنچه لازم است به zupinitisya، tse کسانی که mova Сі اجازه نمی دهد pratsyuvati با ردیف "bezposerednyo". بنابراین کپی کردن نماد از یک ردیف به іnshu در پشت تخصیص عملگر اضافی غیرعاقلانه است ( = ) ... برای همه شما نیاز به یک عملکرد خاص دارید strncpy (). ظاهراً برای روبات‌های دارای ردیف در Сі چند عملکرد وجود دارد. خود شکنجه گران عملکردهای پیروز، فصلی به آنها اختصاص داده شده است. در Help "e on CV_AVR، عملکردهای ربات را شرح دهید. "توابع رشته"... نمونه اولیه این توابع در فایل موجود است رشته.h.

"... برو به یک ردیف ..." - یک ردیف از نمادها که باید به یک ردیف منتقل کنید.

"... نمادها ظاهر می شوند ..." - "ردیف،"

برای سازماندهی دسته ای از تماس ها، الگوریتم زیر:

1. تصاویر نمادها از راست به چپ نمایش داده می شود. هیجان شدید با یک تسومو "درگیر شوید".

2. Pislya zsuvu، در نماد سمت راست، نماد cherg ردیف بلال کپی شده است.

3. وقتی به انتهای خط داده شده رسید، علامت قدیمی ردیف بلال را می کشیم.

برای نمادهای ssuvu - برای ssuvus در وسط، کد را روی نماد RAM نمایش داده شده (DDRAM) HD44780 بخوانید و در سمت چپ RAM بنویسید.

برای DataSheet در HD44780، نماد ردیف بالایی برای آدرس DDRAM 0x00 و نماد ردیف پایین 0x40 است. با مقدار زیادی حافظه مورد نیاز، برای این منظور لازم است که خود را به رم صفحه نمایش (و نه به رم تولید کننده کاراکتر) تبدیل کند، باید بیت RS را به 1 منتقل کرد (RS مهم ترین بیت در بایت آدرس، به DataSheet مراجعه کنید).

در pidsumku otrimuєmo، برای این منظور به شر دیگری تبدیل می شود، نماد ردیف بالایی به "pratsyuvati" با آدرس نیاز دارد. 0x01 | 0x80 = 0x81.

توابع برای نوشتن و خواندن "internal to-in" HD44780 є در کتابخانه (نمونه های اولیه در ال سی دی) .... به همین دلیل ... خود برنامه:

/ * برای CV_AVR

V برنامه داده شدهیک ردیف، می توانید در یک ردیف از 8 (0xC7) تا 16 ردیف پایین یک نشانگر 16 بیتی زندگی کنید.

. ......

#عبارتند از

char بدون علامت n_sim = 1، m_end = 43; // 43 - ردیف دینا در لب به لب
...........

beg_stroka () (
بدون امضا char i;

// ردیف ویران، چگونه زندگی کنیم

اگر (beg_str) (
برای (i = 0; i<9;i++)lcd_write_byte(0xC7+i,lcd_read_byte(0xC8+i));
beg_str = 0;

// یک کاراکتر سوگند خورده را در موقعیت سمت راست بنویسید

lcd_gotoxy (15,1);
lcd_putchar (ish_str);
اگر (++ n_sim> m_end) n_sim = 1;
}
}

واژه نامه:

n_sim - نشانگر موقعیت نماد جریان در خط داده شده؛

m_end - تعداد کاراکترها در صفحه داده شده؛

beg_str- کمی تخریب "مجاز". با این کمک اضافی می توان سرعت "بزرگ" را تنظیم کرد.

ish_str - ردیف را انتخاب کنید.

برای همه چیز بهتر است، در عملکردهای پوستی و رایانه همراه برای ربات با HD44780. برای "بازنویسی" برنامه، کامپایلر "sviy" در انباری از مشکلات نیست.

من به ردیفی می روم که برای کمک اضافی از ابزار "HD44780.exe" "آماده" هستم. وقتی її vicoristannі، در نظرات، یک ردیف اضافه کنید: "/ * حداکثر طول یک خط: 43 بایت * /"

فونت روسی QAPASS LCD 1602 قابل تنظیم نخواهد بود یا می توانید سیریلیک را در آردوینو برای انتشار بیشتر نمادهای قدرتمند قرار دهید. درک نحوه ایجاد نمادها و حروف به رنگ سیریلیک در صفحه نمایش LCD آردوینو آسان است. برای هر کسی، ما به یک vikoristovuvati در طرحی از یک تغییر نیاز خواهیم داشت بایتو عملکرد lcd.createChar ()... فوراً قابل توجه است که در آردوینو حافظه ای برای علائمی وجود دارد که با همه نمادها احاطه شده اند.

نماد Yak viveti sv_y در LCD 1602

برای درج یک نماد یا یک حرف سیریلیک روی نمایشگر، می توانید از جدول تولید کاراکتر (CGROM) نیز استفاده کنید. این نوع حافظه در آردوینو، مانند CGRAM، می تواند برای نمادهای قدرتمند استفاده شود. یکی از نمادهای غیر استاندارد که در وسط روز برای پایان ایستگاه هواشناسی منزل است، علامت درجه است. بیایید یک نماد کوچک داشته باشیم.


برای یک لپه، کاغذ را بردارید و روی یک میز جدید رنگ کنید، اگر 5 صد و 8 ردیف وجود دارد. سپس جداول سلول ها را پر کنید (از عکس ها شگفت زده شوید)، زیرا آنها در صفحه نمایش قابل مشاهده هستند. در سمت راست، نماد پوسته روی نمایشگر به صورت پیکسل (5 پیکسل عرض و 8 پیکسل در بالا) ذخیره می شود. ما می توانیم نماد خود را در نمای آرایه ادای احترام تصور کنیم که می تواند در هشت عنصر - هشت ردیف - قرار گیرد.

نماد قدرت Vivodimo روی LCD 1 602

برای مشغول نگه داشتن ما به جزئیات زیر نیاز داریم:

  • آردوینو اونو / آردوینو نانو / آردوینو مگا برد;
  • مانیتور LCD 1602;
  • دروچی «تاتو ماما».

اتصال صفحه نمایش LCD از طریق I2C با سیم های "پوشه مادر" - 2 دارت و 2 دارت زندگی انجام می شود. اگر نمایشگر Ardiuno UNO را روشن کنید، نمودار - visnovok را انتخاب کنید SDAاتصال به پورت A4، visnovok SCL- تا پورت A5 و دو دارت - GND و 5V. اگر QAPASS +1602 از طریق گذرگاه I2C به آردوینو مگا متصل است، درگاه های موجود - SDA و SCL روی برد.

طرحی برای نماد روی LCD I2C

#عبارتند از #عبارتند از // نماد جدید و به نام کوچک "simvol" اختصاص داده شده است.بایت سیمول = (0b01100، 0b10010، 0b10010، 0b01100، 0b00000، 0b00000، 0b00000، 0b00000)؛ تنظیم void () (lcd.init (); // صفحه نمایش LCD іnіtsіalіzatsіya lcd.backlight (); lcd.createChar (1, simvol); lcd.setCursor (0,0); // مکان نما را روی 1 کاراکتر از ردیف اول قرار دهید lcd.print (char (1)); // نماد drukuєmo در ردیف اول) حلقه خالی () ()

به کد توضیح داده شد:

  1. برای یک بایت آرایه اضافی simvol = (); ما علامت درجه را همانطور که قبلاً روی کاغذ کاغذ نقاشی شده بود رمزگذاری کردیم.
  2. تابع lcd.createChar (تعداد، داده)؛ flapє برای koristuvach یک نماد برای LCD، د در بازوها نشان داده شده است تعداد- عدد به نماد i داده ها- اطلاعات در مورد masivi.
  3. ردیف پوست باید از 0b تعمیر شود - "صفر" і سرمایه "b".

Vivodimo روی قلم روسی LCD 1602

صفحه نمایش QAPASS 8 کاراکتر جدید (با شماره 0 تا 7) در اندازه 5 در 8 پیکسل اضافه می کند. حرف در سیریلیک، نماد yak і، می تواند در آرایه ای از هشت بایت تنظیم شود که کل ردیف را مشخص می کند. شما می توانید تا 8 علامت اضافه کنید، بنابراین می توانید با معرفی حروف لاتین و سیریلیک، مانند روی لبه، پیروز باشید. طرح را با عبارت "سایت I ❤" بسازید

طرح با حروف روسی در LCD I2C

#عبارتند از // کتابخانه برای کنترل ضمیمه ها از طریق I2C#عبارتند از // کتابخانه سوئیچ برای LCD 1602ال سی دی LiquidCrystal_I2C (0x27,20,2); // من یک ال سی دی به صفحه نمایش 20x2 اختصاص می دهم // نماد قلب و حروف chotiroh را به خط سیریلیک باز کنیدقلب بایت = (0b00000، 0b01010، 0b11111، 0b11111، 0b11111، 0b01110، 0b00100، 0b00000); بایت I = (0b01111، 0b10001، 0b10001، 0b01111، 0b00101، 0b01001، 0b10001، 0b00000)؛ بایت B = (0b11111، 0b10000، 0b10000، 0b11110، 0b10001، 0b10001، 0b11110، 0b00000)؛ بایت N = (0b10001، 0b10001، 0b10011، 0b10101، 0b11001، 0b10001، 0b10001، 0b00000)؛ بایت F = (0b01110، 0b10101، 0b10101، 0b10101، 0b01110، 0b00100، 0b00100، 0b00000); تنظیم void () (lcd.init (); // صفحه نمایش LCD іnіtsіalіzatsіya lcd.backlight (); // نمایش را فعال کنید // یک عدد ترتیبی به کاراکترها اختصاص دهید lcd.createChar (1، قلب); lcd.createChar (2, I); lcd.createChar (3، B); lcd.createChar (4، N); lcd.createChar (5, F); lcd.setCursor (6.0); // مکان نما را روی کاراکتر ششم ردیف اول قرار دهید lcd.print (char (2)); lcd.print (""); lcd.print (char (1)); lcd.setCursor (0،1); // مکان نما را روی گوش یک ردیف دیگر قرار دهید lcd.print ("P"); lcd.print ("O"); lcd.print (char (3)); lcd.print ("O"); lcd.print ("T"); lcd.print ("E")؛ lcd.print ("X"); lcd.print ("H"); lcd.print (char (4)); lcd.print ("K")؛ lcd.print ("A"); lcd.print ("1"); lcd.print ("8"); lcd.print ("."); lcd.print ("P"); lcd.print (char (5)); ) حلقه خالی () ()

به کد توضیح داده شد:

  1. ردیف های عظیم در تابع بایت simvol = (); می توان در یک ردیف ثبت نام کرد.
  2. کلمه سایت vikoristovuє مجموعه ای از حروف روسی و لاتین.
  3. رویه void loop () در طرح پیروز نیست، اما همه یک موجود هستند.

پانل ها به سرعت در فروشگاه های vivisk، در خیابان ها و ترانزیشن ها برای نمایش سوابق تبلیغاتی در نمای متن راه اندازی می شوند. Vogniki بر روی پانل ها به روشی متفاوت شلیک می شود: ردیف ها از تپه، پایین، سمت راست و چپ peresovayutsya می شوند. تصاویر نیز مرتبط هستند.

چنین لوازم جانبی را نباید بدون احترام از دست داد. بسیاری از تعمیرکاران الکترونیک سعی در تعمیر آن دارند، زیرا ساخت و ساز نصب شده و برای سیستم ضروری است. Virib به راحتی در ذهن خانه استفاده می شود. از مقاله برای دانستن گوش آماتور پیوست های الکترونیکیبا توجه به اصول روباتیک یک ردیف پیچ خورده، de Arduino vikorystovu در کیفیت جزء اصلی.

یکی که یک ردیف را در آردوینو اجرا می کند، الکترونیکی ویریب است که بر اساس میکروکنترلر آردوینو ساخته شده است. منطقه کارپیوست با svitlodiodami پوشیده شده است. ویژگی اصلی ترجمه تصاویر و اطلاعات متنی است. Dani می تواند ثابت و متحرک باشد.

ردیف های سبک در پشت ماژول های اضافی تا می شوند. اندازه تغییرات 32x16 سانتی متر است.منطقه برای کار روی سطح بدون اولویت دادن به تعداد ماژول ها و اندازه ها تعیین شده است.

علاوه بر این، در ردیف درج ها یک کنترلر وجود دارد که نقش آن کنترل تصویر است. Pristriy pratsyu در حالت آفلاین. برای تغییر متن پیام ارسال شده به تصویر، ردیف اتصال به کامپیوتر را اجرا کنید. پروفیل با تریم آلومینیومی برای کل ساختار.

در پشت هیاهوی عظیم، 2 نما از یک ردیف ناهموار در آردوینو وجود دارد:

  1. تک رنگ یا تک رنگ.
  2. Riznі vіdtіnki - zavichy 8 رنگ، همچنین شامل پس زمینه سیاه و سفید است.

بیشتر مردم vvazhayut برای vidtinok قرمز زیبا تر، به طوری که در شدید ترین. همچنین bіliy kolіr کمتر محبوب نیست. شلیک Iaksho bili vogniki yaskravo بر روی شته های سیاه، متن ویگلیاد دقیق تر است.

تمام هدایای کوریستوواچ در حافظه میکروکنترلر نگهداری می شود. برای به روز رسانی تصویر، یا ردیف های ساده ترین روش:

  1. پایه - از طریق کابل USB. ریزپردازنده آردوینو از طریق یک پورت USB به پیوست کامپیوتر متصل می شود. rozrobnik باید از کامپیوتر، کد برنامه خود را به حافظه ریزپردازنده منتقل کند.
  2. پشت سجاف از طریق کابل LAN. روش انتقال برای coystuvach_v آرام، مانند به روز رسانی دائمی ردیف الکترونیکی. تکنیک اتصال شبیه به روش جلو است.

برای نوع توسعه، خمیرهای شکسته شده برای inter'eru و ذخیره سازی در خیابان ها وجود دارد. در خیابان ها، آنها اغلب توسط یک بز مخصوص دزدیده می شدند، آب روی svitlodiodi نمی خورد.

مجموعه ابزار و مواد لازم

جدول زیر نشان داده شده است. شرح گزارشابزارهایی که برای طراحی رانندگی در آردوینو مورد نیاز هستند.

ابزار امکانات
نانو یک مدل است، زیرا اندازه آن در وسط خط آردوینو کوچک است. برای شخصیت شما پلت فرم داده شده nagaduє خویشاوند او -. Pochatkivtsi الکترونیکی، در اصل، مدل های جمع و جور از ساختمان های خود خواهد بود، به همین دلیل است که نانو فشرده شناخته شده است. خیلی از این به بعد، زندگی در سراسر جهان تسخیر شده است. ربات از طریق پورت USB هدایت می شود. سایر مشخصات مشابه مدل Uno است.

مشخصات فنی:

  • نشت، لازم برای یک ضمیمه، - 5 ولت؛
  • ماسا - 7 گرم؛
  • اندازه - 19x42 میلی متر؛
  • فرکانس کاری - 16 مگاهرتز؛
  • حافظه فلش - 16 کیلوبایت؛
  • حافظه عملیاتی - 2 کیلوبایت؛
  • پین های دیجیتال - 14 قطعه، با 6 می توانید vikoristovuvati، yak SHIM-vikhodi
  • من نیاز به غذا در ورودی دارم - نزدیک به 12 ولت.

2 راه برای برداشت سکوها وجود دارد:

  1. از طریق میکرو USB یا mini USB.
  2. با یک عنصر حیات بخش شرور، در صنوبر zalnuyu از 6 تا 20 ولت. عملاً در تمام طول روز ضربان دارد.
خط svitlodiodiv خط از LED ها به صورت موازی، در امتداد خطوط LED ها متصل می شود. کوژن مقصر است اما در مجموع بیش از 5 متر نیست. علاوه بر این، در مغازه ها وجود دارد خود را برای چنین مکان های کوچک فروخته می شود. به محض اینکه نیاز به ردیف کردن دارید، 10 یا 15 متر طول می کشد تا یاک انجام شود. هیچ عقلی نمی تواند اولین تکه مو را با گوش دیگری بگیرد. Vvazhaєtsya، حدود 5 متر - dozhina، نشان دادن razrahunok، که در آن خطوط خط فرسوده شده است. اگر یک خط اضافه کنید، خرابی رخ می دهد و آسیب نمی بیند.

نگاه کردن به آن یکی از کنار جاده متن شفاف به دلیل نور ناهموار زشت خواهد بود: ما روی لپه روشن خواهیم بود و در پایان تاریک خواهیم بود.

ارائه دهد مجموعه ای از سیم ها برای اتصال قطعات
برد کنترل فرآیند یک ریزپردازنده و بخشی برای ویروبو تمام شده (به عنوان مثال، تریکا شیلد) روی پلت فرم کریوچ قرار داده شده است.

نمودارهای صندلی راحتی I

برای cheruvati با یک خط، در وهله اول، لازم است که در پورت های آند با اعداد 2 تا 9 پاشیده شود. ریخته شده باید مستقیماً به کاتد وارد شود. یک بلوک ترانزیستور برای کل لازم است.

اوواگا! در ورودی سکوها 5 ولت وجود دارد. برای اتصال آند به برد باید از یک مقاومت استفاده کنید که 220 اهم خواهد بود. در همان ساعت برای اتصال بلوک ترانزیستورها به ورودی ها نیاز به مقاومت 1K اهم وجود دارد.

این پروژه شامل یک ترانزیستور دوقطبی victorian 2N2904 است. شما می توانید تمام ترانزیستورها را به تماس آنها بر روی پلت فرم ماتریسی تامین کنید، بنابراین تنها 10 قطعه ترانزیستور وجود دارد. هنگام ساخت پیوست های الکترونیکی، چنین نوع ترانزیستوری محبوب ترین است و از تمام معیارها و ذهنیت های یک ردیف بزرگ در آردوینو پیروی می کند. در دروازه، سیستم یک نشت کوچک خواهد داشت.

روشن است که چگونه می توان نور وگنیک ها را در صفحه دید. یک کنتاکت ارتعاشی دارد که نشان دهنده ارسال سیگنال به آند LED است. در پایه امیتر، یک ساعت جلوتر از در، سیگنالی از دروازه به خلبان ارسال می شود. به این ترتیب، از کلکتور ترانزیستور، ولتاژ مستقیماً به کاتد نور می رود. روی سطح ماتریس آند روی ردیف های تعلیق، با کاتد ردیف های تعلیق در هم آمیخته شوید. آن کوریستوواچ می تواند جلوه ای را ایجاد کند، اگر تمام ردیف یکدفعه آتش بگیرد، باید زندگی کنی.

Є یک نسخه دیگر از لیست:

این طرح به شکل زیر خواهد بود:

نرم افزار chastin

برای نسخه اول، می توانید کد را به صورت زیر مشاهده کنید:

تنظیم خالی () (int i؛ برای (i = 2؛ i< 10; i++) pinMode(i,OUTPUT); pinMode(clock,OUTPUT); pinMode(reset,OUTPUT); digitalWrite(reset,HIGH); delayMicroseconds(5); digitalWrite(reset,LOW); } void display_symbol(int loops) { for(x=0;x-یک y -) (دمای بایت = نمادها [x] [y]؛ بایت temp_2 = نمادها [y]؛ بایت val = (دمای<> 7-z)؛ برای (int i = 0; i<8; i++) digitalWrite(i+2, (val>> I) و B00000001)؛ تاخیر میکرو ثانیه (800)؛ digitalWrite (ساعت، HIGH)؛ تاخیر میکرو ثانیه (5)؛ DigitalWrite (ساعت، LOW)؛ )))))

کد برنامه برای ایجاد یک پروژه "Tough row on Arduino" به شکل زیر است:

Int RGB1 = 12; int RGB2 = 11; int RGB3 = 10; int RGB4 = 9; int RGB5 = 8; int RGB6 = 7; int RGB7 = 6; int RGB8 = 5; int RGB9 = 4; int RGB10 = 3; int key1 = A3; int key2 = A2; int key3 = A1; int key4 = A0; تنظیم void () (Serial.begin (9600)؛ pinMode (RGB1, OUTPUT)؛ pinMode (RGB2, OUTPUT)؛ pinMode (RGB3, OUTPUT)؛ pinMode (RGB4, OUTPUT)؛ pinMode (RGB5, OUTPUT)؛ pinMode (RGB6 , OUTPUT؛ pinMode (RGB7, OUTPUT)؛ pinMode (RGB8, OUTPUT)؛ pinMode (RGB9, OUTPUT)؛ pinMode (RGB10, OUTPUT)؛ pinMode (key1, INPUT_PULLUP)؛ pinMode (key2, INPUT_PULLUP)؛ pinMode (RGB9, OUTPUT) pinMode (key4, INPUT_PULLUP)؛) حلقه خالی () (int key1Value = analogRead (key1)؛ int key2Value = analogRead (key2)؛ int key3Value = analogRead (key3)؛ int key4Value = analogRead (key4)؛ if ( key1Value<= 100) { delay(30); if (key1Value <= 100) { digitalWrite(RGB5,HIGH); digitalWrite(RGB6, HIGH); delay(50); digitalWrite(RGB4, HIGH); digitalWrite(RGB7,HIGH); delay(50); digitalWrite(RGB3, HIGH); digitalWrite(RGB8, HIGH); delay(50); digitalWrite(RGB2,HIGH); digitalWrite(RGB9, HIGH); delay(50); digitalWrite(RGB1, HIGH); digitalWrite(RGB10, HIGH); delay(1000); } else { digitalWrite(RGB1, LOW); digitalWrite(RGB2, LOW); digitalWrite(RGB3, LOW); digitalWrite(RGB4, LOW); digitalWrite(RGB5, LOW); digitalWrite(RGB6, LOW); digitalWrite(RGB7, LOW); digitalWrite(RGB8, LOW); digitalWrite(RGB9, LOW); digitalWrite(RGB10, LOW); } } if (key2Value <= 100) { digitalWrite(RGB1,HIGH); digitalWrite(RGB6, HIGH); delay(40); digitalWrite(RGB2, HIGH); digitalWrite(RGB7,HIGH); delay(40); digitalWrite(RGB3, HIGH); digitalWrite(RGB8, HIGH); delay(40); digitalWrite(RGB4,HIGH); digitalWrite(RGB9, HIGH); delay(40); digitalWrite(RGB5, HIGH); digitalWrite(RGB10, HIGH); delay(1000); } else { digitalWrite(RGB1, LOW); digitalWrite(RGB2, LOW); digitalWrite(RGB3, LOW); digitalWrite(RGB4, LOW); digitalWrite(RGB5, LOW); digitalWrite(RGB6, LOW); digitalWrite(RGB7, LOW); digitalWrite(RGB8, LOW); digitalWrite(RGB9, LOW); digitalWrite(RGB10, LOW); } if (key3Value <= 100) { digitalWrite(RGB1,HIGH); delay(90); digitalWrite(RGB1, LOW); digitalWrite(RGB2, HIGH); delay(90); digitalWrite(RGB2, LOW); digitalWrite(RGB3, HIGH); delay(90); digitalWrite(RGB3, LOW); digitalWrite(RGB4, HIGH); delay(90); digitalWrite(RGB4, LOW); digitalWrite(RGB5,HIGH); delay(90); digitalWrite(RGB5, LOW); digitalWrite(RGB6,HIGH); delay(90); digitalWrite(RGB6, LOW); digitalWrite(RGB7,HIGH); delay(90); digitalWrite(RGB7, LOW); digitalWrite(RGB8,HIGH); delay(90); digitalWrite(RGB8, LOW); digitalWrite(RGB9,HIGH); delay(90); digitalWrite(RGB9, LOW); digitalWrite(RGB10,HIGH); delay(1000); } else { digitalWrite(RGB1, LOW); digitalWrite(RGB2, LOW); digitalWrite(RGB3, LOW); digitalWrite(RGB4, LOW); digitalWrite(RGB5, LOW); digitalWrite(RGB6, LOW); digitalWrite(RGB7, LOW); digitalWrite(RGB8, LOW); digitalWrite(RGB9, LOW); digitalWrite(RGB10, LOW); } if (key4Value <= 100) { digitalWrite(RGB1,HIGH); delay(50); digitalWrite(RGB1, LOW); digitalWrite(RGB2, HIGH); delay(50); digitalWrite(RGB2, LOW); digitalWrite(RGB3, HIGH); delay(50); digitalWrite(RGB3, LOW); digitalWrite(RGB4,HIGH); delay(50); digitalWrite(RGB4, LOW); digitalWrite(RGB5, HIGH); delay(50); digitalWrite(RGB5, LOW); digitalWrite(RGB6, HIGH); delay(50); digitalWrite(RGB6, LOW); digitalWrite(RGB7,HIGH); delay(50); digitalWrite(RGB7, LOW); digitalWrite(RGB8, HIGH); delay(50); digitalWrite(RGB8, LOW); digitalWrite(RGB9, HIGH); delay(50); digitalWrite(RGB9, LOW); digitalWrite(RGB10,HIGH); delay(50); digitalWrite(RGB10, LOW); digitalWrite(RGB9, HIGH); delay(50); digitalWrite(RGB9, LOW); digitalWrite(RGB8, HIGH); delay(50); digitalWrite(RGB8, LOW); digitalWrite(RGB7,HIGH); delay(50); digitalWrite(RGB7, LOW); digitalWrite(RGB6, HIGH); delay(50); digitalWrite(RGB6, LOW); digitalWrite(RGB5, HIGH); delay(50); digitalWrite(RGB5, LOW); digitalWrite(RGB4,HIGH); delay(50); digitalWrite(RGB4, LOW); digitalWrite(RGB3, HIGH); delay(50); digitalWrite(RGB3, LOW); digitalWrite(RGB2, HIGH); delay(50); digitalWrite(RGB2, LOW); digitalWrite(RGB1, HIGH); delay(50); digitalWrite(RGB1, LOW); delay(1000); } else { digitalWrite(RGB1, LOW); digitalWrite(RGB2, LOW); digitalWrite(RGB3, LOW); digitalWrite(RGB4, LOW); digitalWrite(RGB5, LOW); digitalWrite(RGB6, LOW); digitalWrite(RGB7, LOW); digitalWrite(RGB8, LOW); digitalWrite(RGB9, LOW); digitalWrite(RGB10, LOW); } }

دستورالعمل Pokrokova در بال ضمیمه

الگوریتم ساخت ردیف buzzy آردوینو:

  1. کد برنامه ها که در فایل توضیح داده شده است، در ریزپردازنده پشت یک کابل USB اضافی و کامپیوتر قفل شده است.
  2. رشد و نور یک خط به پلت فرم کنترل.
  3. همه جزئیات در درون خود اوست.
  4. از جمله غذا.

در مورد یک کلیپ ویدیویی، می توان به عنوان یک نسخه عملی دیگر مدار، بزرگنمایی و کوچکنمایی کرد:

کنترل گوشی هوشمند

Svitlodіonnymi vogniki را می توان از طریق تلفن هوشمند کنترل کرد. برای zd_ysnennya درک بلوتوث و یک ماژول ویژه - HC-06، نامگذاری برای آردوینو. Ale tse هنوز در درس های تهاجمی نشکن است. همه پروژه های خوب

برای ربات‌هایی که نمایشگرهای گرافیکی نمادین دارند، کتابخانه LiquidCrystal به سرعت در کیت استاندارد Arduino IDE گنجانده شده است و برای روبات‌هایی با 8 بیت (4 بیت) موازی با رابط طراحی شده است. اگر صفحه نمایش شما به آردوینو در گذرگاه I2 متصل می شود، باید کتابخانه LiquidCrystal_I2C را نصب کنید (بسیاری از عملکردها شبیه به کتابخانه اول هستند).

نمایشگرهای سفارشی:

نمایش دادن اتصال و دستورالعمل
LCD1602 - نمایش کاراکتر (16x02 کاراکتر)،


#عبارتند از
[ , 8 , 9 , 10 , 11 ]);
تنظیم خالی () ( lcd.begin (16, 2);}

// توضیح:

تنظیم خالی () ( OBJECT.begin (NUMBER_COLUMNS، NUMBER_LINE)؛ )


LiquidCrystal Ob'єkt (RS, E, D0, D1, D2, D3, D4, D5, D6, D7)؛


دارای رابط I2C (آبی)

#عبارتند از
#عبارتند از
ال سی دی LiquidCrystal_I2C (0x27 abo 0x3F, 16 , 2);
تنظیم خالی () ( lcd.init (); }

// توضیح:



LCD1602 I2C - نمایش کاراکتر (16x02 کاراکتر)،
دارای رابط I2C (سبز)

#عبارتند از
#عبارتند از
ال سی دی LiquidCrystal_I2C (0x27 abo 0x3F, 16 , 2);
تنظیم خالی () ( lcd.init (); }

// توضیح:
شیء LiquidCrystal_I2C (ADDRESS_I2C، NUMBER_COLUMNS، NUMBER_LINE)؛
// ADDRESS_I2C می تواند 0x27 یا 0x3F باشد

LCD2004 - نمایش کاراکتر (20x04 کاراکتر)،
با رابط موازی (آبی)

#عبارتند از
ال سی دی LiquidCrystal (2، 3، 4، 5، 6، 7[ , 8 , 9 , 10 , 11 ]);
تنظیم خالی () ( lcd.begin (20, 4);}

// توضیح:
LiquidCrystal Ob'єkt (RS, E, D4, D5, D6, D7);
تنظیم خالی () (OBJECT.begin (NUMBER_ OF COLUMNS, NUMBER_ OF ROWS)؛)

// اگر پیروز باشید باید 8 روز از دانیه تایر بگذرانید آن وقت همه چیز انجام می شود.
LiquidCrystal Ob'єkt (RS, E, D0, D1, D2, D3, D4, D5, D6, D7)؛

LCD2004 I2C - نمایش کاراکتر (20x04 کاراکتر)،
دارای رابط I2C (آبی)
#عبارتند از
#عبارتند از
ال سی دی LiquidCrystal_I2C (0x27 abo 0x3F, 20 , 4);
تنظیم خالی () ( lcd.init (); }

// توضیح:
شیء LiquidCrystal_I2C (ADDRESS_I2C، NUMBER_COLUMNS، NUMBER_LINE)؛
// ADDRESS_I2C می تواند 0x27 یا 0x3F باشد

باسن شماره 1

Vivodimo روی صفحه نمایش LCD1602 اتصالات اتوبوس I2C نوشته شده است. برای روبات‌هایی با نمایشگر LCD2004، باید 3 ردیف را در ال سی دی LiquidCrystal_I2C (0x27,20,4) تغییر دهید.

#عبارتند از // تغییر کتابخانه برای روبات‌های دارای نمایشگر LCD در گذرگاه I2C LiquidCrystal_I2C lcd (0x27,16,2). // در مورد کتابخانه، از جمله پارامترهای نمایش (آدرس های I2C = 0x27، تعداد صدها = 16، تعداد ردیف ها = 2) دیوانه کننده است // اگر نوشته نشده بود، آدرس 0x27 را به 0x3F تغییر دهید تنظیمات خالی () (/ / lc init ()؛ // چرا ربات باید از صفحه نمایش LCD استفاده کند lcd.backlight ()؛ // صفحه نمایش LCD را روشن کنید lcd.setCursor (0، 0)؛ // مکان نما را در موقعیت (0 صدم، 0 ردیف) lcd.print ("LCD")؛ // Vivodimo متن" LCD "، تصحیح از موقعیت مکان نما تنظیم شده lcd.setCursor (0، 1)؛ // مکان نما را روی موقعیت (0 صد، 1 ردیف) تنظیم کنید ) lcd.print ("www.iarduino.ru")؛ // vivodimo متن "www.iarduino.ru"، تصحیح از موقعیت مکان نما فعلی) // // حلقه خالی () () // کد حلقه تابع میانی به طور دائم نمایش داده می شود. Ale متن ایستا است، ما به اندازه کافی برای زنده کردن 1 بار در شروع، بدون کد حلقه داریم.

باسن شماره 2

Vivodimo روی صفحه نمایش LCD1602 از اتصالات باس موازی 4 بیتی نوشته شده است. برای روبات‌هایی با نمایشگر LCD2004، باید 5 ردیف را در lcd.begin تغییر دهید (20، 4).

#عبارتند از // سوئیچ به کتابخانه LiquidCrystal برای روبات های دارای صفحه نمایش ال سی دی LiquidCrystal lcd (2,3,4,5,6,7); // در مورد کتابخانه، از جمله الگوهای نمایش (RS, E, D4, D5, D6, D7) مضحک است. D5, D6, D7) void setup () (// lcd.begin (16, 2); // Forgive ربات با صفحه نمایش LCD، تعداد (صد، ردیف) فعال خواهد شد lcd.setCursor (0، 0)؛ // مکان نما را در موقعیت (0 صدپت، 0 ردیف) تنظیم کنید // Vivodimo متن "LDC1602"، تصحیح از موقعیت مکان نما تنظیم شده lcd.setCursor (0، 1)؛ // مکان نما را روی موقعیت (0 صدپت، 1 ردیف) تنظیم کنید lcd.print ("www.iarduino.ru" )؛ // متن Vivodimo "www.iarduino.ru"، تصحیح از موقعیت مکان نما فعلی) // // حلقه خالی () () // کد حلقه تابع میانی vikonutsya به طور دائم. Ale متن ایستا است، ما به اندازه کافی برای زنده کردن 1 بار در شروع، بدون کد حلقه داریم.

باسن شماره 3

Vivodimo روی صفحه نمایش LCD1602 اتصالات اتوبوس I2C "مووای روسی" نوشت:

#عبارتند از // کتابخانه Addkey برای روبات‌های دارای گذرگاه I2C #include // تغییر کتابخانه برای روبات‌های دارای نمایشگر LCD در گذرگاه I2C LiquidCrystal_I2C lcd (0x27,16,2). // شی کتابخانه بزرگتر، از جمله پارامترهای نمایش (آدرس های I2C = 0x27، تعداد 100% = 16، تعداد ردیف ها = 2) // نماد uint8_t = (// آرایه بزرگتر از 6 نماد قوی، کاراکتر پوست به 8 بایت تا می شود (0 , 0,18,20,24,20,18,0)، // تا (0, 0,17,19,21,25,17,0) // i (10 , 4, 17,19, 21،25،17،0)، // d (0، 0،15،17،15، 5، 9، 0)، // i (0، 0، 0،14،17، 6، 17، 14، 0)، // s (0، 0،17،17،29،19،29،0))؛ // و // void setup () (// lcd.init ()؛ // چرا ربات باید از صفحه نمایش LCD استفاده کند lcd.backlight ()؛ // نمایشگر LCD را فعال کنید lcd.createChar (1، نماد)؛ / / 1 کاراکتر "before" را در RAM نمایشگر سفارشی کنید lcd.createChar (2، نماد)؛ // 2 کاراکتر "i" را به RAM نمایشگر اضافه کنید lcd.createChar (3، نماد)؛ // 3 کاراکتر را اضافه کنید " th" در RAM نمایشگر lcd.createChar (4، نماد)؛ // باند مو 4 کاراکتر "i" در RAM نمایشگر lcd.createChar (5، نماد)؛ // Bandedєmo 5 کاراکتر "z" در نمایشگر RAM lcd .createChar (6، نماد)؛ // باند مو 6 نماد "و" در نمایشگر RAM lcd.setCursor (0, 0)؛ // مکان نما را روی موقعیت (0 صدپت، 0 ردیف) تنظیم کنید lcd.print ( "Pycc \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 1")؛ // Vivodimo متن "زبان روسی" ، "Pycc" به لاتین نوشته شده است و "kіy language" - با حروف RAM نمایشگر ) // اگر نیاز به وارد کردن یک کاراکتر از RAM نمایشگر دارید، عدد \ і به کاراکتر // void loop ( ) () // // کد حلقه تابع میانی به طور دائم بررسی می شود. Ale متن ایستا است، ما به اندازه کافی برای زنده کردن 1 بار در شروع، بدون کد حلقه داریم.

باسن شماره 4

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

#عبارتند از // کتابخانه Addkey برای روبات‌های دارای گذرگاه I2C #include // تغییر کتابخانه برای روبات‌های دارای نمایشگر LCD در گذرگاه I2C LiquidCrystal_I2C lcd (0x27,16,2). // یک شی کتابخانه بزرگ، شامل پارامترهای نمایش (آدرس های I2C = 0x27، تعداد ردیف ها = 16، تعداد ردیف ها = 2) // uint8_t tim_D، tim_H، tim_M، tim_S; // Oholoshuєmo برای روزها، سال ها، hilin و ثانیه ها برنده می شود. uint32_t tim; // یک تغییر باورنکردنی برای مدت زمان فوق العاده ای برای شروع. // اگر نوشته نشده بود، آدرس 0x27 را به 0x3F void setup () تغییر دهید (// lcd.init ()؛ // چرا ربات باید از صفحه نمایش LCD استفاده کند lcd.backlight ()؛ // نمایشگر LCD را روشن کنید ) // / / حلقه خالی () (// // می توانم ساعت بعد از شروع را بپذیرم: // tim = میلی () / 1000؛ // تعداد ثانیه قابل قبول است (حداکثر 4 "294" 967 ثانیه ≈ 49.7 روز). tim_S = tim% 60؛ // Otrymu ثانیه: مازاد تمام ثانیه ها برای اسلایم (60 ثانیه). tim = (tim-tim_S) / 60؛ // مقدار اولیه اسلایم خارج شده است. از روز همه چیلین ها برای یک سال (60 دقیقه). tim = (tim-tim_M) / 60؛ // Otrimumo سال های بی شمار. tim_D = (tim-tim_H) / 24؛ // Otrimuєmo تعداد روز. // Vivodimo یک ساعت پس از شروع: // اگر (میلی ()٪ 1000<100){ // Условие выполняется в течении 100 первых миллисекунд каждой новой секунды. delay(100); lcd.setCursor(0, 0); // Устанавливаем курсор в позицию (0 столбец, 0 строка). lcd.print("Days: "); // Выводим текст. if(tim_D<10){lcd.print(0);} // Выводим 0 перед количеством дней. lcd.print(tim_D); // Выводим количество дней. lcd.setCursor(0, 1); // Устанавливаем курсор в позицию (0 столбец, 1 строка) lcd.print("Time: "); // Выводим текст. if(tim_H<10){lcd.print(0);} // Выводим 0 перед количеством часов. lcd.print(tim_H); // Выводим количество часов. lcd.print(":"); // Выводим символ. if(tim_M<10){lcd.print(0);} // Выводим 0 перед количеством минут. lcd.print(tim_M); // Выводим количество минут. lcd.print(":"); // Выводим символ. if(tim_S<10){lcd.print(0);} // Выводим 0 перед количеством секунд. lcd.print(tim_S); // Выводим количество секунд. } // } //

توابع، سرفصل‌های کتابخانه‌های LiquidCrystal و LiquidCrystal_I2C:

  • شروع (ستون ها، ردیف ها، ); - نمایش مقداردهی اولیه بر اساس تعداد صدم ها، ردیف ها و اندازه های نماد.
  • روشن ();- پاک کردن صفحه نمایش با تنظیم مکان نما روی 0.0 (یک ساعت طول می کشد!).
  • خانه ();- تنظیم مکان نما در موقعیت 0.0 (یک ساعت طول می کشد!).
  • نمایش دادن ()؛- نمایش روی صفحه نمایش (بدون تغییر در RAM).
  • بدون نمایش ();- نمایشگر Shvidke vimikannya (بدون تغییر در رم).
  • چشمک زدن ();- گنجاندن مکان نما چشمک زن (در فرکانس نزدیک به 1 هرتز).
  • noBlink ();- مکان نما چشمک زن Viklyuchennya.
  • مکان نما ();- گنجاندن صندلی به مکان نما.
  • noCursor ();- مکان نما Viklyuchennya pidkreslennya.
  • scrollDisplayLeft ();- اسکرول صفحه نمایش به چپ اختلال در مختصات نمایش برای صد در صد چپ (بدون تغییر رم).
  • scrollDisplayRight ();- صفحه نمایش را به سمت راست اسکرول می کند. اختلال در نمایشگر مختصات صد در صد به سمت راست (بدون تغییر رم).
  • چپ به راست ()؛- قرار دادن ایستگاه نادال زروشواتی روی مکان نما، با نوشتن نماد نماد، صد در صد به سمت راست.
  • راست به چپ ()؛- من مکان نما را به مکان نما می دهم، نماد را به نماد، صد در صد ارسال می کنم.
  • noAutoscroll ();- متن را در لبه سمت چپ موقعیت مکان نما (به عنوان پیش فرض) قرار دهید.
  • اسکرول خودکار ()؛- متن را در لبه سمت راست موقعیت مکان نما قرار دهید.
  • createChar (تعداد، آرایه ); - نوشتن نماد تعیین شده برای کوریستوواچ در صفحه نمایش CGRAM قبل از اختصاص یک عدد.
  • تنظیم مکان نما (سرهنگ، ردیف ); - تنظیم مکان نما در موقعیتی که با تعداد ستون و ردیف مشخص شده است.
  • چاپ (متن ); - متن Vivedennya، کاراکترها یا اعداد روی صفحه نمایش. سینتکس شبیه به کلاس سریال تک تابعی است.

توابع، فقط در کتابخانه LiquidCrystal_I2C پیاده سازی شده است:

  • init ();- صفحه نمایش Іnіtsіalіzіya. من به دلیل باز شدن شی، به خاطر باز شدن شی، به دلیل اینکه اولین تیم کتابخانه LiquidCrystal_I2C هستم مقصر هستم. برای کمک به عملکرد در کتابخانه LiquidCrystal، هنگامی که شی باز می شود، به طور خودکار (برای پیشنهادات) در کتابخانه فعال می شود.
  • نور پس زمینه ();- شامل کنترل صفحه نمایش
  • بدون نور پس زمینه ();- نمایشگر را نمایش می دهد.
  • تنظیم نور پس زمینه (پرچم ); - کنترل ترافیک (درست - فعال / نادرست - فعال)، جایگزینی توابع noBacklight و نور پس زمینه را انتخاب کنید.

ارتباط:

// برای اتوبوس I2C:
#عبارتند از
#عبارتند از
LiquidCrystal_I2C ال سی دی (نشانی , سرهنگ , ردیف );
تنظیم خالی () (
lcd.init ();
}

پارامتر:
  • نشانی:نشانی ها را در گذرگاه I2C نمایش دهید - 0x27 یا 0x3F
  • col:
  • ردیف:
// برای یک باس موازی با 4 سیم:
#عبارتند از
کریستال مایع ال سی دی (روپیه , E , D4 , D5 , D6 , D7 );
تنظیم خالی () (
lcd.begin (سرهنگ , ردیف );
}
پارامتر:
  • RS: Arduino vivedennya شماره قبل از هر گونه اتصال به RS
  • E:شماره Arduino vivedennya قبل از هر پلاگین E
  • D0 ... D3:شماره بازدیدکنندگان آردوینو قبل از هر گونه اتصال D0-D3
  • D4 ... D7:تعداد ماژول های آردوینو قبل از هر پلاگین D4-D7
  • col:تعداد 100٪ در نمایشگر پیاده سازی شده است
  • ردیف:تعداد ردیف در نمایش قابل تحقق
// برای یک باس موازی با 8 سیم:
#عبارتند از
کریستال مایع ال سی دی (روپیه , E , D0 , D1 , D2 , D3 , D4 , D5 , D6 , D7 );
تنظیم خالی () (
lcd.begin (سرهنگ , ردیف );
}
شروع (سرهنگ , ردیف , );
Іnіcіalіzatsіy نمایش از مقادیر \ u200b \ u200 روی صفحه و نمادها.
پارامتر:
  • col:تعداد 100٪ در نمایشگر پیاده سازی شده است
  • ردیف:تعداد ردیف در نمایش قابل تحقق
  • اندازه:اندازه نمادها، از یک ثابت استفاده کنید:
    LCD_5x8DOTS (برای تغییرات)، یا LCD_5x10DOTS
/ * برای اتوبوس I2C: * / #include // کتابخانه Addkey برای روبات‌های دارای گذرگاه I2C #include // تغییر کتابخانه برای روبات‌های دارای نمایشگر LCD در گذرگاه I2C LiquidCrystal_I2C lcd (0x3F، 20.4)؛ // یک شی کتابخانه بزرگ، شامل پارامترهای نمایش (آدرس I2C = 0x3F، تعداد 100 ردیف = 20، تعداد سطرها = 4) // تنظیم void () (// lcd.init ()؛ // چرا یک روبات با نمایشگر LCD lcd ... کد شما) // / * برای گذرگاه موازی 4 سیم: * / #شامل // سوئیچ به کتابخانه LiquidCrystal برای روبات های دارای صفحه نمایش ال سی دی LiquidCrystal lcd (2,3,4,5,6,7); // در مورد کتابخانه، از جمله الگوهای نمایش (RS, E, D4, D5, D6, D7) مسخره است. D5, D6, D7) راه اندازی خالی () (// lcd.begin (16, 2)؛ // بخشش یک ربات با نمایشگر LCD، چند (صد، ردیف) ... شروع) / / // حلقه خالی () () // ... // اطلاعات Vivodimo مسئول تغییر الگوریتم کد شما است) //

توابع کنترل نمایشگر:

نمایش دادن ()؛
هنگامی که عملکرد noDisplay نمایش داده می شود، نمایشگر را روشن می کند.
توجه: عملکرد به سرعت و بدون تغییر در RAM نمایشگر نمایش داده می شود.
بدون نمایش ();
نمایشگر Vimicaє.
اطلاعات روی نمایشگر قبل از ویکی تابع نمایشگر نمایش داده می شود اما روی حافظه رم نمایش داده نمی شود اما با ارسال فیتیله تابع نمایشگر دوباره نمایش داده می شود.
توجه: عملکرد به سرعت و بدون تغییر در RAM نمایشگر نمایش داده می شود.
scrollDisplayLeft ();
مختصات نمایشگر را صد در صد تغییر دهید.



scrollDisplayRight ();
مختصات نمایشگر را صد در صد به سمت راست از بین می برم.
ویکلیک دائمی تابع داده شده برای تنظیم افکت دسته ای از ردیف ها.
مختصاتی برای اطلاعات نمایش داده شده روی صفحه نمایش و همچنین برای زمان حال داده می شود، زیرا پیام زنده می شود.
توجه: عملکرد بدون تغییر رم نمایشگر نمایش داده می شود.
اگر تابع 40 بار در حالت خوابیده بد باشد، آنگاه مختصات به نقطه بلال تبدیل می شود
روشن ();
با قرار دادن مکان نما روی 0.0 صفحه نمایش را پاک می کند.
اطلاعات به وضوح روی صفحه نمایش قابل مشاهده است.
توجه: وام یک ساعته.
نور پس زمینه ();
گنجاندن سوئیچ نمایشگر
بدون نور پس زمینه ();
نمایش نمایشگر.
توجه: این تابع فقط در کتابخانه LiquidCrystal_I2C اجرا می شود.
تنظیم نور پس زمینه (پرچم );
مدیریت ترافیک (جایگزین عملکردهای noBacklight و نور پس زمینه).
پارامتر:
  • پرچم:اگر true فعال باشد، false پاسخ است.
توجه: این تابع فقط در کتابخانه LiquidCrystal_I2C اجرا می شود.
/ * Vivodimo برای دقت در عملکردهای کنترل نمایشگر نوشته شده است: * / lcd.cursor (0,0); // مکان نما را در قسمت بالای صفحه نمایش قرار دهید (0 صد، 0 ردیف) lcd.print ("iarduino.ru"); // Vivodimo متن "iarduino.ru" (اولین حرف "i" در موقعیت "0.0" و آخرین "u" در موقعیت "10.0" خواهد بود، مکان نما نامرئی در موقعیت است. "11,0") // lcd.noDisplay (); // نمایشگر Vimicaєmo (نوشته شده در خارج از صفحه نمایش) lcd.display (); // نمایشگر را روشن کنید (هم زمان روی نمایشگر بنویسید) lcd.scrollDisplayLeft (); // مختصات Zrushuєmo صد در صد سمت چپ (در صفحه نمایش، "arduino.ru" بدون حرف اول "i" نمایش داده می شود، همانطور که در خارج از صفحه نمایش دیده می شود، یا در yo RAM گم می شود) lcd.scrollDisplayRight ( ) // مختصات Zrushuєmo 100s به سمت راست (نمایشگر "iarduino.ru" را همزمان نشان می دهد، de і bula در پیوند موجود است) lcd.clear (); // نمایشگر قابل تمیز کردن (نوشتن بدون چرخش از صفحه نمایش) lcd.noBacklight (); // نور پس زمینه نور پس زمینه (); // روشن کردن نور پس زمینه صفحه نمایش lcd.setBacklight (0); // رفتن به نمایش نور پس زمینه lcd.setBacklight (1); // صفحه نمایش را روشن کنید

توابع کنترل مکان نما:

تنظیم مکان نما (سرهنگ , ردیف );
تنظیم مکان نما در موقعیت تعیین شده
پارامتر:
  • col:تعداد صد (تعمیر از 0).
  • ردیف:شماره ردیف (تعمیر شده از 0)
خانه ();
تنظیم مکان نما در موقعیت 0.0. تابع SetCursor (0,0);
توجه: وام یک ساعته.
چشمک زدن ();
مکان نما چشمک زن را روشن کنید.
نکته: مکان نما کل فیلد را با نماد و blimat با فرکانس نزدیک به 1 هرتز در همان موقعیت قبلی اشغال می کند.
noBlink ();
مکان نما چشمک زن Vimknennya.
توجه: مکان نما نامرئی می شود، اما موقعیت پایین نامرئی می شود.
مکان نما ();
گنجاندن صندلی به مکان نما.
توجه: مکان نما بر روی نماد صندلی تنظیم شده است و در همان موقعیت قرار دارد که قبلاً تنظیم شده بود.
noCursor ();
نمایش موقعیت مکان نما
توجه: مکان نما نامرئی می شود، اما موقعیت پایین نامرئی می شود.
lcd.setCursor (0, 1); // مکان نما را روی اولین کاراکتر یک ردیف دیگر تنظیم کنید (شماره بندی ردیف ها و توقف ها از 0) lcd.home (); // مکان نما را روی اولین کاراکتر ردیف اول قرار دهید (yak at wiklik lcd.setCursor (0,0);) lcd.blink (); // روبیمو مکان نما قابل مشاهده است (روی نشانگر ماوس یک مستطیل blimati وجود خواهد داشت) lcd.noBlink (); // روبیمو مکان نما نامرئی است (مرتب، مستطیل چشمک زن) lcd.cursor (); // روبیمو مکان نما قابل مشاهده است (روی نشانگر ماوس علامت صندلی وجود دارد) lcd.noCursor (); // روبیمو مکان نما نامرئی است (علامت کالسکه تمیز می شود)

توابع برای ارائه مستقیم و ثابت:

چپ به راست ()؛
درج کردن، برای علامت پوسته جدید، مکان نما را صد در صد در سمت راست قرار دهید.
توجه: هنگامی که متن "abc" را در صفحه نمایش وارد می کنید، "abc" را مشاهده می کنید و متن از موقعیت مکان نما به سمت راست نمایش داده می شود.
(یک تماس)
راست به چپ ()؛
علاوه بر این، با قرار دادن مکان نما روی ماوس صد در صد سمت چپ، یک نماد جدید برای پوست ارسال می کنم.
توجه: هنگامی که متن "abc" را در صفحه نمایش وارد می کنید، "cba" را مشاهده می کنید و متن از موقعیت cob مکان نما بیشتر شناخته می شود.
(حروف از راست به چپ)
noAutoscroll ();
هنگامی که آن را قرار می دهید، متن باید در لبه سمت چپ مکان نما چاپ شود.
توجه: اگر مکان نما را در موقعیت 10.0 قرار دهید و متن را وارد کنید، اولین کاراکتر متن وارد شده در این موقعیت مشخص می شود.
(یک تماس)
اسکرول خودکار ()؛
وقتی در پس‌زمینه وارد می‌کنید، متن باید در لبه سمت راست مکان‌نما نشان داده شود.
توجه: اگر مکان نما را در موقعیت 10.0 قرار دهید و متن را وارد کنید، مکان نما در این موقعیت قرار می گیرد.
(مختصات صفحه نمایش از بین می رود، زیرا آنها یک بار تابع scrollDisplayLeft را با حروف موجود در متن نمایش داده شده پاک کرده اند)
lcd.leftToRight (); // در همان زمان، مکان نما به سمت راست سقوط می کند (Yak به حروف اروپایی) lcd.clear (); lcd.setCursor (5.0); lcd.print ("ABC")؛ // در کنار هم نمایشگر: "ABC" (حرف "A" مکان نما به سمت راست جمع شد، "B" حرکت کرد، مکان نما به سمت راست حرکت کرد و "C" حرکت کرد) lcd.rightToLeft (); // در همان زمان مکان نما به سمت چپ سقوط می کند (Yak به حروف از راست به چپ) lcd.clear (); lcd.setCursor (5.0); lcd.print ("ABC")؛ // در صفحه نمایش، به طور دقیق تر: "CBA" (حرف "A"، مکان نما به چپ سقوط کرد و "B" حرکت کرد، مکان نما به سمت چپ سقوط کرد، و "C" حرکت کرد) lcd.noAutoscroll (); // یال چپ را روی لبه چپ قرار دهید (پیش‌فرض Yak) lcd.clear (); lcd.setCursor (5.0); lcd.print ("ABC")؛ // روی صفحه نمایش، با دقت بیشتر: "ABC" lcd.autoscroll (); // نمایشگر را در سمت راست تنظیم کنید (مختصات نمایشگر با تعداد کاراکترها از بین می رود) lcd.clear (); lcd.setCursor (5.0); lcd.print ("ABC")؛ // نمایش دقیق تر: "ABC" (مختصات صفحه نمایش با 3 کاراکتر باقی مانده از بین می رود، بنابراین اگر نماد پوسته نمایش داده شود، تابع scrollDisplayLeft wikklik نمایش داده می شود)

می توانید متن و نمادها را وارد کنید:

createChar (تعداد، آرایه)؛
ضبط نماد اختصاص داده شده به corystuvach در صفحه نمایش CGRAM تحت یک عدد.
اگر می‌خواهید متنی (تابع چاپ) را که نماد در موقعیت شما مقصر است، وارد کنید، یک اسلش و تعداد ورودی‌ها را در لیست نماد وارد کنید: چاپ ("C \ 1MBO \ 2").
پارامتر:
  • تعداد:عدد під yakim نماد رکورد خواهد بود.
  • آرایه:آرایه با کاراکتر نشان داده می شود.
توجه: آرایه در بایت های اعشاری، تعداد اعداد جاده در نمادها ذخیره می شود. پوسته درج بیت بایت با درج (نام مستعار) پیکسل به کاراکتر نمایش داده می شود.
چاپ (متن)؛
متن Vivedennya، کاراکترها یا اعداد روی صفحه نمایش.
پارامتر:
  • متن:نماد، عدد یا ردیف هایی که روی صفحه نمایش ظاهر می شوند.
نکته: سینتکس شبیه کلاس سریال تک تابعی است.
#عبارتند از // کتابخانه Addkey برای روبات‌های دارای گذرگاه I2C #include // تغییر کتابخانه برای روبات‌های دارای نمایشگر LCD در گذرگاه I2C LiquidCrystal_I2C lcd (0x27,16,2). // شی کتابخانه بزرگتر، از جمله پارامترهای نمایش (آدرس I2C = 0x27، تعداد صدها = 16، تعداد ردیف ها = 2) // uint8_t symbol_d = (0b00000، // 1 ردیف برای نماد "d" 0b00000، // 2 ردیف برای نماد "d" "d" 0b00110، // 3 ردیف برای نماد "d" 0b01010، // 4 ردیف برای نماد "d" 0b01010، // 5 ردیف برای نماد "d" 0b01010، // 6 ردیف برای نماد "d" 0b11111، // 7 ردیف برای نماد "d" 0b10001)؛ // 8 ردیف برای نماد "d" کل آرایه را می توان در یک ردیف نوشت: uint8_t symbol_d = (0,0,6,10,10,10,31,17); // uint8_t symbol_i = (0b00000، // 1 ردیف برای نماد "i" 0b00000، // 2 ردیف برای نماد "i" 0b10001، // 3 ردیف برای نماد "i" 0b10011، // 4 ردیف برای نماد "i" 0b10101، // 5 ردیف برای نماد "i" 0b11001، // 6 ردیف برای نماد "i" 0b10001، // 7 ردیف برای نماد "i" 0b00000); // 8 ردیف برای نماد "i" کل آرایه را می توان در یک ردیف نوشت: uint8_t symbol_i = (0,0,17,19,21,25,17,0); void setup () (// lcd.init ()؛ // چرا ربات باید از صفحه نمایش LCD استفاده کند lcd.backlight ()؛ // صفحه نمایش LCD lcd.createChar (1, symbol_d) را روشن کنید؛ // آن را رمزگذاری کنید اولین نماد حافظه نمایشگر lcd .createChar (2, symbol_i)؛ // درج نماد دیگری در حافظه نمایشگر lcd.clear ()؛ // پاک کردن صفحه نمایش lcd.setCursor (0,0)؛ // قرار دادن مکان نما در Extreme upper cout lcd.print ("Pa \ 1 \ 2o")؛ // vivodimo متن "Padio" با نمادهای "P"، "a"، "o" نوشته شده به لاتین،) // و نمادهای "d" "، "i" حافظه vivodimo ' نمایشگر، شامل عدد // حلقه خالی () (// lcd.setCursor (0,1)؛ lcd.print ("")؛ // پاک کردن کل ردیف پایین lcd. setCursor (0,1)؛ lcd.print ("i")؛ lcd.print ("arduino")؛ lcd.print (." ru")؛ // vivodimo text "i" "arduino" ".ru" در تاخیر ردیف پایین (2000)؛ // checkєmo 2 ثانیه lcd.setCursor (0,1)؛ lcd.print ("")؛ // پاک کردن کل ردیف پایین lcd.setCursor (0،1)؛ lcd.print ( 12.345)؛ // عدد 12.34 نمایش داده می شود (2 کاراکتر pislya komi نمایش داده می شود) تاخیر (2000)؛ // checkєmo 2 ثانیه lcd.setCursor (0,1); lcd.pri nt (""); // پاک کردن کل ردیف پایین lcd.setCursor (0,1); lcd.print (12, HEX); // vivodimo عدد 12 در تاخیر نمای هگزا دسیمال (2000); // checkєmo 2 seconds lcd.setCursor (0,1); lcd.print (""); // پاک کردن کل ردیف پایین lcd.setCursor (0,1); lcd.print (1); // تاخیر vivodimo شماره 1 (2000); // چک کردن 2 ثانیه)