- கூறுகள் தேவை
- MPU6050 சென்சார் தொகுதி - ஒரு சுருக்கமான அறிமுகம்
- Attiny85 படி எதிர் சுற்று வரைபடம்
- Attiny85 படி கவுண்டருக்கு PCB ஐ உருவாக்குதல்
- PCBWay இலிருந்து PCB ஐ ஆர்டர் செய்கிறது
- ATtiny85 படி கவுண்டர் பிசிபியை அசெம்பிளிங் செய்தல்
- ATtiny85 படி எதிர் குறியீடு விளக்கம்
- ஒரு நடைக்கு எங்கள் Arduino படி கவுண்டரை எடுத்துக் கொள்வோம்
இந்த டுடோரியலில், ATtiny85 IC, MPU6050 Accelerometer & Gyroscope மற்றும் OLED Display Module ஐப் பயன்படுத்தி எளிதான மற்றும் மலிவான பெடோமீட்டரை உருவாக்க உள்ளோம். இந்த எளிய Arduino அடிப்படையிலான படி கவுண்டர் 3V நாணயம் கலத்தால் இயக்கப்படுகிறது, இது நீங்கள் ஒரு நடை அல்லது ஜாக் வெளியே செல்லும்போது எடுத்துச் செல்வதை எளிதாக்குகிறது. இது உருவாக்க மிகக் குறைந்த கூறுகள் தேவைப்படுகிறது மற்றும் குறியீடும் ஒப்பீட்டளவில் எளிமையானது. இந்த திட்டத்தில் உள்ள நிரல் MPU6050 ஐப் பயன்படுத்தி 3 அச்சில் (எக்ஸ், ஒய் மற்றும் இசட்) முடுக்கத்தின் அளவை அளவிடுகிறது. முந்தைய மற்றும் தற்போதைய மதிப்புகளுக்கு இடையிலான முடுக்கம் அளவின் வேறுபாட்டை இது கணக்கிடுகிறது. ஒரு குறிப்பிட்ட வாசலை விட வித்தியாசம் அதிகமாக இருந்தால் (6 ஐ விட அதிகமாக நடப்பதற்கும், 10 ஐ விட அதிகமாக இயங்குவதற்கும்), அது படி படி எண்ணிக்கையை அதிகரிக்கிறது. எடுக்கப்பட்ட மொத்த படிகள் பின்னர் OLED டிஸ்ப்ளேயில் காட்டப்படும்.
பிசிபியில் இந்த போர்ட்டபிள் ஸ்டெப் கவுண்டரை உருவாக்க, பிசிபிவேயில் இருந்து எங்கள் பிசிபி போர்டுகளை நாங்கள் உருவாக்கியுள்ளோம், இந்த திட்டத்தில் நாங்கள் ஒன்றுகூடி சோதிப்போம். நீங்கள் கூடுதல் அம்சங்களைச் சேர்க்க விரும்பினால், இந்த அமைப்பில் நீங்கள் ஒரு ஹார்ட் பீட் மானிட்டரையும் சேர்க்கலாம், மேலும் நாங்கள் முன்பு ADXL335 ஐப் பயன்படுத்தி ஒரு ஆர்டுயினோ முடுக்கமானி படி கவுண்டரை உருவாக்கியுள்ளோம், நீங்கள் ஆர்வமாக இருந்தால் அவற்றைப் பாருங்கள்.
கூறுகள் தேவை
Arduino ஐப் பயன்படுத்தி இந்த பெடோமீட்டரை உருவாக்க , உங்களுக்கு பின்வரும் கூறுகள் தேவைப்படும்.
- அட்டினி 85 ஐ.சி.
- MPU6050
- OLED காட்சி தொகுதி
- 2 × புஷ் பொத்தான்கள்
- 5 × 10KΩ மின்தடையங்கள் (SMD)
MPU6050 சென்சார் தொகுதி - ஒரு சுருக்கமான அறிமுகம்
MPU6050 மைக்ரோ மெக்கானிக்கல் சிஸ்டம்ஸ் (MEMS) தொழில்நுட்பத்தை அடிப்படையாகக் கொண்டது. இந்த சென்சார் 3-அச்சு முடுக்கமானி, 3-அச்சு கைரோஸ்கோப் மற்றும் உள்ளமைக்கப்பட்ட வெப்பநிலை சென்சார் ஆகியவற்றைக் கொண்டுள்ளது. முடுக்கம், வேகம், திசைமாற்றம், இடப்பெயர்ச்சி போன்ற அளவுருக்களை அளவிட இதைப் பயன்படுத்தலாம். நாங்கள் முன்பு MPU6050 ஐ Arduino மற்றும் ராஸ்பெர்ரி pi உடன் இணைத்துள்ளோம், மேலும் இதைப் பயன்படுத்தி ஒரு சில திட்டங்களை உருவாக்கியுள்ளோம்- சுய சமநிலை ரோபோ, Arduino Digital Protractor மற்றும் Arduino Inclinometer.

MPU6050 தொகுதி அளவு சிறியது மற்றும் குறைந்த மின் நுகர்வு, அதிக மறுபடியும், அதிக அதிர்ச்சி சகிப்புத்தன்மை மற்றும் குறைந்த பயனர் விலை புள்ளிகளைக் கொண்டுள்ளது. MPU6050 ஒரு I2C பஸ் மற்றும் துணை I2C பஸ் இடைமுகத்துடன் வருகிறது, மேலும் காந்தமானிகள் மற்றும் மைக்ரோகண்ட்ரோலர்கள் போன்ற பிற சென்சார்களுடன் எளிதில் தலையிட முடியும்.
Attiny85 படி எதிர் சுற்று வரைபடம்
MPU6050 படி கவுண்டருக்கான திட்டம் கீழே கொடுக்கப்பட்டுள்ளது:

மேலேயுள்ள படம் MPU6050 மற்றும் OLED டிஸ்ப்ளேவை Attiny85 IC உடன் இடைமுகப்படுத்துவதற்கான சுற்று வரைபடத்தைக் காட்டுகிறது. MPU6050, OLED Display மற்றும் Arduino க்கு இடையிலான இடைமுகம் I2C நெறிமுறையைப் பயன்படுத்தி செயல்படுத்தப்பட வேண்டும். எனவே, ATtiny85 இன் SCLPin (PB2) முறையே MPU6050 மற்றும் OLED டிஸ்ப்ளேவின் SCLPin உடன் இணைக்கப்பட்டுள்ளது. இதேபோல், ATtiny85 இன் SDAPin (PB0) MPU6050 மற்றும் OLED டிஸ்ப்ளேவின் SDAPin உடன் இணைக்கப்பட்டுள்ளது. ATtiny85 IC இன் PB3 & PB4 முள் உடன் இரண்டு புஷ்பட்டன்களும் இணைக்கப்பட்டுள்ளன. இந்த பொத்தான்கள் உரையை உருட்ட அல்லது காட்சியில் உரையை மாற்ற பயன்படும்.
குறிப்பு: எங்கள் முந்தைய டுடோரியல் புரோகிராமிங் ATtiny85 IC ஐ நேரடியாக USB வழியாக டிஜிஸ்பார்க் பூட்லோடரைப் பயன்படுத்தி ATtiny85 IC ஐ USB மற்றும் Digispark Boot-loader மூலம் நிரல் செய்ய பின்பற்றவும்.
Attiny85 படி கவுண்டருக்கு PCB ஐ உருவாக்குதல்
திட்டவட்டமானது முடிந்தது, மேலும் பி.சி.பியை அமைப்பதன் மூலம் நாம் தொடரலாம். நீங்கள் விரும்பும் எந்த பிசிபி மென்பொருளையும் பயன்படுத்தி பிசிபியை வடிவமைக்க முடியும். இந்த திட்டத்திற்காக பிசிபியை உருவாக்க நாங்கள் ஈஸிஇடிஏவைப் பயன்படுத்தினோம்.
படி கவுண்டர் பி.சி.பியின் மேல் அடுக்கு மற்றும் கீழ் அடுக்கின் 3D மாதிரி காட்சிகள் கீழே உள்ளன:

மேலே உள்ள சுற்றுக்கான பிசிபி தளவமைப்பு கீழே கொடுக்கப்பட்டுள்ள இணைப்பிலிருந்து கெர்பராக பதிவிறக்கம் செய்யக் கிடைக்கிறது:
- ATtiny85 படி கவுண்டருக்கான கெர்பர் கோப்பு
PCBWay இலிருந்து PCB ஐ ஆர்டர் செய்கிறது
இப்போது வடிவமைப்பை முடித்த பிறகு, நீங்கள் PCB ஐ ஆர்டர் செய்வதைத் தொடரலாம்:
படி 1: https://www.pcbway.com/ இல் செல்லுங்கள், இது உங்கள் முதல் முறையாக இருந்தால் பதிவுபெறுக. பின்னர், பிசிபி முன்மாதிரி தாவலில், உங்கள் பிசிபியின் பரிமாணங்கள், அடுக்குகளின் எண்ணிக்கை மற்றும் உங்களுக்குத் தேவையான பிசிபியின் எண்ணிக்கையை உள்ளிடவும்.

படி 2: 'இப்போது மேற்கோள்' பொத்தானைக் கிளிக் செய்வதன் மூலம் தொடரவும். போர்டு வகை, அடுக்குகள், பிசிபிக்கான பொருள், தடிமன் மற்றும் பல போன்ற சில கூடுதல் அளவுருக்களை அமைக்கும் ஒரு பக்கத்திற்கு நீங்கள் அழைத்துச் செல்லப்படுவீர்கள், அவற்றில் பெரும்பாலானவை இயல்பாகவே தேர்ந்தெடுக்கப்படுகின்றன, நீங்கள் ஏதேனும் குறிப்பிட்ட அளவுருக்களைத் தேர்வுசெய்தால், நீங்கள் தேர்ந்தெடுக்கலாம் அது இங்கே.

படி 3: கெர்பர் கோப்பை பதிவேற்றி, கட்டணத்துடன் தொடர வேண்டும். செயல்முறை சீராக இருப்பதை உறுதிசெய்ய, கட்டணம் செலுத்துவதற்கு முன் உங்கள் கெர்பர் கோப்பு செல்லுபடியாகுமா என்பதை PCBWAY சரிபார்க்கிறது. இந்த வழியில், உங்கள் பிசிபி புனைகதை நட்பு என்பதை உறுதிப்படுத்திக் கொள்ளலாம், மேலும் அது உங்களை உறுதியுடன் அடையும்.

ATtiny85 படி கவுண்டர் பிசிபியை அசெம்பிளிங் செய்தல்
சில நாட்களுக்குப் பிறகு, எங்கள் பிசிபியை சுத்தமாக தொகுப்பில் பெற்றோம், பிசிபி தரம் எப்போதும் போல் நன்றாக இருந்தது. குழுவின் மேல் அடுக்கு மற்றும் கீழ் அடுக்கு கீழே காட்டப்பட்டுள்ளன:

தடங்கள் மற்றும் தடம் சரியானவை என்பதை உறுதிசெய்த பிறகு. நான் பி.சி.பியை இணைப்பதில் தொடர்ந்தேன். முற்றிலும் சாலிடர் போர்டு கீழே தெரிகிறது:

ATtiny85 படி எதிர் குறியீடு விளக்கம்
முழுமையான Arduino படி எதிர் குறியீடு ஆவணத்தின் முடிவில் கொடுக்கப்பட்டுள்ளது. குறியீட்டின் சில முக்கியமான பகுதிகளை இங்கே விளக்குகிறோம்.
குறியீடு TinyWireM.h & TinyOzOLED.h நூலகங்களைப் பயன்படுத்துகிறது. TinyWireM நூலகத்தை Arduino IDE இல் உள்ள நூலக மேலாளரிடமிருந்து பதிவிறக்கம் செய்து அங்கிருந்து நிறுவலாம். அதற்காக, Arduino IDE ஐத் திறந்து ஸ்கெட்ச் <நூலகத்தைச் சேர்க்கவும் <நூலகங்களை நிர்வகிக்கவும் . இப்போது TinyWireM.h ஐத் தேடி, Adafruit ஆல் TinyWireM நூலகத்தை நிறுவவும்.

TinyOzOLED.h நூலகத்தை கொடுக்கப்பட்ட இணைப்புகளிலிருந்து பதிவிறக்கம் செய்யலாம்.
Arduino IDE இல் நூலகங்களை நிறுவிய பின், தேவையான நூலகக் கோப்புகளைச் சேர்த்து குறியீட்டைத் தொடங்கவும்.
# அடங்கும் "TinyWireM.h" # அடங்கும் "TinyOzOLED.h"
நூலகங்களைச் சேர்த்த பிறகு, முடுக்கமானி அளவீடுகளைச் சேமிக்க மாறிகள் வரையறுக்கவும்.
intaccelX, accelY, accelZ;
அமைவு () வளையத்தின் உள்ளே, கம்பி நூலகத்தைத் துவக்கி, ஆற்றல் மேலாண்மை பதிவேட்டின் மூலம் சென்சாரை மீட்டமைக்கவும் OLED காட்சிக்கான I2C தகவல்தொடர்புகளைத் தொடங்கவும். அடுத்த வரிகளில் காட்சி நோக்குநிலையை அமைத்து, முடுக்கமானி மற்றும் கைரோஸ்கோப் மதிப்புகளுக்கான பதிவு முகவரியை உள்ளிடவும்.
TinyWireM.begin (); OzOled.init (); OzOled.clearDisplay (); OzOled.setNormalDisplay (); OzOled.sendCommand (0xA1); OzOled.sendCommand (0xC8); TinyWireM.beginTransmission (mpu); டைனிவயர்.எம்.ரைட் (0x6 பி); TinyWireM.write (0b00000000); TinyWireM.write (0x1B);
இல் getAccel () செயல்பாடு, முடுக்க தரவு படிக்க ஆரம்பிப்பார்கள். ஒவ்வொரு அச்சுக்கும் தரவு இரண்டு பைட்டுகளில் (மேல் மற்றும் கீழ்) அல்லது பதிவேட்டில் சேமிக்கப்படுகிறது. அவை அனைத்தையும் படிக்க, முதல் பதிவேட்டில் தொடங்கி, கோரிக்கையான () செயல்பாட்டைப் பயன்படுத்தி, எக்ஸ், ஒய் மற்றும் இசட் அச்சுகளுக்கான அனைத்து 6 பதிவுகளையும் படிக்குமாறு கேட்டுக்கொள்கிறோம். ஒவ்வொரு பதிவிலிருந்தும் தரவைப் படிக்கிறோம், மேலும் வெளியீடுகள் இரண்டின் நிரப்பு என்பதால், முழுமையான முடுக்கமானி மதிப்புகளைப் பெற அவற்றை சரியான முறையில் இணைக்கவும்.
voidgetAccel () {TinyWireM.beginTransmission (mpu); TinyWireM.write (0x3B); TinyWireM.endTransmission (); TinyWireM.requestFrom (mpu, 6); accelX = TinyWireM.read () << 8-TinyWireM.read (); accelY = TinyWireM.read () << 8-TinyWireM.read (); accelZ = TinyWireM.read () << 8-TinyWireM.read (); }
இப்போது லூப் செயல்பாட்டின் உள்ளே, முதலில் எக்ஸ், ஒய் மற்றும் இசட்-அச்சு மதிப்புகளைப் படித்து 3-அச்சு மதிப்புகளைப் பெற்ற பிறகு, எக்ஸ், ஒய் மற்றும் இசட்-அச்சு மதிப்புகளின் சதுர மூலத்தை எடுத்து மொத்த முடுக்கம் திசையனைக் கணக்கிடுங்கள். தற்போதைய திசையனுக்கும் முந்தைய திசையனுக்கும் உள்ள வேறுபாட்டைக் கணக்கிடுங்கள், வேறுபாடு 6 ஐ விட அதிகமாக இருந்தால், படி எண்ணிக்கையை அதிகரிக்கவும்.
getAccel (); திசையன் = சதுரடி ((accelX * accelX) + (accelY * accelY) + (accelZ * accelZ)); totalvector = திசையன் - திசையன் முன்னறிவிப்பு; if (totalvector> 6) {படிகள் ++; } OzOled.printString ("படிகள்", 0, 4); OzOled.printNumber (படிகள், 0, 8, 4); vectorprevious = திசையன்; தாமதம் (600);
ஒரு நடைக்கு எங்கள் Arduino படி கவுண்டரை எடுத்துக் கொள்வோம்
நீங்கள் பி.சி.பியை அசெம்பிள் செய்ததும், ATtiny85 ஐ புரோகிராமர் போர்டுடன் இணைத்து, குறியீட்டைப் பதிவேற்றவும். இப்போது உங்கள் கைகளில் படி எதிர் அமைப்பை எடுத்து படிப்படியாக நடக்கத் தொடங்குங்கள், இது OLED இல் படிகளின் எண்ணிக்கையைக் காட்ட வேண்டும். அமைப்பு மிக விரைவாக அல்லது மிக மெதுவாக அதிர்வுறும் போது சில நேரங்களில் அது படிகளின் எண்ணிக்கையை அதிகரிக்கிறது.

ATtiny85 மற்றும் MPU6050 ஐப் பயன்படுத்தி உங்கள் சொந்த ஸ்டெப் கவுண்டரை எவ்வாறு உருவாக்கலாம். திட்டத்தின் முழுமையான செயல்பாட்டை கீழே இணைக்கப்பட்ட வீடியோவிலும் காணலாம். நீங்கள் திட்டத்தை ரசித்தீர்கள், உங்கள் சொந்தத்தை உருவாக்குவது சுவாரஸ்யமானது என்று நம்புகிறேன். உங்களிடம் ஏதேனும் கேள்விகள் இருந்தால், அவற்றை கீழே உள்ள கருத்துப் பிரிவில் இடவும்.
