فهرست مطالب:
- مرحله 1: موارد مورد نیاز
- مرحله 2: نصب کتابخانه نمایش TFT در Arduino IDE
- مرحله 3: کد ماشین حساب را بارگذاری کنید
تصویری: ماشین حساب صفحه لمسی آردوینو TFT LCD: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
سلام بچه ها در این دستورالعمل نحوه ساخت ماشین حساب با استفاده از Arduino Uno با صفحه نمایش لمسی 3.5 اینچی TFT LCD را یاد می گیریم. بنابراین ما یک کد می نویسیم و آن را در arduino بارگذاری می کنیم که رابط ماشین حساب را روی صفحه نمایش می دهد و عملکرد لمسی را نیز انجام می دهد. خروجی عبارات اساسی ریاضی را ارائه دهید.
مرحله 1: موارد مورد نیاز
برای این پروژه به موارد زیر نیاز دارید: 3.5 اینچ TFT LCD DISPLAYARDUINO UNO
مرحله 2: نصب کتابخانه نمایش TFT در Arduino IDE
ما از کتابخانه SPFD5408 استفاده می کنیم:
برای کارکردن این کد ماشین حساب arduino. این یک کتابخانه تغییر یافته از Adafruit است و می تواند به طور یکپارچه با ماژول LCD TFT ما کار کند. برای شما بسیار مهم است که این کتابخانه را در Arduino IDE خود نصب کنید یا این برنامه را بدون خطا کامپایل کنید. برای نصب این کتابخانه ، می توانید به سادگی بر روی پیوند بالا کلیک کنید که شما را به صفحه Github منتقل می کند. در آنجا روی clone یا download کلیک کرده و "Download ZIP" را انتخاب کنید. یک فایل فشرده بارگیری می شود. اکنون ، Arduino IDE را باز کرده و Sketch -> Include Librarey -> Add. ZIP library را انتخاب کنید. یک پنجره مرورگر باز می شود و به فایل ZIP بروید و روی "OK" کلیک کنید. در گوشه سمت چپ پایین آردوینو باید به "کتابخانه ای که به کتابخانه های شما اضافه شده است" توجه کنید.
مرحله 3: کد ماشین حساب را بارگذاری کنید
پس از نصب کتابخانه ، صفحه نمایش را به آردوینو وصل کنید و کد زیر را کپی کنید و آن را در آردوینو بارگذاری کنید. کتابخانه#شامل "SPFD5408_TouchScreen.h"/*_ پایان کتابخانه ها _*//** تعریف XM A2 // باید یک پین آنالوگ باشد ، از نماد "An" استفاده کنید!#تعریف YM 7 // می تواند یک پین دیجیتال باشد#تعریف XP 6 // می تواند یک پین دیجیتال باشد#تعریف LCD_CS A3#تعریف LCD_CD A2#تعریف LCD_WR A1#تعریف LCD_RD A0#تعریف LCD_RESET A4/*_ پایان تعریفها _*//*_ تعیین نام رنگها و فشار _*/#تعریف WHITE 0x0000 // سیاه-> سفید#تعریف YELLOW 0x001F // آبی-> زرد#تعریف CYAN 0xF800 // قرمز-> فیروزه ای#تعریف PINK 0x07E0 // سبز-> صورتی#تعریف RED 0x07FF // فیروزه ای-> قرمز#تعریف GREEN 0xF81F // صورتی-> سبز#تعریف BLUE 0xFFE0 // زرد- > آبی#تعریف BLACK 0xFFFF // سفید-> سیاه#تعریف MINPRESSURE 10#تعریف MAXPRESSURE 1000/*_ تعیین _*//*_ کالیبره TFT LCD _*/#تعریف TS_MINX 125#تعریف TS_MINY 85#تعریف TS_MAXX 965#تعریف 90 _ پایان کالیبراسیون _*/TouchScreen ts = TouchScreen (XP، YP، XM، YM، 300) ؛ // 300 حساسیت Adafruit_TFTLCD tft (LCD_CS ، LCD_CD ، LCD_WR ، LCD_RD ، LCD_RESET) است ؛ // شروع ارتباط با نماد LCDString [4] [4] = {{"7" ، "8" ، "9" ، "/"} ، {"4" ، "5" ، "6" ، "*"} ، {"1" ، "2" ، "3" ، "-"} ، {"C" ، "0" ، "=" ، "+"}} ؛ int X ، Y ؛ طولانی Num1 ، Num2 ، Number ؛ اقدام به کاراکتر ؛ boolean result = false؛ void setup () {Serial.begin (9600)؛ // از مانیتور سریال برای اشکال زدایی tft.reset () استفاده کنید. // همیشه در شروع تنظیم مجدد tft.begin (0x9341) ؛ // LCD من از IC درایور رابط LIL9341 tft.setRotation (2) استفاده می کند. // من فقط طوری چرخیدم که جک برق رو به بالا باشد - اختیاری tft.fillScreen (WHITE) ؛ IntroScreen () ؛ draw_BoxNButtons ()؛ } void loop () {TSPoint p = waitTouch ()؛ X = p.y؛ Y = p.x؛ // Serial.print (X)؛ Serial.print ('،')؛ Serial.println (Y)؛ // + "" + Y)؛ DetectButtons ()؛ if (result == true) CalculateResult ()؛ DisplayResult ()؛ تأخیر (300) ؛} TSPoint waitTouch () {TSPoint p؛ انجام دهید {p = ts.getPoint ()؛ pinMode (XM ، OUTPUT) ؛ pinMode (YP ، OUTPUT) ؛ } while ((p.z MAXPRESSURE)) ؛ p.x = نقشه (p.x ، TS_MINX ، TS_MAXX ، 0 ، 320) ؛ p.y = نقشه (p.y ، TS_MINY ، TS_MAXY ، 0 ، 240) ؛؛ بازگشت p؛} void DetectButtons () {if (X0) // تشخیص دکمه ها در ستون 1 {if (Y> 0 && Y <85) // در صورت لغو دکمه {Serial.println ("Button Cancel") فشار داده می شود ؛ تعداد = Num1 = Num2 = 0 ؛ result = false؛} if (Y> 85 && Y <140) // If Button 1 is pressed {Serial.println ("Button 1")؛ اگر (تعداد == 0) شماره = 1 ؛ else شماره = (شماره*10) + 1؛ // دو بار} اگر (Y> 140 && Y <192) // اگر دکمه 4 {Serial.println ("دکمه 4") فشار داده شود ، دو بار فشرده شده است. اگر (تعداد == 0) شماره = 4 ؛ else شماره = (شماره*10) + 4 ؛ // دو بار} اگر (Y> 192 && Y <245) // اگر دکمه 7 {Serial.println ("دکمه 7") فشار داده شود ، فشرده می شود. اگر (تعداد == 0) شماره = 7 ؛ else شماره = (شماره*10) + 7 ؛ // دوبار فشار داده}} if (X50) // تشخیص دکمه ها در ستون 2 {if (Y> 0 && Y <85) {Serial.println ("Button 0")؛ // دکمه 0 فشار داده می شود اگر (تعداد == 0) شماره = 0 ؛ else شماره = (شماره*10) + 0 ؛ // دو بار} if (Y> 85 && Y <140) {Serial.println ("Button 2")؛ اگر (تعداد == 0) شماره = 2 ؛ else شماره = (شماره*10) + 2؛ // دو بار فشرده} if (Y> 140 && Y <192) {Serial.println ("دکمه 5") ؛ اگر (تعداد == 0) شماره = 5 ؛ else شماره = (شماره*10) + 5؛ // فشرده twic} if (Y> 192 && Y <245) {Serial.println ("دکمه 8") ؛ اگر (تعداد == 0) شماره = 8 ؛ else شماره = (شماره*10) + 8؛ // فشرده twic}} if (X105) // تشخیص دکمه ها در ستون 3 {if (Y> 0 && Y <85) {Serial.println ("Button Equal") ؛ Num2 = تعداد ؛ نتیجه = درست ؛ } if (Y> 85 && Y <140) {Serial.println ("دکمه 3") ؛ اگر (تعداد == 0) شماره = 3 ؛ else شماره = (شماره*10) + 3؛ // دو بار} if (Y> 140 && Y <192) {Serial.println ("Button 6")؛ اگر (تعداد == 0) شماره = 6 ؛ else شماره = (شماره*10) + 6 ؛ // دو بار} if (Y> 192 && Y <245) {Serial.println ("Button 9")؛ اگر (تعداد == 0) شماره = 9 ؛ else شماره = (شماره*10) + 9 ؛ // دوبار فشرده}} if (X165) // تشخیص دکمه ها در ستون 3 {Num1 = Number؛ تعداد = 0 ؛ tft.setCursor (200 ، 20) ؛ tft.setTextColor (RED) ؛ if (Y> 0 && Y <85) {Serial.println ("Add")؛ عمل = 1 ؛ tft.println ('+')؛} if (Y> 85 && Y <140) {Serial.println ("تفریق") ؛ عمل = 2 ؛ tft.println ('-')؛} if (Y> 140 && Y <192) {Serial.println ("ضرب") ؛ عمل = 3 ؛ tft.println ('*')؛} if (Y> 192 && Y <245) {Serial.println ("Devesion")؛ عمل = 4 ؛ tft.println ('/') ؛} تاخیر (300) ؛ }} void CalculateResult () {if (action == 1) Number = Num1+Num2؛ if (action == 2) Number = Num1-Num2؛ if (action == 3) Number = Num1*Num2؛ if (action == 4) Number = Num1/Num2؛ } void DisplayResult () {tft.fillRect (0 ، 0 ، 240 ، 80 ، CYAN) ؛ // پاک کردن کادر نتیجه tft.setCursor (10 ، 20) ؛ tft.setTextSize (4) ؛ tft.setTextColor (BLACK) ؛ tft.println (شماره) ؛ // مقدار جدید را به روز کنید} void IntroScreen () {tft.setCursor (55 ، 120) ؛ tft.setTextSize (3) ؛ tft.setTextColor (RED) ؛ tft.println ("ARDUINO") ؛ tft.setCursor (30 ، 160) ؛ tft.println ("محاسبه گر") ؛ tft.setCursor (30 ، 220) ؛ tft.setTextSize (2) ؛ tft.setTextColor (آبی) ؛ tft.println ("-Circut Digest") ؛ تأخیر (1800) ؛} void draw_BoxNButtons () {// رسم کادر نتیجه tft.fillRect (0 ، 0 ، 240 ، 80 ، CYAN) ؛ // رسم اولین ستون tft.fillRect (0 ، 260 ، 60 ، 60 ، RED) ؛ tft.fillRect (0 ، 200 ، 60 ، 60 ، BLACK) ؛ tft.fillRect (0 ، 140 ، 60 ، 60 ، BLACK) ؛ tft.fillRect (0 ، 80 ، 60 ، 60 ، BLACK) ؛ // رسم ستون سوم tft.fillRect (120 ، 260 ، 60 ، 60 ، GREEN) ؛ tft.fillRect (120 ، 200 ، 60 ، 60 ، BLACK) ؛ tft.fillRect (120 ، 140 ، 60 ، 60 ، BLACK) ؛ tft.fillRect (120 ، 80 ، 60 ، 60 ، BLACK) ؛ // Draw Secound & Fourth Column for (int b = 260؛ b> = 80؛ b- = 60) {tft.fillRect (180، b، 60، 60، BLUE)؛ tft.fillRect (60، b، 60، 60، BLACK)؛} // رسم خطوط افقی برای (int h = 80؛ h <= 320؛ h+= 60) tft.drawFastHLine (0، h، 240، WHITE)؛ // رسم خطوط عمودی برای (int v = 0 ؛ v <= 240؛ v+= 60) tft.drawFastVLine (v ، 80 ، 240 ، WHITE) ؛ // نمایش برچسب های صفحه کلید برای (int j = 0 ؛ j <4؛ j ++) {برای (int i = 0 ؛ i <4؛ i ++) {tft.setCursor (22+(60*i) ، 100+(60* ی)) ؛ tft.setTextSize (3) ؛ tft.setTextColor (سفید) ؛ tft.println (نماد [j] ) ؛ }}} پس از بارگذاری کد ، می توانید ماشین حساب را در صفحه نمایش من مشاهده کنید و اکنون می توانید محاسبات پایه ریاضی را در این مورد انجام دهید. بنابراین از ساخت ماشین حساب خود با Arduino UNO لذت ببرید.
توصیه شده:
ماشین حساب پس انداز حساب بانکی: 18 مرحله
ماشین حساب پس انداز حساب بانکی: از اینکه ماشین حساب پس انداز من را انتخاب کردید متشکرم. امروز ما نحوه برنامه ریزی کلاس BankAccount را برای پیگیری هزینه ها و پس اندازهای شخصی خود یاد می گیریم. به منظور ایجاد یک حساب بانکی برای پیگیری هزینه های خود ، ابتدا به یک واحد اساسی نیاز دارید
آردوینو ماشین حساب با استفاده از صفحه کلید 4X4: 4 مرحله (همراه با تصاویر)
ماشین حساب آردوینو با استفاده از صفحه کلید 4X4: در این آموزش ما ماشین حساب خود را با آردوینو می سازیم. مقادیر را می توان از طریق یک صفحه کلید (صفحه کلید 4 × 4) ارسال کرد و نتیجه را می توان در صفحه LCD مشاهده کرد. این ماشین حساب می تواند عملیات ساده ای مانند جمع ، تفریق ، چند برابر
ماشین حساب صفحه لمسی آردوینو: 7 مرحله
ماشین حساب صفحه لمسی آردوینو: سلام! این پروژه ساخت ماشین حساب صفحه لمسی با استفاده از Arduino Uno و سپر LCD TFT است. من برای کلاس برنامه نویسی مدرسه خانگی خود ایده ای ارائه دادم و تجربه ساخت این پروژه بسیار جالب بود. این ماشین حساب حدود
نحوه استفاده از صفحه کلید و LCD با آردوینو برای ساخت ماشین حساب آردوینو .: 5 مرحله
نحوه استفاده از صفحه کلید و LCD با Arduino برای ساخت ماشین حساب Arduino: در این آموزش من نحوه استفاده از صفحه کلید ماتریس 4x4 و LCD 16x2 با Arduino و استفاده از آن برای ساخت یک ماشین حساب ساده Arduino را به اشتراک می گذارم. بنابراین اجازه دهید شروع کنیم
صفحه لمسی دیواری همگام سازی خانواده و صفحه کنترل صفحه: 7 مرحله (همراه با تصاویر)
صفحه لمسی دیواری همگام سازی خانواده و صفحه کنترل صفحه: ما تقویمی داریم که ماهانه با رویدادها به روز می شود اما به صورت دستی انجام می شود. ما همچنین تمایل داریم چیزهایی را که تمام شده ایم یا سایر کارهای جزئی دیگر فراموش کنیم. در این عصر من فکر می کردم داشتن یک تقویم همگام سازی شده و یک سیستم دفترچه یادداشت بسیار آسان تر است که بتواند