پروژه الکترونیکپروژه های پایتونپروژه های رزبری پای

راه اندازی ماژول مبدل آنالوگ و دیجیتال PCF8591 با رزبری پای

تبدیل آنالوگ به دیجیتال یک کار بسیار مهم در پروژه های الکترونیکی است ، زیرا بیشتر سنسورها خروجی را به صورت مقادیر آنالوگ فراهم می کنند و آنها را به میکروکنترلر هایی ارائه می کنند که فقط مقادیر باینری را درک می کنند بنابراین ما باید آنها را به مقادیر دیجیتال تبدیل کنیم. برای پردازش داده های آنالوگ ، میکروکنترلرها نیاز به مبدل آنالوگ به دیجیتال دارند.

برخی از میکروکنترلرها دارای مبدل آنالوگ به دیجیتال داخلی هستند مثل مانند Arduino ، MSP430 ، PIC16F877A … ، اما برخی از میکروکنترلر ها مانند 8051 ، Raspberry Pi و … مبدل ADC داخلی ندارند و ما باید از ماژول های خارجی آنالوگ به دیجیتال مانند ADC0804 ، ADC0808 استفاده کنیم. در زیر می توانید نمونه های مختلفی از ADC با میکروکنترلرهای مختلف را پیدا کنید:

در این آموزش قصد داریم نحوه راه اندازی ماژول PCF8591 ADC / DAC را با رزبری پای یاد بگیریم.

ماژول PCF8591 ADC / DAC

PCF8591 یک ماژول دیجیتال به آنالوگ و یک ماژول آنالوگ به دیجیتال 8 بیتی است. 8 بیتی یعنی هر پین میتواند مقادیر آنالوگ را به 0 تا 256 تبدیل کند. همچنین این ماژول دارای LDR و ترمیستور است. این ماژول دارای چهار ورودی آنالوگ و یک خروجی آنالوگ است. PCF8591 با پروتکل ارتباطی I2C کار میکند بنابراین دارای پین های SDA و SCL است. برای کار به تغذیه 2.5 تا 6 ولت احتیاج دارد و جریان کمی مصرف میکند.

ماژول PCF8591 ADC / DAC

همچنین میتوانید ولتاژ ورودی را با تنظیم پتانسیومتر روی ماژول تغییر دهیم. سه جامپر روی برد وجود دارد. J4 برای دسترسی به ترمیستور است. J5 برای دسترسی به مقاومت نوری LDR است. J6 نیز برای دسترسی به ولتاژ قابل تنظیم است. بر روی برد ماژول 2 ال ای دی وجود دارد که یکی شدت ولتاژ خروجی و دیگری شدت ولتاژ منبع را نشان میدهد.

حتما ببینید :  آموزش ساخت اسکنر کد QR با رزبری پای و OpenCV

پین های I2C در Raspberry Pi

به منظور استفاده از PCF8591 با Raspberry Pi ، اولین کاری که باید انجام دهید ، دانستن پین های درگاه I2C رزبری پای و پیکربندی پورت I2C است. پین های I2C GPIO2 (SDA) و GPIO3 (SCL) در این آموزش استفاده شده است.

فعال سازی I2C در رزبری پای

به طور پیش فرض ، I2C در Raspberry Pi غیرفعال است. بنابراین ابتدا باید فعال شود. برای فعال کردن I2C در رزبری پای مراحل زیر را طی کنید.

  1. به ترمینال بروید و sudo raspi-config را تایپ کنید.
  2. اکنون تنظیمات نرم افزار Raspberry Pi ظاهر می شود.
  3. گزینه Interfacing را انتخاب کنید و سپس I2C را فعال کنید.
  4. پس از فعال کردن I2C رزبری پای را مجددا راه اندازی کنید.

پیکربندی I2C در Raspberry Pi

اسکن آدرس I2C PCF8591 با استفاده از رزبری پای

حال برای شروع ارتباط با PCF8591 IC ، باید آدرس I2C را بدانیم. برای پیدا کردن آدرس ابتدا پین SDA و SCL ماژول PCF8591 را به پین ​​SDA و SCL Raspberry Pi متصل کنید. همچنین پین های + 5V و GND را وصل کنید.

اکنون ترمینال را باز کرده و فرمان زیر را تایپ کنید تا آدرس دستگاه I2C متصل را بدانید :

sudo i2cdetect –y 1 or sudo i2cdetect –y 0

پس از یافتن آدرس I2C اکنون زمان آن رسیده است که مدار را متصل کرده و کتابخانه های لازم را برای استفاده از PCF8591 با Raspberry Pi نصب کنید.

مدار راه اندازی PCF8591 ADC / DAC با رزبری پای

شماتیک مدار برای اتصال PCF8591 به Raspberry Pi ساده است. در این پروژه ی مثال، مقادیر آنالوگ را از هر یک از پین های آنالوگ می خوانیم و آن را در ترمینال Raspberry Pi نشان می دهیم. ما می توانیم مقادیر را با استفاده از یک پتانسیومتر 100 کیلو اهم تغییر دهیم.

مدار راه اندازی PCF8591 ADC DAC با رزبری پای

VCC و GND را به GPIO2 و GPIO برد رزبری پای وصل کنید. بعد ، به ترتیب SDA و SCL را به GPIO3 و GPIO5 وصل کنید. در آخر یک پتانسیومتر 100K را به AIN0 وصل کنید. همچنین می توانید به جای نشان دادن مقادیردر ترمینال ، یک ال سی دی کاراکتری 16*2 را برای نمایش مقادیر ADC اضافه کنید. در مورد اتصال ال سی دی کاراکتری به رزبری پای بیشتر بدانید.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
حتما ببینید :  پروژه سرعت سنج GPS با آردوینو و نمایشگر OLED

قطعات مورد نیاز

  1. رزبری پای
  2. ماژول PCF8591 ADC / DAC
  3. پتانسیومتر 100 کیلو اهم

کد پایتون برای تبدیل آنالوگ به دیجیتال (ADC)

کد کامل برای تبدیل آنالوگ به دیجیتال در رزبری پای در انتهای صفحه آورده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم.

در مرحله اول ، کتابخانه smbus را برای ارتباط I2C و کتابخانه time را برای ایجاد تاخیر وارد میکنیم.

import smbus
import time

اکنون برخی از متغیرها را تعریف میکنیم. متغیر اول شامل آدرس I2C و متغیر دوم آدرس پین ورودی آنالوگ اول را دارد.

address = 0x48
A0 = 0x40

بعد ، ما یک تابع SMBus(1) را میسازیم.

bus = smbus.SMBus(1)

سپس در while ، خط اول به ماژول میگوید اندازه گیری ولتاژ آنالوگ را انجام دهد و سپس مقدار را در یک متغیر ذخیره کرده و آن را در ترمینال نمایش میدهد.

while True:
    bus.write_byte(address,A0)
    value = bus.read_byte(address)
    print(value)
    time.sleep(0.1)

سرانجام کد پایتون را در یک پرونده با پسوند .py ذخیره کنید و کد را در ترمینال رزبری پای با دستور زیر اجرا کنید.

python filename.py

فیلم راه اندازی مبدل آنالوگ به دیجیتال در رزبری پای

قبل از اجرای کد اطمینان حاصل کنید که ارتباط I2C را فعال کرده اید و تمام پین ها همانطور که در شماتیک مدار نشان داده شده است متصل شده اند ، در غیر این صورت با خطا مواجه میشوید. اکنون پتانسیومتر را تغییر دهید تا مقادیر را در ترمینال مشاهده کنید. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

دانلود فیلم پروژه مبدل آنالوگ و دیجیتال PCF8591 با رزبری پای

موارد موجود در فایل : سورس کامل ، شماتیک

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا