جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في هذا البرنامج التعليمي ، سنبني الآلة الحاسبة الخاصة بنا باستخدام Arduino. يمكن إرسال القيم من خلال لوحة مفاتيح (لوحة مفاتيح 4 × 4) ويمكن عرض النتيجة على شاشة LCD. يمكن أن تؤدي هذه الآلة الحاسبة عمليات بسيطة مثل الجمع والطرح والضرب والقسمة مع الأعداد الصحيحة. ولكن بمجرد فهمك للمفهوم ، يمكنك تنفيذ حتى الوظائف العلمية باستخدام وظائف Arduino المدمجة.
اللوازم
اردوينو اونو
شاشة عرض LCD مقاس 16 × 2
لوحة مفاتيح 4 × 4
اللوح
كابلات العبور
كابل اردوينو
الخطوة 1: المخططات
الخطوة الثانية: تركيب المكتبة:
كما قيل سابقًا ، سنقوم بتوصيل شاشة LCD ولوحة مفاتيح مع Arduino باستخدام المكتبات. لذلك دعونا نضيفها إلى Arduino IDE أولاً. يتم تضمين مكتبة LCD بالفعل في Arduino بشكل افتراضي ، لذلك لا داعي للقلق بشأنها. لمكتبة لوحة المفاتيح (انقر على الرابط لتنزيلها من جيثب). ستحصل على ملف ZIP ، ثم أضف هذا lib إلى Arduino عن طريق Sketch -> Include Library -> أضف ملف ZIP وأشر الموقع إلى هذا الملف الذي تم تنزيله. بمجرد الانتهاء ، نكون جاهزين للبرمجة.
الخطوة 3: كود المصدر:
/*
© تيكترونيك هارش
*/
#يشمل
#يشمل
LiquidCrystal LCD (0 ، 1 ، 2 ، 3 ، 4 ، 5) ؛
const بايت ROWS = 4 ؛ البايت الثابت COLS = 4 ؛
مفاتيح char [ROWS] [COLS] = {
{'1'، '2'، '3'، '+'}، {'4'، '5'، '6'، '-'}، {'7'، '8'، '9'، ' * '}، {' C '،' 0 '،' = '،' / '}} ؛ بايت rowPins [ROWS] = {13، 12، 11، 10} ؛ البايت colPins [COLS] = {9، 8، 7، 6} ؛
لوحة المفاتيح myKeypad = لوحة المفاتيح (makeKeymap (مفاتيح) ، rowPins ، colPins ، ROWS ، COLS) ؛
قيمة منطقية = خطأ ؛
التالي المنطقي = خطأ ؛ قيمة منطقية = خطأ ؛ سلسلة num1 ، num2 ؛ إجابة int شار المرجع
الإعداد باطل()
{lcd.begin (16، 2) ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("Techtronic Harsh") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("آلة حاسبة") ؛ تأخير (3000) ؛ lcd.clear () ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("أعجبني و") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("اشترك معنا") ؛ تأخير (3000) ؛ lcd.clear () ؛ }
حلقة فارغة(){
char key = myKeypad.getKey () ؛
إذا (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || key == '7' || key == '8' || key == '9' || key == '0'))
{if (presentValue! = true) {num1 = num1 + key؛ عدد int numLength = num1.length () ؛ lcd.setCursor (15 - numLength ، 0) ؛ // لضبط مسافة بيضاء واحدة لطباعة شاشة LCD (عدد 1) ؛ } else {num2 = num2 + key؛ عدد int numLength = num2.length () ؛ lcd.setCursor (15 - numLength ، 1) ؛ lcd.print (عدد 2) ؛ نهائي = صحيح ؛ }}
else if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{if (presentValue == false) {presentValue = true؛ المرجع = مفتاح ؛ lcd.setCursor (15، 0) ؛ lcd.print (المرجع) ؛ }}
else if (final == true && key! = NO_KEY && key == '=') {
إذا (op == '+') {answer = num1.toInt () + num2.toInt () ؛ } else if (op == '-') {answer = num1.toInt () - num2.toInt ()؛ } else if (op == '*') {answer = num1.toInt () * num2.toInt ()؛ } else if (op == '/') {answer = num1.toInt () / num2.toInt ()؛ } lcd.clear () ؛ lcd.setCursor (15، 0) ؛ lcd.autoscroll () ، lcd.print (إجابة) ؛ lcd.noAutoscroll () ، } else if (key! = NO_KEY && key == 'C') {lcd.clear ()؛ PresentValue = خطأ ؛ نهائي = خطأ ؛ عدد 1 = "" ؛ عدد 2 = "" ؛ الجواب = 0 ؛ المرجع = "؛ }}
/*
© تيكترونيك هارش
*/
الخطوة الرابعة: العمل:
قم بإجراء الاتصالات وفقًا لمخطط الدائرة وقم بتحميل الكود. إذا ظهر خطأ ، فتأكد من إضافة المكتبة وفقًا للإرشادات الواردة أعلاه.
الحرف على لوحة المفاتيح والافتراض:
- "أ" - إضافة (+)
- "ب" - الطرح (-)
- "ج" - الضرب (*)
- "D" - القسم (/)
- "*" - مسح (C)
- "#" - يساوي (=)