- கூறுகள் தேவை
- MCP4725 DAC தொகுதி (டிஜிட்டல் முதல் அனலாக் மாற்றி)
- ராஸ்பெர்ரி பையில் I2C பின்ஸ்
- ராஸ்பெர்ரி பைக்கு MCP4725 அடாஃப்ரூட் நூலகத்தை நிறுவுதல்
- அடாஃப்ரூட் எல்சிடி காட்சி நூலகத்தை நிறுவுதல்
- சுற்று வரைபடம் மற்றும் இணைப்புகள்
- டிஜிட்டல் முதல் அனலாக் மாற்றத்திற்கான நிரலாக்க ராஸ்பெர்ரி பை
மைக்ரோகண்ட்ரோலர்கள் டிஜிட்டல் மதிப்புகளுடன் மட்டுமே செயல்படுகின்றன, ஆனால் நிஜ உலகில் நாம் அனலாக் சிக்னல்களைக் கையாள வேண்டும். அதனால்தான் நிஜ உலக அனலாக் மதிப்புகளை டிஜிட்டல் வடிவமாக மாற்ற ஏடிசி (அனலாக் டு டிஜிட்டல் மாற்றிகள்) உள்ளது, இதனால் மைக்ரோகண்ட்ரோலர்கள் சிக்னல்களை செயலாக்க முடியும். ஆனால் டிஜிட்டல் மதிப்புகளிலிருந்து அனலாக் சிக்னல்கள் நமக்குத் தேவைப்பட்டால், இங்கே டிஏசி (டிஜிட்டல் முதல் அனலாக் மாற்றி) வருகிறது.
மோட்டார் கட்டுப்பாடு, எல்.ஈ.டி விளக்குகளின் கட்டுப்பாட்டு பிரகாசம், ஆடியோ பெருக்கி, வீடியோ குறியாக்கிகள், தரவு கையகப்படுத்தல் அமைப்புகள் போன்ற பல பயன்பாடுகளில் டிஏசி பயன்படுத்தப்படலாம்.
நாங்கள் ஏற்கனவே MCP4725 DAC தொகுதியை Arduino மற்றும் STM32 உடன் இணைத்துள்ளோம். ராஸ்பெர்ரி பை பயன்படுத்தி டிஜிட்டல் முதல் அனலாக் மாற்றி வடிவமைக்க இன்று அதே MCP4725 DAC IC ஐப் பயன்படுத்துவோம். உங்கள் ராஸ்பெர்ரி PI இல் நீங்கள் ஏற்கனவே சமீபத்திய OS ஐ நிறுவியுள்ளீர்கள் மற்றும் SSH வழியாக அதை அணுகலாம் என்று கருதப்படுகிறது. இல்லையெனில், தொடர்வதற்கு முன் ராஸ்பெர்ரி பை டுடோரியலுடன் தொடங்குவதைப் பின்தொடரவும். இங்கே நாம் ராஸ்பெர்ரி பை 3 இல் நிறுவப்பட்ட ராஸ்பியன் நீட்சியைப் பயன்படுத்துகிறோம்.
கூறுகள் தேவை
- ராஸ்பெர்ரி பை 3 பி + (ராஸ்பியன் ஓஎஸ் நிறுவப்பட்டவுடன்)
- MCP4725 DAC IC
- 16x2 எல்சிடி காட்சி
- ப்ரெட்போர்டு
- கம்பிகளை இணைக்கிறது
MCP4725 DAC தொகுதி (டிஜிட்டல் முதல் அனலாக் மாற்றி)
MCP4725 ஐசி என்பது 12-பிட் டிஜிட்டல் முதல் அனலாக் மாற்றி தொகுதி ஆகும், இது வெளியீட்டு அனலாக் மின்னழுத்தங்களை (0 முதல் 5 வி வரை) உருவாக்க பயன்படுகிறது, மேலும் இது I2C தகவல்தொடர்புகளைப் பயன்படுத்துவதன் மூலம் கட்டுப்படுத்தப்படுகிறது. இது போர்டு nonvolatile memory EEPROM உடன் வருகிறது.
இந்த ஐசி 12-பிட் தீர்மானம் கொண்டது. குறிப்பு மின்னழுத்தத்தைப் பொறுத்து மின்னழுத்த வெளியீட்டை வழங்க (0 முதல் 4096 வரை) உள்ளீடாகப் பயன்படுத்துகிறோம் என்பதாகும். அதிகபட்ச குறிப்பு மின்னழுத்தம் 5 வி ஆகும்.
வெளியீட்டு மின்னழுத்தத்தைக் கணக்கிட சூத்திரம்
O / P மின்னழுத்தம் = (குறிப்பு மின்னழுத்தம் / தீர்மானம்) x டிஜிட்டல் மதிப்பு
எடுத்துக்காட்டுக்கு நாம் 5V ஐ குறிப்பு மின்னழுத்தமாகப் பயன்படுத்தினால், டிஜிட்டல் மதிப்பு 2048 என்று வைத்துக் கொள்வோம். எனவே DAC வெளியீட்டைக் கணக்கிட.
O / P மின்னழுத்தம் = (5/4096) x 2048 = 2.5 வி
MCP4725 இன் பின்அவுட்
முள் பெயர்களை தெளிவாகக் குறிக்கும் MCP4725 இன் படம் கீழே உள்ளது.

|
MCP4725 இன் ஊசிகளும் |
பயன்படுத்தவும் |
|
வெளியே |
வெளியீடுகள் அனலாக் மின்னழுத்தம் |
|
ஜி.என்.டி. |
வெளியீட்டிற்கான ஜி.என்.டி. |
|
எஸ்.சி.எல் |
I2C சீரியல் கடிகார வரி |
|
எஸ்.டி.ஏ. |
I2C சீரியல் தரவு வரி |
|
வி.சி.சி. |
உள்ளீட்டு குறிப்பு மின்னழுத்தம் 5 வி அல்லது 3.3 வி |
|
ஜி.என்.டி. |
உள்ளீட்டுக்கான ஜி.என்.டி. |
இந்த ஐ.சி. ஐ 2 சி தகவல்தொடர்புகளைப் பயன்படுத்தி கட்டுப்படுத்த முடியும், இதற்கு இரண்டு கம்பிகள் எஸ்சிஎல் மற்றும் எஸ்.டி.ஏ மட்டுமே தேவைப்படுகிறது. இயல்பாக, MCP4725 க்கான I2C முகவரி 0x60 ஆகும். ராஸ்பெர்ரி பைவில் I2C தொடர்பு பற்றி இப்போது எங்களுக்குத் தெரியும்.
ராஸ்பெர்ரி பையில் I2C பின்ஸ்
ராஸ்பெர்ரி பை உடன் MCP4725 ஐப் பயன்படுத்த, முதலில் செய்ய வேண்டியது ராஸ்பெர்ரி பை I2C போர்ட் ஊசிகளை அறிந்துகொள்வதும், ராஸ்பெர்ரி பையில் I2C போர்ட்டை உள்ளமைப்பதும் ஆகும்.
ராஸ்பெர்ரி பை 3 மாடல் பி + இன் பின் வரைபடம் கீழே உள்ளது, மேலும் இந்த டுடோரியலில் I2C பின்ஸ் GPIO2 (SDA) மற்றும் GPIO3 (SCL) பயன்படுத்தப்படுகின்றன.
ராஸ்பெர்ரி பையில் I2C ஐ கட்டமைக்கிறது
இயல்பாக, ராஸ்பெர்ரி பை இல் I2C முடக்கப்பட்டுள்ளது. எனவே முதலில் அதை இயக்க வேண்டும். ராஸ்பெர்ரி பையில் I2C ஐ இயக்க
1. முனையத்திற்குச் சென்று sudo raspi-config என தட்டச்சு செய்க .
2. இப்போது ராஸ்பெர்ரி பை மென்பொருள் கட்டமைப்பு கருவி தோன்றும்.
3. இடைமுக விருப்பங்களைத் தேர்ந்தெடுத்து, பின்னர் I2C ஐ இயக்கவும்.

4. I2C ஐ மீண்டும் துவக்கிய பின் பை.
ராஸ்பெர்ரி பை பயன்படுத்தி MCP4725 இன் I2C முகவரியை ஸ்கேன் செய்கிறது
இப்போது MCP4725 ஐசியுடன் தொடர்பு கொள்ள, ராஸ்பெர்ரி பை அதன் I2C முகவரியை அறிந்திருக்க வேண்டும். முகவரியைக் கண்டுபிடிக்க முதலில் MCP4725 இன் SDA மற்றும் SCL முள் SDA மற்றும் ராஸ்பெர்ரி பையின் SCL முள் ஆகியவற்றுடன் இணைக்கவும். + 5 வி மற்றும் ஜிஎன்டி ஊசிகளையும் இணைக்கவும்.
இணைக்கப்பட்ட I2C சாதனத்தின் முகவரியை அறிய இப்போது முனையத்தைத் திறந்து கீழே உள்ள கட்டளையைத் தட்டச்சு செய்க, sudo i2cdetect –y 1 அல்லது sudo i2cdetect –y 0
I2C முகவரியைக் கண்டுபிடித்த பிறகு , ராஸ்பெர்ரி பை உடன் MCP4725 ஐப் பயன்படுத்த தேவையான நூலகங்களை நிறுவுவதற்கான நேரம் இது.
ராஸ்பெர்ரி பைக்கு MCP4725 அடாஃப்ரூட் நூலகத்தை நிறுவுதல்
பொருட்டு ராஸ்பெர்ரி பையின் I2C பஸ் உடன் MCP4725 டிஏசியைக் பலகை பயன்படுத்த, ஒரு Adafruit MCP4725 நூலகம் பயன்படுத்தப்படுகிறது. நூலகத்தைப் பதிவிறக்கி நிறுவ இந்த வழிமுறைகளைப் பின்பற்றவும்:
1. ராஸ்பெர்ரி பை செயலில் உள்ள இணையத்துடன் இணைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.
2. அடுத்து ஒரு முனையத்தைத் திறந்து பின்வரும் வரிகளை ஒவ்வொன்றாக இயக்கவும்.
sudo apt-get install git build- அத்தியாவசிய பைதான்-தேவ் கிட் குளோன் https://github.com/adafruit/Adafruit_Python_MCP4725.git cd Adafruit_Python_MCP4725 sudo python setup.py install
3. வெற்றிகரமான நிறுவலுக்குப் பிறகு இப்போது அடாஃப்ரூட் எம்.சி.பி 4725 நூலகத்தை எந்த பைதான் ஸ்கிரிப்டிலும் வரியைப் பயன்படுத்தி இறக்குமதி செய்யலாம்
Adafruit_MCP4725 ஐ இறக்குமதி செய்க
அடாஃப்ரூட் எல்சிடி காட்சி நூலகத்தை நிறுவுதல்
டிஏசி மற்றும் அனலாக் மின்னழுத்த மதிப்புகளைக் காண்பிக்க இந்த திட்டத்தில் எல்சிடி பயன்படுத்தப்படுகிறது, எனவே ராஸ்பெர்ரி பையில் எல்சிடி நூலகத்தை பதிவிறக்கம் செய்து நிறுவ இந்த படிகளைப் பின்பற்றவும்:
1. ஒரு முனைய சாளரத்தைத் திறந்து பின்வரும் வரிகளை ஒவ்வொன்றாக இயக்கவும்.
apt-get install git git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd Adafruit_Python_CharLCD sudo python setup.py install
2. எல்சிடி நூலகத்தை நிறுவிய பின் இப்போது Adafruit_python_CharLCD ஐ எந்த பைதான் ஸ்கிரிப்டிலிருந்தும் பின்வரும் வரியைப் பயன்படுத்தி பயன்படுத்தலாம்
Adafruit_CharLCD ஐ LCD ஆக இறக்குமதி செய்க
இப்போது ராஸ்பெர்ரி பை டிஜிட்டல் முதல் அனலாக் மாற்றிக்கு குறியீடு செய்ய தயாராக உள்ளது, எனவே கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி சுற்றுடன் இணைப்போம்.
சுற்று வரைபடம் மற்றும் இணைப்புகள்
ராஸ்பெர்ரி பை உடன் DAC IC MCP4725 ஐப் பயன்படுத்துவதற்கான சுற்று வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது:

(16x2) எல்சிடி & ராஸ்பெர்ரி பை இடையே சுற்று இணைப்புகள்
|
எல்.சி.டி. |
ராஸ்பெர்ரி பை 3 பி + |
|
வி.எஸ்.எஸ் |
ஜி.என்.டி. |
|
வி.டி.டி. |
+ 5 வி |
|
வி 0 |
மாறுபட்ட கட்டுப்பாட்டுக்கான பொட்டென்டோமீட்டரிலிருந்து |
|
ஆர்.எஸ் |
GPIO25 |
|
ஆர்.டபிள்யூ |
ஜி.என்.டி. |
|
இ |
GPIO24 |
|
டி 4 |
GPIO23 |
|
டி 5 |
GPIO17 |
|
டி 6 |
GPIO18 |
|
டி 7 |
GPIO22 |
|
அ |
+ 5 வி |
|
கே |
ஜி.என்.டி. |
MCP4725 & ராஸ்பெர்ரி பை இடையே சுற்று இணைப்புகள்
|
MCP4725 |
ராஸ்பெர்ரி பை 3 பி + |
மல்டிமீட்டர் |
|
ஜி.என்.டி. |
ஜி.என்.டி. |
எதிர்மறை ஆய்வு |
|
வி.சி.சி. |
+ 5 வி |
- |
|
எஸ்.டி.ஏ. |
GPIO2 (SDA) |
- |
|
எஸ்.சி.எல் |
GPIO3 (SCL) |
- |
|
வெளியே |
- |
நேர்மறை ஆய்வு |
முழுமையான அமைப்பு இப்படி இருக்கும்:

டிஜிட்டல் முதல் அனலாக் மாற்றத்திற்கான நிரலாக்க ராஸ்பெர்ரி பை
ராஸ்பெர்ரி பைக்கான முழுமையான பைதான் குறியீடு இந்த டுடோரியலின் முடிவில் கொடுக்கப்பட்டுள்ளது. புட்டி போன்ற எந்த SSH கிளையன்ட் அல்லது ஃபைல்ஜில்லா போன்ற எந்த FTP கிளையண்டையும் பயன்படுத்தி அதை ராஸ்பெர்ரி பைக்கு பதிவேற்றவும் அல்லது ஒரு மானிட்டரை இணைப்பதன் மூலம் நிரலை நேரடியாக ராஸ்பெர்ரி பைக்கு எழுதலாம். நிரலாக்க ராஸ்பெர்ரி பை பற்றி இங்கே மேலும் அறிக.
இந்த திட்டத்தில் 0-4096 இன் டிஜிட்டல் மதிப்பு ராஸ்பெர்ரி பை முதல் எம்சிபி 4725 க்கு ஐ 2 சி பஸ் வழியாக அனுப்பப்படுகிறது, இது 0 முதல் 5 வி வரை அனலாக் வெளியீட்டு மின்னழுத்தத்தை உருவாக்குகிறது, இது மல்டிமீட்டருடன் சரிபார்க்கப்படலாம். டிஜிட்டல் மற்றும் அனலாக் மதிப்புகள் இரண்டும் 16x2 எல்சிடியில் காட்டப்படும். எங்கள் திட்டத்தில் டிஜிட்டல் மதிப்பு பயன்படுத்தி 150 ஒரு அதிகரிப்பு அனுப்பப்படும் க்கான சுழற்சிக்கு (0,150,300,450… 4050). நிரலை விரிவாகப் பார்ப்போம்.
முதலில் தேவையான அனைத்து நூலகங்களையும் சேர்க்கவும். இங்கே எல்சிடி, எம்சிபி 4725 மற்றும் நேர நூலகம் பயன்படுத்தப்படுகின்றன.
எல்சிடி போன்ற இறக்குமதி Adafruit_CharLCD இறக்குமதி Adafruit_MCP4725 இறக்குமதி நேரம்
அடுத்து எல்சிடி ஊசிகளுடன் இல்லை என்பதை வரையறுக்கவும். வரிசை மற்றும் நெடுவரிசைகளின். 16 எக்ஸ் 2 எல்சிடியில் 2 வரிசைகள் மற்றும் 16 நெடுவரிசைகள் உள்ளன என்பது எங்களுக்குத் தெரியும். ராஸ்பெர்ரி பை உடன் எல்சிடியை இடைமுகப்படுத்துவது பற்றி மேலும் அறிக.
lcd_rs = 25 lcd_en = 24 lcd_d4 = 23 lcd_d5 = 17 lcd_d6 = 18 lcd_d7 = 22 lcd_backlight = 4 # 16x2 LCD க்கான LCD நெடுவரிசை மற்றும் வரிசை அளவை வரையறுக்கவும். lcd_columns = 16 lcd_rows = 2 lcd = LCD.Adafruit_CharLCD (lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)
அடுத்து எல்.சி.டி.யில் சில வரவேற்பு செய்திகளை ஐந்து விநாடிகள் காண்பி.
lcd.message ('சர்க்யூட் டைஜஸ்ட்') time.sleep (2.0) lcd.message ('R nDAC ஐப் பயன்படுத்தி Rpi') time.sleep (5.0) lcd.clear ()
அடுத்த வரியில், MCP4725 DAC IC இன் I2C முகவரியுடன் ஒரு DAC நிகழ்வு உருவாக்கப்படுகிறது. எனது போர்டில் 0x60 என்ற முகவரி உள்ளது, அதை உங்கள் போர்டுக்கு ஏற்ப மாற்றவும்.
dac = Adafruit_MCP4725.MCP4725 (முகவரி = 0x60)
அடுத்த ஐந்து வளைய உள்ளே பயன்படுத்தப்படுகிறது போது I2C பஸ் வழியாக MCP4725 அனுப்பப்படுகிறது என்பதை டிஜிட்டல் மதிப்பு x மாற்ற லூப். ஐந்து வளைய எல்லை உள்ளது (0,4095,150). X மதிப்புகள் 0 முதல் 4050 வரை 150 இன் அதிகரிப்புடன் மாறுபடும்.
உண்மை: x வரம்பில் (0,4097,150):
டிஜிட்டல் மதிப்பு பின்வரும் வரியைப் பயன்படுத்தி MCP4725 க்கு அனுப்பப்படுகிறது
dac.set_voltage (x)
டிஜிட்டல் மதிப்பைப் பொறுத்து அனலாக் மதிப்பு 5 குறிப்பு மின்னழுத்தம் மற்றும் x டிஜிட்டல் மதிப்பு என்ற சூத்திரத்தைப் பயன்படுத்தி கணக்கிடப்படுகிறது.
மின்னழுத்தம் = x / 4096.0 * 5.0
டிஜிட்டல் மதிப்பு & அனலாக் மதிப்பு எல்.சி.டி.யில் 2 வினாடிகள் தாமதத்துடன் பின்வரும் வரிகளைப் பயன்படுத்தி காட்டப்படும்
lcd.cursor_pos = (0,0) lcd.message ("DAC மதிப்பு:" + str (x)) lcd.message ("\ nAnalogVolt:%.2f"% மின்னழுத்தம்) time.sleep (2)
இங்கே டிஜிட்டல் மதிப்பு முதல் வரிசையில் காட்டப்பட்டுள்ளது மற்றும் எல்சிடி டிஸ்ப்ளேவின் இரண்டாவது வரிசையில் அனலாக் மதிப்பு. அனலாக் மின்னழுத்தத்தை சரிபார்க்க MCP4725 வெளியீட்டு ஊசிகளுடன் ஒரு மல்டிமீட்டர் இணைக்கப்பட்டுள்ளது.

ஆர்ப்பாட்டத்துடன் முழுமையான குறியீடு வீடியோ கீழே கொடுக்கப்பட்டுள்ளது.
