قراءة حرف تسلسلي
جزء من قسم المدخلات في رحلة Arduino على Coddy. الدرس 15 من 22.
يعمل اتصال Serial في كلا الاتجاهين. ينتقل النص الذي تكتبه في مربع شاشة Serial وترسله باستخدام Send إلى اللوحة حرفًا واحدًا في كل مرة، ويبقى هناك في مخزن مؤقت إلى أن تقرأه المخطوطة البرمجية.
تُبيّن Serial.available() عدد الأحرف المنتظرة. وتأخذ Serial.read() الحرف التالي من المخزن المؤقت. يتسع متغير char لحرف واحد، ويُكتب بين علامتي اقتباس مفردتين:
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1') {
// تمت كتابة 1
}
}تشير '1' المكتوبة بين علامتي اقتباس مفردتين إلى الحرف 1، أي المفتاح الذي تضغطه. وهي ليست العدد 1: تخزّن اللوحة هذا الحرف بالرمز 49.
ترسل شاشة Serial أيضًا حرف سطر جديد غير مرئي، يُكتب '\n'، بعد كل ما تكتبه. تتعامل المخطوطة البرمجية مع الأحرف التي تعرفها وتتجاهل الأحرف الأخرى.
التحدي
سهليوجد LED على المنفذ 13. بدّله من شاشة Serial:
- عندما يكون هناك حرف بانتظار القراءة، اقرأه في متغير من النوع
char - يشغّل
'1'الـ LED، ويطفئه'0' - أي حرف آخر، مثل سطر جديد، لا يغيّر شيئًا
اضغط على Run، واكتب 1 أو 0 في شاشة Serial واضغط على Send، ثم Check.
جرّب بنفسك
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// عندما يكون هناك حرف بانتظار القراءة، اقرأه
// '1' يشغّل LED، و'0' يطفئه
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المدخلات
تدرّب بنفسك: Playground لـ Arduino