جدول المحتويات:
- الخطوة 1: المواد
- الخطوة 2: توصيل لوحة المفاتيح 4x4
- الخطوة 3: توفير الطاقة للوحة التوصيل وتوصيل شاشة LCD
- الخطوة 4: قم بتوصيل الطاقة والأرضي بشاشة LCD
- الخطوة 5: توصيل مقياس الجهد
- الخطوة 6: توصيل Arduino بشاشة LCD
- الخطوة 7: تنفيذ التعليمات البرمجية
- الخطوة 8: النتيجة
فيديو: مسابقة TinkerCad للحاسبة: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
مرحبًا ، لقد كنت أستكشف مؤخرًا كيفية تنفيذ أنواع مختلفة من التعليمات البرمجية في دائرة. لقد وجدت أن صنع آلة حاسبة سيكون طريقة رائعة لتنفيذ "الحالة" وأشكال أخرى من التعليمات البرمجية التي وجدتها مثيرة للاهتمام. لقد صنعت في الماضي آلات حاسبة مباشرة من الكود ، لكن صنع دائرة لها أعطاني الاهتمام. خاصة خلال فترة الحجر الصحي هذه حيث أكون على جهاز الكمبيوتر الخاص بي طوال اليوم تقريبًا. المشروع هو تنفيذ عمليات حسابية على شاشة LCD.
الخطوة 1: المواد
للحلبة:
- شاشة LCD 16 × 2
- اردوينو اونو R3
- لوحة المفاتيح 4x4
- اللوح الصغير
- مقياس الجهد (250 كيلو أوم)
- المقاوم (1kΩ)
- x26 أسلاك توصيل
الخطوة 2: توصيل لوحة المفاتيح 4x4
قم بتوصيل دبابيس 4 صفوف على لوحة المفاتيح 4x4 بدبابيس Arduino 4-7 ، وقم بتوصيل دبابيس الأعمدة الأربعة بدبابيس Arduino 0-3.
الخطوة 3: توفير الطاقة للوحة التوصيل وتوصيل شاشة LCD
لقد استخدمت جهد طاقة قدره 5 للوح. لقد قمت بتوصيل الطاقة والأرض باللوحة. يتم وضع شاشة LCD على اللوح ، ويتم وضعها بحيث يتم توصيل جميع دبابيسها بلوحة التجارب.
الخطوة 4: قم بتوصيل الطاقة والأرضي بشاشة LCD
سيكون هناك 3 دبابيس من الأرض اللازمة لتوصيلها بشاشة LCD. سيتم توصيل أحدهم بالأرض بنفسه من شاشة LCD ، وسيتم توصيل الآخر بمصباح LED الخاص بشاشة LCD ، وسيتم توصيل الأخير بـ RW. سوف يتطلب VCC الخاص بشاشة LCD و LED توصيل الطاقة. ومع ذلك ، فإن طاقة LED ستتطلب مقاومًا متصلًا في هذه الحالة لقد استخدمت مقاومًا 1kΩ.
الخطوة 5: توصيل مقياس الجهد
قم بتوصيل مقياس الجهد بلوحة التجارب باستخدام 3 أعمدة مجانية. سيكون به 3 دبابيس ، سيحتاج العمود الذي يحتوي على دبوس الطرف 1 إلى الأرض الممنوحة له. سيحتاج العمود الذي يحتوي على طرف الطرف 2 إلى الطاقة الممنوحة له. بعد ذلك ، سيكون للممسحة سلك توصيل في العمود الذي يتصل بـ VO من شاشة LCD.
الخطوة 6: توصيل Arduino بشاشة LCD
سيتم توصيل الدبابيس 8-13 الموجودة على Arduino بشاشة LCD. سوف تتصل الدبابيس 8-11 على Arduino بـ D8 (7-4) على التوالي. ثم سيتصل الدبوس 12 من Arduino بـ Enable of the LCD ، وسوف يتصل الدبوس 13 في Arduino بسجل شاشة LCD.
الخطوة 7: تنفيذ التعليمات البرمجية
ستكون هناك حاجة إلى رمز لاستخدام العمليات الحسابية مع لوحة المفاتيح وشاشات الكريستال السائل. سيكون ما يلي هو الكود الذي استخدمته ، ولكن لا يزال بإمكاني تنفيذ العديد من التغييرات لجعله أكثر نظافة وأفضل. لذا لا تتردد في اللعب بها قليلاً.
# تضمين # تضمين
LiquidCrystal LCD (13 ، 12 ، 11 ، 10 ، 9 ، 8) ؛
طويلة أولا = 0 ؛
ثانية طويلة = 0 ؛
مجموع مزدوج = 0 ؛
وضع int = 0 ؛
char customKey ؛
const بايت ROWS = 4 ؛
البايت الثابت COLS = 4 ؛
مفاتيح char [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C'، '0'، '='، '+'}} ؛
بايت rowPins [ROWS] = {7، 6، 5، 4} ؛
البايت colPins [COLS] = {3، 2، 1، 0} ؛
لوحة المفاتيح المخصصة
الإعداد باطل(){
lcd.begin (16 ، 2) ؛
lcd.setCursor (5 ، 0) ؛
lcd.clear () ؛ }
حلقة فارغة() {
customKey = customKeypad.getKey () ؛
التبديل (مفتاح مخصص) {
الحالة "0" … "9":
lcd.setCursor (0 ، 0) ؛
الأول = الأول * 10 + (مفتاح مخصص - '0') ؛
lcd.print (أولاً) ؛
وضع ++ ؛
استراحة؛
الحالة "+":
الأول = (المجموع = 0؟ المجموع: الأول) ؛
lcd.setCursor (الوضع ، 0) ؛
lcd.print ("+") ؛
وضع ++ ؛
الثانية = SecondNumber () ؛
المجموع = أول + ثانية ؛
lcd.setCursor (1 ، 1) ؛
lcd.print (إجمالي) ؛
الأول = 0 ،
الثانية = 0 ؛
وضع = 0 ؛
استراحة؛
قضية '-':
الأول = (المجموع = 0؟ المجموع: الأول) ؛
lcd.setCursor (الوضع ، 0) ؛
lcd.print ("-") ؛
وضع ++ ؛
الثانية = SecondNumber () ؛
المجموع = أول - ثانية ؛
lcd.setCursor (1 ، 1) ؛
lcd.print (إجمالي) ؛
الأول = 0 ،
الثانية = 0 ؛
وضع = 0 ؛
استراحة؛
قضية '*':
الأول = (المجموع = 0؟ المجموع: الأول) ؛
lcd.setCursor (الوضع ، 0) ؛
lcd.print ("*") ؛
وضع ++ ؛
الثانية = SecondNumber () ؛
المجموع = أول * ثانية ؛
lcd.setCursor (1 ، 1) ؛
lcd.print (إجمالي) ؛
الأول = 0 ،
الثانية = 0 ؛
وضع = 0 ؛
استراحة؛
قضية '/':
الأول = (المجموع = 0؟ المجموع: الأول) ؛
lcd.setCursor (الوضع ، 0) ؛
lcd.print ("/") ؛
وضع ++ ؛
الثانية = SecondNumber () ؛ lcd.setCursor (1 ، 1) ؛
الثانية == 0؟ lcd.print ("خطأ"): المجموع = (عائم) أولاً / (عائم) ثانية ؛
lcd.print (إجمالي) ؛
الأول = 0 ،
الثانية = 0 ؛
وضع = 0 ؛
استراحة؛
الحالة "ج":
المجموع = 0 ؛
الأول = 0 ؛
الثانية = 0 ؛
وضع = 0 ؛
lcd.clear () ؛
استراحة؛ }
}
رقم SecondNumber الطويل () {
بينما (1) {
customKey = customKeypad.getKey () ؛
إذا (customKey> = '0' && customKey <= '9') {
الثانية = الثانية * 10 + (مفتاح مخصص - '0') ؛
lcd.setCursor (الوضع ، 0) ؛
lcd.print (الثانية) ؛ }
إذا (المفتاح المخصص == 'C') {
المجموع = 0 ؛
الأول = 0 ؛
الثانية = 0 ؛
وضع = 0 ؛
lcd.clear () ؛
استراحة؛ }
إذا (المفتاح المخصص == '=') {
lcd.setCursor (0 ، 1) ؛
lcd.print ("=") ؛
وضع = المجموع ؛
lcd.clear () ؛
lcd.setCursor (0 ، 1) ؛
lcd.print ("=") ؛
استراحة؛ }
}
العودة الثانية؛}
الخطوة 8: النتيجة
أتمنى أن تستمتعوا جميعًا بهذه التعليمات. شكرا لقرائتك!
صاييم.
موصى به:
كاميرا مطبوعة ثلاثية الأبعاد Gimbal (مسابقة Tinkercad): 6 خطوات
كاميرا مطبوعة ثلاثية الأبعاد Gimbal (مسابقة Tinkercad): مرحبًا ، هذه كاميرا gimbal صممتها في Tinkercad. تم صنع المحور الرئيسي من مقبض الجرة هذا وخمس حلقات gimbal / جيروسكوب لا أستطيع العثور عليها بعد الآن. يمكن العثور على تصميم Tinkercad هنا. تم تصميم هذا للعمل على الصلاحيات
رسم روبوت مع Adafruit Shield (مسابقة Make It Move): 10 خطوات (بالصور)
رسم روبوت مع Adafruit Shield (مسابقة Make It Move): مرحبًا اسمي جاكوب وأنا أعيش في المملكة المتحدة. في هذا المشروع ، سأقوم ببناء روبوت يرسم لك. * أنا متأكد من أن العديد منكم يريدون رؤيته ، لذا إذا كنت تريد أن تعرف ، يرجى التخطي مباشرة إلى الخطوة الثانية إلى الأخيرة ولكن تأكد من العودة إلى هنا لمشاهدة
أدراج الحصاد - دخول مسابقة NASA Growing Beyond Earth: 5 خطوات (بالصور)
أدراج الحصاد - دخول مسابقة NASA Growing Beyond Earth: الملخص: على متن محطة الفضاء الدولية ، لا يملك رواد الفضاء مساحة كبيرة لزراعة الطعام. تم تصميم هذه الحديقة المائية لتعمل بكفاءة باستخدام الحد الأدنى من المساحة لحصاد 30 نبتة في جدول تناوب في حالة انعدام الجاذبية
ذراع روبوت بمحرك سيرفو يتم التحكم فيه بواسطة Fpga - مسابقة Digilent: 3 خطوات
ذراع روبوت بمحرك سيرفو يتم التحكم فيه بواسطة Fpga - مسابقة Digilent: ذراع روبوت بمحرك مؤازر يتم التحكم فيه بواسطة FPGA الهدف من هذا المشروع هو إنشاء نظام قابل للبرمجة يمكنه إجراء عمليات اللحام على لوحة الأداء. يعتمد النظام على لوحة تطوير Digilent Basys3 وسيكون قادرًا على لحام
والتر (مسابقة اردوينو): 5 خطوات (بالصور)
WALTER (مسابقة Arduino): الرجاء التصويت لي لمسابقة Arduino 2017 [يرجى المعذرة عن لغتي الإنجليزية] أنا حقًا أحب الإعداد الشهير لـ 2 من حشرات arduino على youtube. عندما نظرت إليها ، أتذكر دائمًا ما فعله الرجال الروبوتيون في BEAM قبل فترة طويلة من أن يصبح هذا الإعداد المفضل. هذه ع