جدول المحتويات:
- الخطوة 1: كيف يعمل I2c
- الخطوة 2:
- الخطوة 3: الاستخدام
- الخطوة 4: قراءة القيمة
- الخطوة 5: قراءة Vale من القناة
- الخطوة 6: اكتب القيمة
- الخطوة 7: ميزات إضافية
- الخطوة 8: أمثلة مخطط الاتصال
- الخطوة 9: شكرا
فيديو: PCF8591 (i2c Analog I / O Expander) استخدام سريع وسهل: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
مكتبة لاستخدام i2c pcf8591 IC مع اردوينو و esp8266.
يمكن أن يتحكم هذا IC (حتى 4) في الإدخال التناظري و / أو خرج تناظري واحد مثل قياس الجهد أو قراءة قيمة الثرمستور أو يتلاشى الصمام.
يمكن قراءة القيمة التناظرية وكتابة القيمة التناظرية بسلكين فقط (مثالي لـ ESP-01).
أحاول تبسيط استخدام هذا IC ، مع الحد الأدنى من مجموعة العمليات.
يمكنك العثور على نسخة محدثة على موقعي
الخطوة 1: كيف يعمل I2c
تعمل I2C مع سلكين ، SDA (خط البيانات) و SCL (خط الساعة).
كلا الخطين عبارة عن استنزاف مفتوح ، لكن يتم سحبهما باستخدام المقاومات.
عادة ما يكون هناك سيد واحد وواحد أو عدة عبيد على المحك ، على الرغم من أنه يمكن أن يكون هناك عدة سادة ، لكننا سنتحدث عن ذلك لاحقًا.
يمكن لكل من السادة والعبيد إرسال البيانات أو استقبالها ، وبالتالي ، يمكن أن يكون الجهاز في إحدى هذه الحالات الأربع: الإرسال الرئيسي ، والاستقبال الرئيسي ، والإرسال التابع ، والاستقبال التابع.
الخطوة 2:
يمكنك أن تجد مكتبتي هنا.
للتحميل.
انقر فوق الزر DOWNLOADS في الزاوية اليمنى العليا ، وأعد تسمية المجلد غير المضغوط PCF8591.
تأكد من أن المجلد PCF8591 يحتوي على PCF8591.cpp و PCF8591.h.
ضع مجلد مكتبة PCF8591 الخاص بك / libraries / folder.
قد تحتاج إلى إنشاء مجلد فرعي للمكتبات إذا كانت مكتبتك الأولى.
أعد تشغيل IDE.
الخطوة 3: الاستخدام
المُنشئ: يجب عليك إدخال عنوان i2c (للتحقق من العنوان ، استخدم هذا الدليل I2cScanner)
PCF8591 (عنوان uint8_t) ؛
بالنسبة لـ esp8266 ، إذا كنت تريد تحديد SDA e SCL pin ، فاستخدم هذا:
PCF8591 (عنوان uint8_t ، uint8_t sda ، uint8_t scl) ؛
الخطوة 4: قراءة القيمة
IC كما ترى في الصورة يحتوي على 4 مدخلات تناظرية و 1 مخرج تناظري.
لذا لقراءة كل المدخلات التناظرية في عملية انتقال واحدة يمكنك القيام بها (القيمة من 0 إلى 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll () ؛
Serial.print (ai.ain0) ؛ Serial.print ("-") ؛ Serial.print (ai.ain1) ؛ Serial.print ("-") ؛ Serial.print (ai.ain2) ؛ Serial.print ("-") ؛ Serial.println (ai.ain3) ؛
إذا كنت تريد قراءة مدخلات أو قناة تناظرية واحدة:
int آنا = pcf8591.analogRead (AIN0) ؛ // قراءة التناظرية 0
الخطوة 5: قراءة Vale من القناة
يحتوي هذا IC على نوع متعدد من القراءة ويمكنك استخدام الإدخال التناظري أو القناة التناظرية (عند استخدام الإدخال التناظري للقراءة الفردية والقناة في الصور).
على سبيل المثال لقراءة قيمة القناة 0 في إدخالين تفاضليين ، يجب عليك القيام بذلك:
int ana = pcf8591.analogRead (CHANNEL0، TWO_DIFFERENTIAL_INPUT) ؛ // قراءة التناظرية 0
الخطوة 6: اكتب القيمة
إذا كنت تريد كتابة قيمة تمثيلية ، يجب عليك القيام بذلك (القيمة من 0 إلى 255):
pcf8591.analogWrite (128) ؛
الخطوة 7: ميزات إضافية
ميزة إضافية هي قراءة جهد الكتابة: لحساب الجهد ، يجب عليك تمرير بعض المعلمات:
- متحكم مرجعيالجهد: احصل على الجهد من جهد متحكم دقيق (فقط AVR لا esp8266 لـ esp 3.3v ثابت)
- ReferenceVoltage: إذا كان متحكمًا مرجعيًا Voltage false فخذ هذه القيمةالأمر هو:
كتابة الجهد الفارغ (قيمة تعويم ، وحدة تحكم دقيقة منطقية ، مرجع الجهد = صحيح ، مرجع تعويم الجهد = 5.0) ؛
قراءة الجهد العائم (uint8_t analogPin ، متحكم منطقي ، مرجع الجهد = صحيح ، مرجع تعويم الجهد = 5.0) ؛
ومن الأمثلة على ذلك:
pcf8591.voltageWrite (2.7) ؛ // 2.7Volts الإخراج
تأخير (3000) ؛
تعويم ana0V = pcf8591.voltageRead (AIN0) ؛ // قراءة الجهد من التناظرية 0
Serial.println (ana0V) ؛
الخطوة 8: أمثلة مخطط الاتصال
الخطوة 9: شكرا
سلسلة مشروع i2c (مجموعة):
- مستشعر درجة الحرارة والرطوبة
- الموسع التناظري
- موسع رقمي
- عرض شاشات الكريستال السائل
موصى به:
Otto DIY Robot Walking - برنامج تعليمي سريع وسهل: 7 خطوات
Otto DIY Robot Walking - برنامج تعليمي سريع وسهل: في هذا البرنامج التعليمي سوف نتعلم كيفية برمجة أوتو DIY Robot للمشي بسهولة. شاهد فيديو توضيحي
DHT12 (مستشعر الرطوبة ودرجة الحرارة الرخيص i2c) ، استخدام سريع وسهل: 14 خطوة
DHT12 (مستشعر الرطوبة ودرجة الحرارة الرخيص من i2c) ، استخدام سريع وسهل: يمكنك العثور على التحديث وغيره على موقعي https://www.mischianti.org/2019/01/01/dht12-library-en/. يمكن استخدامها مع سلكين (بروتوكول i2c) ، لكني أحب ذلك غير المكلف ، فهذه مكتبة Arduino و esp8266 لسلسلة DHT12
سريع وسهل FPV Mini RC Car Racing: 3 خطوات
سريع وسهل FPV Mini RC Car Racing: لديّ زوجان من سيارات WLToys K979 وأردت تجربة سباق FPV المصغر الداخلي. مع انتشار الكاميرات وأجهزة الإرسال رخيصة الثمن All In One (AIO) ، كان من السهل جدًا إعدادها. إليك ما تحتاجه: RC Car (أنا أستخدم WLToys K979) $
شاحن IPod سريع وسهل / مقبس ملحق DC محمول: 3 خطوات
شاحن IPod سريع وسهل / مقبس ملحق DC محمول: هذا تصميم بسيط من نوع S U P E R سيسمح لك بتشغيل العديد من ملحقات DC المختلفة من حزمة بطارية بسيطة
فاصل زمني إلكتروني سريع وسهل: 6 خطوات
فاصل زمني إلكتروني سريع وسهل: هذا اختراق قصير إلى حد ما لكاميرا النقاط والتقاط. سأقوم بتفكيك الكاميرا الخاصة بي ، والنقر على مفاتيح الغالق / التركيز ثم توصيلها بدائرة مؤقت قابلة للتعديل. إذا كنت قد رأيت تعليماتي السابقة - فأنت تعلم أنني معجب كبير