في هذا البرنامج التعليمي ، سوف نتعلم كيفية استخدام ADC في Raspberry Pi Pico مع رمز مثال ADC باستخدام MicroPython. المحول التناظري إلى الرقمي (ADC) عبارة عن دائرة تقوم بتحويل قيمة الجهد المستمر (التناظرية) إلى قيمة ثنائية (رقمية) يمكن فهمها بواسطة جهاز رقمي يمكن استخدامه بعد ذلك في الحساب الرقمي.
تم تصميم Raspberry Pi Pico باستخدام متحكم RP2040. تعرض اللوحة 26 دبوس GPIO متعدد الوظائف من إجمالي 36 دبوس GPIO. من بين 36 دبابيس GPIO ، يوجد 4 دبابيس ADC لكن 3 منها فقط قابلة للاستخدام.
ADC في Raspberry Pi Pico هو 12 بت ، وهو 4 مرات أفضل من 10 بت ADC في Arduino. سنكتب رمز MicroPython لمعرفة كيف يمكننا استخدام قيمة PIN ADC مع أي مستشعرات تمثيلية. مقياس الجهد هو أفضل أداة لتغيير الجهد التناظري للإدخال. ولكن قبل القفز مباشرة إلى دليل ADC ، يوصى بالانتقال إلى دروس Raspberry Pi Pico Getting Started.
ما هو المحول التناظري إلى الرقمي (ADC)؟
يعد المحول التناظري إلى الرقمي (ADC) ميزة مفيدة للغاية تقوم بتحويل الجهد التناظري على دبوس إلى رقم رقمي. من خلال التحويل من العالم التناظري إلى العالم الرقمي ، يمكننا البدء في استخدام الإلكترونيات للتفاعل مع العالم التناظري من حولنا.
في تطبيقات الحياة الواقعية ، يعد ADC نظامًا يحول الإشارة التناظرية ، مثل صوت يلتقطه ميكروفون أو ضوء يدخل إلى كاميرا رقمية ، إلى إشارة رقمية. قد يوفر ADC أيضًا قياسًا معزولًا مثل جهاز إلكتروني يحول جهدًا تناظريًا أو تيارًا إلى رقم رقمي يمثل حجم الجهد أو التيار.
يعتبر ADC مثاليًا لهذه المستشعرات. باستخدام ADC ، يمكنك استشعار المعلمات البيئية مثل الضوء والصوت والمسافة والجاذبية والتسارع والدوران والرائحة والغازات والجزيئات الأخرى.
كيف يعمل ADC في متحكم؟
تحتوي معظم المتحكمات الدقيقة في الوقت الحاضر على محولات ADC مدمجة. من الممكن أيضًا توصيل محول ADC خارجي بأي نوع من وحدات التحكم الدقيقة. محولات ADC عادة ما تكون 10 أو 12 بت ، بها 1024 إلى 4096 مستوى تكميم. A 16 بت ADC لديها 65536 مستويات تكمية. يحتوي Raspberry Pi Pico على 12 بت ADC بمستوى تكميم يبلغ 4096.
________________________________________
________________________________________
import machine
import utime
analog_value = machine.ADC(28)
while True:
reading = analog_value.read_u16()
print("ADC: ",reading)
utime.sleep(0.2)
No comments:
Post a Comment