جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مرحبًا ، لقد كنت أستكشف مؤخرًا كيفية تنفيذ أنواع مختلفة من التعليمات البرمجية في دائرة. لقد وجدت أن صنع آلة حاسبة سيكون طريقة رائعة لتنفيذ "الحالة" وأشكال أخرى من التعليمات البرمجية التي وجدتها مثيرة للاهتمام. لقد صنعت في الماضي آلات حاسبة مباشرة من الكود ، لكن صنع دائرة لها أعطاني الاهتمام. خاصة خلال فترة الحجر الصحي هذه حيث أكون على جهاز الكمبيوتر الخاص بي طوال اليوم تقريبًا. المشروع هو تنفيذ عمليات حسابية على شاشة 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: النتيجة
أتمنى أن تستمتعوا جميعًا بهذه التعليمات. شكرا لقرائتك!
صاييم.