جدول المحتويات:

آلة حاسبة بسيطة وقياسية مع CloudX: 5 خطوات
آلة حاسبة بسيطة وقياسية مع CloudX: 5 خطوات

فيديو: آلة حاسبة بسيطة وقياسية مع CloudX: 5 خطوات

فيديو: آلة حاسبة بسيطة وقياسية مع CloudX: 5 خطوات
فيديو: الطريقة الصحيحة لإستعمال الآلة الحاسبة 2024, شهر نوفمبر
Anonim
آلة حاسبة بسيطة وقياسية مع CloudX
آلة حاسبة بسيطة وقياسية مع CloudX

في هذا البرنامج التعليمي ، سوف نتعلم كيفية صنع آلة حاسبة بسيطة وقياسية باستخدام CloudX ، يرجى النقر إذا لم تكن قد قرأت أي شيء على لوحة المفاتيح Interfacing مع CloudX من قبل ، هنا ، هدفنا هو تعليمك كيف يمكنك تطوير آلة حاسبة خاصة بالأجهزة باستخدام cloudX M633.

هدفنا هو أن نكون قادرين على تصميم آلة حاسبة يمكنها إجراء عمليات الجمع (+) ، والطرح (-) ، والضرب (*) والقسمة (/) بنتائج بأرقام عشرية منخفضة تصل إلى 0.0000001 وبأعداد صحيحة تصل إلى 90000000. الآلة الحاسبة لديه القدرة على اكتشاف الأخطاء الحسابية وما إلى ذلك. يجب أن يكون كل طفل وطالب وهواة قادرين على القيام بهذا المشروع الرائع.

الخطوة 1: متطلبات الأجهزة

متطلبات الأجهزة
متطلبات الأجهزة
متطلبات الأجهزة
متطلبات الأجهزة

1x CloudX متحكم

1x CloudX SoftCard

1x كابل يو اس بي

1x 4x4 ماتريكس لوحة المفاتيح

1x 16x2 LCD أسلاك توصيل معزز

1x 1kΩ المقاوم

مقاومات 4x 10kΩ

الخطوة الثانية: توصيل رقم التعريف الشخصي

اتصال رقم التعريف الشخصي
اتصال رقم التعريف الشخصي
اتصال رقم التعريف الشخصي
اتصال رقم التعريف الشخصي
اتصال رقم التعريف الشخصي
اتصال رقم التعريف الشخصي

دبابيس اتصال CloudX مع دبابيس اتصال LCD و CloudX مع لوحة المفاتيح

الخطوة 3: مخطط الدائرة

مخطط الرسم البياني
مخطط الرسم البياني

الخطوة 4: البرنامج

/ * * الملف: Smart KeyPad Lock System.c

* المؤلف: هوديي

*

* تم الإنشاء في 20 آذار (مارس) 2018 الساعة 11:21 صباحًا

*/

#يشمل

#يشمل

#يشمل

#يشمل

#define NumberOfRows 4 // اضبط العرض على أربعة صفوف

#define NumberOfColumns 4 // اضبط العرض على ثلاثة أعمدة

char KeypadCharacters [NumberOfRows] [NumberOfColumns] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C'، '0'، '='، '/'

};

char RowPins [NumberOfRows] = {7، 8، 9، 10} ؛

char ColumnsPins [NumberOfColumns] = {11، 12، 13، 14} ؛

مفاتيح char ، a = 0 ، تحقق = 0 ، عملية = 0 ، إشارة = 0 ، إشارة = 0 ؛

إجابة عائمة موقعة ؛

شار * Panswer ؛

شار Aanswer [10]؛

مدخلات طويلة موقعة

شار أينبوتا [10] ؛

توقيع طويل المدخلات ب ؛

شار أينبوتب [10] ؛

اقامة(){

إعداد لوحة المفاتيح (PULLDOWNCOL ، RowPins ، ColumnsPins ، NumberOfRows ، NumberOfColumns ، KeypadCharacters) ؛

إعداد شاشات الكريستال السائل (1 ، 2 ، 3 ، 4 ، 5 ، 6) ؛

lcdCmd (lcd_clear) ؛

lcdCmd (cursor_off) ؛

lcdWriteText (1 ، 1 ، "آلة حاسبة مع") ؛

lcdWriteText (2، 1، "CLOUDX") ؛

delayMs (2000) ؛

lcdCmd (lcd_clear) ؛

lcdCmd (cursor_blink) ؛

حلقة(){

المفاتيح = getKey () ،

إذا (Keys! = 0 && Keys == 'C') {

lcdCmd (lcd_clear) ؛

lcdCmd (cursor_blink) ؛

لـ (أ = 0 ؛ أ <10 ؛ أ ++) {

أينبوتا [أ] = 0 ؛

أينبوتب [أ] = 0 ؛

Aanswer [a] = 0 ؛

}

أ = 0 ؛

العملية = 0 ؛

تحقق = 0 ؛

Signa = 0 ؛

إشارة = 0 ؛

}

إذا (تحقق == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off) ؛

المدخلات = أتوي (أينبوتا) ؛

inputb = atoi (Ainputb) ؛

إذا (الإشارة == '-') {

المدخلات = - (المدخلات) ؛

}

إذا (Signb == '-') {

inputb = - (inputb) ؛

}

إذا (العملية == '+') {

الجواب = inputa + inputb ؛

longTostr (Aanswer، answer، DEC) ؛

}

إذا (العملية == '-') {

الجواب = المدخلات - المدخلات ب ؛

longTostr (Aanswer، answer، DEC) ؛

}

إذا (العملية == '*') {

الجواب = inputa * inputb ؛

longTostr (Aanswer، answer، DEC) ؛

}

إذا (العملية == '/') {

الإجابة = (float) inputa / (float) inputb ؛

Panswer = floatTostr (إجابة) ؛

إذا (inputa> inputb) {

Panswer [5] = 0 ؛

}

}

إذا (العملية == '/') {

lcdWriteText (2، 1، "ANS:") ؛

lcdWriteTextCP (Panswer) ؛

}

آخر {

lcdWriteText (2، 1، "ANS:") ؛

lcdWriteTextCP (Aanswer) ؛

}

}

إذا (Keys! = 0 && (Keys == '+' || Keys == '-' || Keys == '*' || Keys == '/')) {

إذا (عملية! = 0 && a == 0 && signb == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (مفاتيح) ؛

إذا (المفاتيح == '-' || المفاتيح == '+') {

Signb = مفاتيح ؛

}

}

إذا (العملية == 0 && a == 0 && signa == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (مفاتيح) ؛

إذا (المفاتيح == '-' || المفاتيح == '+') {

Signa = مفاتيح ؛

}

}

إذا (العملية == 0 && a! = 0) {

lcdWriteCP (مفاتيح) ؛

العملية = المفاتيح ؛

أ = 0 ؛

}

}

إذا (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Keys == '6' || Keys == '7' || Keys == '8' || Keys == '9')) {

إذا (عملية! = 0) {

lcdWriteCP (مفاتيح) ؛

أينبوتب [أ] = مفاتيح ؛

أ ++ ؛

تحقق = 1 ؛

}

إذا (العملية == 0) {

lcdWriteCP (مفاتيح) ؛

أينبوتا [أ] = مفاتيح ؛

أ ++ ؛

}

}

}

}

موصى به: