ನೀವು ಯೋಜನೆಯನ್ನು ರಚಿಸಿ ಅದನ್ನು ಇರಿಸಬೇಕಾದರೆ, ಅಂದರೆ ತಿಳಿಯಿರಿ ಅದನ್ನು ಹೇಗೆ ಇರಿಸಲಾಗುತ್ತದೆ ಸ್ಥಳಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ನೀವು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸಬಹುದು ಎಂಪಿಯು 6050. ಅಂದರೆ, ಈ ಮಾಡ್ಯೂಲ್ ಒಂದು ಜಡತ್ವ ಮಾಪನ ಘಟಕ ಅಥವಾ 6 ಡಿಗ್ರಿ ಸ್ವಾತಂತ್ರ್ಯದೊಂದಿಗೆ (ಡಿಒಎಫ್) ಐಎಂಯು (ಜಡತ್ವ ಮಾಪನ ಘಟಕಗಳು) ಆಗಿದೆ. ಅದು 3-ಆಕ್ಸಿಸ್ ಆಕ್ಸಿಲರೊಮೀಟರ್ ಟೈಪ್ ಸೆನ್ಸರ್ಗಳು ಮತ್ತು 3-ಆಕ್ಸಿಸ್ ಗೈರೊಸ್ಕೋಪ್ಗೆ ಧನ್ಯವಾದಗಳು ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಈ ಎಂಪಿಯು 6050 ಬಳಕೆಯಲ್ಲಿರುವ ವಸ್ತುವನ್ನು ಹೇಗೆ ಇರಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ತಿಳಿಯಬಹುದು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಸಂಚರಣೆ, ಗೊನಿಯೊಮೆಟ್ರಿ, ಸ್ಥಿರೀಕರಣ, ಗೆಸ್ಚರ್ ನಿಯಂತ್ರಣ, ಇತ್ಯಾದಿ. ಮೊಬೈಲ್ ಫೋನ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಈ ರೀತಿಯ ಸಂವೇದಕಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಉದಾಹರಣೆಗೆ, ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಗೆಸ್ಚರ್ಗಳ ಮೂಲಕ ನಿಯಂತ್ರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ ಸ್ಮಾರ್ಟ್ಫೋನ್ ಆನ್ ಆಗಿದ್ದರೆ ನಿಲ್ಲಿಸುವುದು, ವೀಡಿಯೊ ಗೇಮ್ಗಳಲ್ಲಿ ವಾಹನಗಳನ್ನು ಚಾಲನೆ ಮಾಡುವುದು ಮೊಬೈಲ್ ಅನ್ನು ಸ್ಟೀರಿಂಗ್ ವೀಲ್ನಂತೆ ತಿರುಗಿಸುವುದು ಇತ್ಯಾದಿ.
ವೇಗವರ್ಧಕ ಮತ್ತು ಗೈರೊಸ್ಕೋಪ್ ಎಂದರೇನು?
ಸರಿ, ಭಾಗಗಳಾಗಿ ಹೋಗೋಣ. ಮೊದಲನೆಯದು ಈ ರೀತಿಯ ಸಂವೇದಕಗಳು ಯಾವುವು ಎಂಬುದನ್ನು ನೋಡುವುದು ವೇಗವರ್ಧನೆ ಮತ್ತು ತಿರುವುಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಅವರ ಸ್ವಂತ ಹೆಸರುಗಳಿಂದ ಕಳೆಯಬಹುದು.
- ವೇಗವರ್ಧಕ: ವೇಗವರ್ಧನೆಯನ್ನು ಅಳೆಯುತ್ತದೆ, ಅಂದರೆ, ಸಮಯದ ಪ್ರತಿ ಯೂನಿಟ್ಗೆ ವೇಗದಲ್ಲಿನ ಬದಲಾವಣೆ. ಭೌತಶಾಸ್ತ್ರದಲ್ಲಿ, ಸಮಯದೊಂದಿಗೆ ವೇಗದಲ್ಲಿನ ಬದಲಾವಣೆಯು (a = dV / dt) ವೇಗವರ್ಧನೆಯ ವ್ಯಾಖ್ಯಾನವಾಗಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ನ್ಯೂಟನ್ನ ಎರಡನೆಯ ನಿಯಮದ ಪ್ರಕಾರ, ನಮ್ಮಲ್ಲಿ ಒಂದು = F / m ಕೂಡ ಇದೆ, ಮತ್ತು ಅದು ವೇಗವರ್ಧಕ ಮಾಪಕಗಳು ಕೆಲಸ ಮಾಡಲು ಬಳಸುತ್ತವೆ, ಅಂದರೆ, ಅವು ವಸ್ತುವಿನ ಬಲ ಮತ್ತು ದ್ರವ್ಯರಾಶಿಯ ನಿಯತಾಂಕಗಳನ್ನು ಬಳಸುತ್ತವೆ. ಆದ್ದರಿಂದ ಇದನ್ನು ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಎಂಇಎಂಎಸ್ (ಮೈಕ್ರೋ ಎಲೆಕ್ಟ್ರೋ ಮೆಕ್ಯಾನಿಕಲ್ ಸಿಸ್ಟಮ್ಸ್) ತಂತ್ರಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಚಿಪ್ ಉತ್ಪಾದನಾ ತಂತ್ರಗಳಿಂದ ಭಿನ್ನವಾಗಿರುತ್ತದೆ, ಏಕೆಂದರೆ ಎಂಇಎಂಎಸ್ನಲ್ಲಿ ಯಾಂತ್ರಿಕ ಭಾಗಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ವೇಗವರ್ಧನೆಗಳನ್ನು ಅಳೆಯುವ ಸಾಮರ್ಥ್ಯವಿರುವ ಟ್ರ್ಯಾಕ್ಗಳು ಅಥವಾ ಅಂಶಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ. ವೇಗ (ವೇಗವರ್ಧನೆಯು ಸಮಯಕ್ಕೆ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟಿದ್ದರೆ), ಅದನ್ನು ಮತ್ತೆ ಸಂಯೋಜಿಸಿದರೆ, ನಮಗೆ ಸ್ಥಳಾಂತರ, ಇತ್ಯಾದಿ ಅನೇಕ ಇತರ ಘಟಕಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಎಂದು ಇದು ಸೂಚಿಸುತ್ತದೆ. ಅಂದರೆ, ವಸ್ತುವಿನ ಸ್ಥಾನವನ್ನು ತಿಳಿಯಲು ಅಥವಾ ಚಲನೆಯನ್ನು ಕಂಡುಹಿಡಿಯಲು ಬಹಳ ಆಸಕ್ತಿದಾಯಕ ನಿಯತಾಂಕಗಳು.
- ಗೈರೊಸ್ಕೋಪ್: ಇದನ್ನು ಗೈರೊಸ್ಕೋಪ್ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ, ಇದು ವಸ್ತುವಿನ ಕೋನೀಯ ವೇಗವನ್ನು ಅಳೆಯುವ ಸಾಧನವಾಗಿದೆ, ಅಂದರೆ, ಸಮಯದ ಪ್ರತಿ ಯೂನಿಟ್ಗೆ ಕೋನೀಯ ಸ್ಥಳಾಂತರ ಅಥವಾ ದೇಹವು ಅದರ ಅಕ್ಷದ ಸುತ್ತ ಎಷ್ಟು ವೇಗವಾಗಿ ತಿರುಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕೊರಿಯೊಲಿಸ್ ಎಂದು ಕರೆಯಲ್ಪಡುವ ಪರಿಣಾಮವನ್ನು ಬಳಸಿಕೊಂಡು ಹೇಳಿದ ವೇಗವನ್ನು ಅಳೆಯಲು MEMS ತಂತ್ರಗಳನ್ನು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ. ಇದಕ್ಕೆ ಧನ್ಯವಾದಗಳು, ಕೋನೀಯ ವೇಗವನ್ನು ಅಳೆಯಬಹುದು ಅಥವಾ ಕೋನೀಯ ವೇಗವನ್ನು ಸಮಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಕೋನೀಯ ಸ್ಥಳಾಂತರವನ್ನು ಪಡೆಯಬಹುದು.
MPU6050 ಮಾಡ್ಯೂಲ್
ಅಕ್ಸೆಲೆರೊಮೀಟರ್ ಮತ್ತು ಗೈರೊಸ್ಕೋಪ್ ಏನೆಂದು ಈಗ ನಿಮಗೆ ತಿಳಿದಿದೆ, MPU6050 ಮಾಡ್ಯೂಲ್ ಇದು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಬೋರ್ಡ್ ಆಗಿದ್ದು, ಈ ಎರಡು ಅಂಶಗಳನ್ನು ಒಂದು ಅಂಶದ ಸ್ಥಾನದಲ್ಲಿ ಈ ಬದಲಾವಣೆಗಳನ್ನು ಅಳೆಯಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಇದರಿಂದಾಗಿ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಒಂದು ವಸ್ತುವು ಎಲ್ಇಡಿ ದೀಪಗಳನ್ನು ಮೇಲಕ್ಕೆ ಚಲಿಸಿದಾಗ ಅಥವಾ ಇತರ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ವಿಷಯಗಳನ್ನು.
ನಾನು ಹೇಳಿದಂತೆ, ಇದು 6 ಅಕ್ಷಗಳ ಸ್ವಾತಂತ್ರ್ಯವನ್ನು ಹೊಂದಿದೆ, DoF, 3-ಅಕ್ಷ X, Y, ಮತ್ತು Z ವೇಗವರ್ಧಕ ವೇಗವರ್ಧಕ, ಮತ್ತು ಇತರ 3-ಅಕ್ಷದ ಗೈರೊಸ್ಕೋಪ್ ಕೋನೀಯ ವೇಗವನ್ನು ಅಳೆಯಲು. ಮಾಪನಗಳಿಗಾಗಿ ನೀವು ಮಾಡ್ಯೂಲ್ ಮತ್ತು ತಿರುಗುವಿಕೆಯ ದಿಕ್ಕನ್ನು ಇರಿಸುವ ರೀತಿಯಲ್ಲಿ ತಪ್ಪುಗಳನ್ನು ಮಾಡದಂತೆ ನೀವು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ಏಕೆಂದರೆ ನೀವು ತಪ್ಪು ಚಿಹ್ನೆಯನ್ನು ಮಾಡಿದರೆ ಅದು ಸ್ವಲ್ಪ ಅಸ್ತವ್ಯಸ್ತವಾಗಿರುತ್ತದೆ. ಈ ಕೆಳಗಿನ ಚಿತ್ರವನ್ನು ನೋಡಿ ಅದು ಅಕ್ಷಗಳ ದಿಕ್ಕನ್ನು ಸೂಚಿಸುತ್ತದೆ (ಆದಾಗ್ಯೂ, ಪಿಸಿಬಿ ಸ್ವತಃ ಅದನ್ನು ಒಂದು ಬದಿಯಲ್ಲಿ ಮುದ್ರಿಸಿರುವುದನ್ನು ಗಮನಿಸಿ):
ಇದನ್ನು ಪರಿಗಣಿಸಿ ಮತ್ತು ಪಿನ್ out ಟ್, ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ನೀವು MPU6050 ಅನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಲು ಎಲ್ಲವನ್ನೂ ಸ್ಪಷ್ಟಪಡಿಸುತ್ತೀರಿ. ಹಿಂದಿನ ಚಿತ್ರದಲ್ಲಿ ನೀವು ನೋಡುವಂತೆ, ಸಂಪರ್ಕಗಳು ತುಂಬಾ ಸರಳವಾಗಿದೆ ಮತ್ತು ಇದು ಆರ್ಡುನೊ ಸೇರಿದಂತೆ ಹೆಚ್ಚಿನ ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ಗಳೊಂದಿಗೆ ಐ 2 ಸಿ ಸಂವಹನವನ್ನು ಹೊಂದಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಎಸ್ಸಿಎಲ್ ಮತ್ತು ಎಸ್ಡಿಎ ಪಿನ್ಗಳು ಆರ್ಡುನೊ ಬೋರ್ಡ್ಗೆ ನೇರ ಸಂಪರ್ಕಕ್ಕಾಗಿ ಬೋರ್ಡ್ನಲ್ಲಿ ಪುಲ್-ಅಪ್ ರೆಸಿಸ್ಟರ್ ಅನ್ನು ಹೊಂದಿವೆ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ನೀವೇ ಸೇರಿಸುವ ಬಗ್ಗೆ ನೀವು ಚಿಂತಿಸಬೇಕಾಗಿಲ್ಲ.
ಐ 2 ಸಿ ಬಸ್ನಲ್ಲಿ ಎರಡೂ ದಿಕ್ಕುಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು, ನೀವು ಇವುಗಳನ್ನು ಬಳಸಬಹುದು ಪಿನ್ಗಳು ಮತ್ತು ನಿರ್ದೇಶನಗಳು:
- AD0 = 1 ಅಥವಾ ಹೆಚ್ಚಿನ (5v): I0C ವಿಳಾಸ 69x2 ಗಾಗಿ.
- AD0 = 0 ಅಥವಾ ಕಡಿಮೆ (GND ಅಥವಾ Nc): I0C ಬಸ್ನ 68x2 ವಿಳಾಸಕ್ಕಾಗಿ.
ಮಾದರಿಯ ಆಪರೇಟಿಂಗ್ ವೋಲ್ಟೇಜ್ 3 ವಿ 3 ಎಂದು ನೆನಪಿಡಿ, ಆದರೆ ಅದೃಷ್ಟವಶಾತ್ ಇದು ಅಂತರ್ನಿರ್ಮಿತ ನಿಯಂತ್ರಕವನ್ನು ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ಇದನ್ನು ಆರ್ಡುನೊನ 5 ವಿ ಯೊಂದಿಗೆ ಯಾವುದೇ ತೊಂದರೆಯಿಲ್ಲದೆ ಅಲೈಯಿಂಗ್ ಮಾಡಬಹುದು ಮತ್ತು ಅದು ಅದನ್ನು 3.3 ವಿ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
ಮೂಲಕ, ಜಿಎನ್ಡಿಗೆ ಆಂತರಿಕ ಪ್ರತಿರೋಧವನ್ನು ಹೊಂದಿರುವುದು, ಈ ಪಿನ್ ಸಂಪರ್ಕಗೊಳ್ಳದಿದ್ದರೆ, ವಿಳಾಸ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಅದು 0x68 ಆಗಿರುತ್ತದೆ, ಇದು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಭೂಮಿಗೆ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ, ಅದನ್ನು ತಾರ್ಕಿಕ 0 ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
ಆರ್ಡುನೊ ಜೊತೆ ಸಂಯೋಜನೆ
ನೀವು ಪಡೆಯಬಹುದು ಐ 2 ಸಿ ಬಸ್ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ ಈ ಲೇಖನದಲ್ಲಿ. ಆರ್ಡುನೊ ಬೋರ್ಡ್ಗೆ ಅನುಗುಣವಾಗಿ ಬಸ್ಗೆ ಬಳಸುವ ಪಿನ್ಗಳು ಬದಲಾಗುತ್ತವೆ ಎಂದು ನಿಮಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿದೆ, ಆದರೆ Arduino UNO ಅನಲಾಗ್ ಪಿನ್ ಆಗಿದೆ ಎ 4 ಮತ್ತು ಎ 5, ಎಸ್ಡಿಎ (ಡೇಟಾ) ಮತ್ತು ಎಸ್ಸಿಎಲ್ (ಗಡಿಯಾರ) ಗಾಗಿ ಕ್ರಮವಾಗಿ. ನೀವು ಬಳಸಬೇಕಾದ ಬೋರ್ಡ್ಗೆ ಶಕ್ತಿ ತುಂಬಲು 5 ವಿ ಮತ್ತು ಜಿಎನ್ಡಿ ಒಂದರ ಜೊತೆಗೆ ಅವು ಕೇವಲ ಆರ್ಡುನೊ ಪಿನ್ಗಳಾಗಿವೆ. ಆದ್ದರಿಂದ ಸಂಪರ್ಕವು ಸಾಧ್ಯವಾದಷ್ಟು ಸರಳವಾಗಿದೆ.
MPU6050 ನ ಕಾರ್ಯಗಳಿಗಾಗಿ ನೀವು ಈ ಲಿಂಕ್ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸಬಹುದು I2C ಮಾಡ್ಯೂಲ್ ಮತ್ತು ಬಸ್ ಎಂಪಿಯು 6050.
ಆರ್ಡುನೊ ಬೋರ್ಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಎಂಪಿಯು 6050 ನೊಂದಿಗೆ ತುಂಬಾ ಸರಳವಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಇದು ಆರಂಭಿಕರಿಗಾಗಿ ಅಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಕೋನಗಳ ವೇಗವರ್ಧನೆಗಳು ಅಥವಾ ಶ್ರೇಣಿಗಳ ಮಿತಿಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದರಿಂದ, ನಿಖರವಾದ ಚಲನೆ ಅಥವಾ ವೇಗವರ್ಧನೆ ಏನೆಂದು ನಿರ್ಧರಿಸಲು ನೀವು ಮಾಪನಾಂಕ ನಿರ್ಣಯಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಅದನ್ನು ಬಳಸುವುದರ ಬಗ್ಗೆ ಹೇಗೆ ಕಾಮೆಂಟ್ ಮಾಡಬೇಕೆಂಬುದಕ್ಕೆ ನೀವು ಕನಿಷ್ಠ ಉದಾಹರಣೆಯನ್ನು ಹೊಂದಬಹುದು, ಈ ಕೋಡ್ ಅನ್ನು ನೀವು ನೋಡಬಹುದು ನಿಮ್ಮ Arduino IDE ಗಾಗಿ ಉದಾಹರಣೆ ಸ್ಕೆಚ್ ಇದು ಅಕ್ಸೆಲೆರೊಮೀಟರ್ ಮತ್ತು ಗೈರೊಸ್ಕೋಪ್ ದಾಖಲಿಸಿದ ಮೌಲ್ಯಗಳನ್ನು ಓದುತ್ತದೆ:
// Bibliotecas necesarias: #include "I2Cdev.h" #include "MPU6050.h" #include "Wire.h" // Dependiendo del estado de AD0, la dirección puede ser 0x68 o 0x69, para controlar así el esclavo que leerá por el bus I2C MPU6050 sensor; // Valores RAW o en crudo leidos del acelerometro y giroscopio en los ejes x,y,z int ax, ay, az; int gx, gy, gz; void setup() { Serial.begin(57600); //Función para iniciar el puerto serie con 57600 baudios Wire.begin(); //Inicio para el bus I2C sensor.initialize(); //Iniciando del sensor MPU6050 if (sensor.testConnection()) Serial.println("Sensor iniciado correctamente"); else Serial.println("Error al iniciar el sensor"); } void loop() { // Leer las aceleraciones y velocidades angulares sensor.getAcceleration(&ax, &ay, &az); sensor.getRotation(&gx, &gy, &gz); // Muestra las lecturas que va registrando separadas por una tabulación Serial.print("a[x y z] g[x y z]:\t"); Serial.print(ax); Serial.print("\t"); Serial.print(ay); Serial.print("\t"); Serial.print(az); Serial.print("\t"); Serial.print(gx); Serial.print("\t"); Serial.print(gy); Serial.print("\t"); Serial.println(gz); delay(100); }
ನೀವು ಹರಿಕಾರರಾಗಿದ್ದರೆ ಮತ್ತು ನಿಮಗೆ ಚೆನ್ನಾಗಿ ತಿಳಿದಿಲ್ಲ Arduino IDE ನೊಂದಿಗೆ ಹೇಗೆ ಪ್ರೋಗ್ರಾಂ ಮಾಡುವುದುನಿಮಗೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇದು ಕಷ್ಟಕರವಾಗಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಆರ್ಡುನೊ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗೆ ಪರಿಚಯಾತ್ಮಕ ಕೋರ್ಸ್ನೊಂದಿಗೆ ನಮ್ಮ ಕೈಪಿಡಿಯನ್ನು ಉಚಿತವಾಗಿ ಸಂಪರ್ಕಿಸಬಹುದು ...