ನಾನು ವರ್ಷಗಟ್ಟಲೆ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ನಡುವೆ ದಾರಿ ತಪ್ಪಿದ್ದೆ. ಒಂದು ರಾತ್ರಿ ಐವತ್ತು ವರ್ಷ ಹಳೆಯ ಆಸ್ಕಿಲೋಸ್ಕೋಪ್‌ನ (oscilloscope) ವಿಶ್ಲೇಷಣೆಯನ್ನು ನೋಡುತ್ತಿದ್ದರೆ; ಮರುದಿನ ಬೆಳಿಗ್ಗೆ ಅರ್ಧದಷ್ಟು ಹಂತಗಳನ್ನು ಬಿಟ್ಟುಹೋದ ಒಂದು ಟ್ಯುಟೋರಿಯಲ್‌ನಿಂದ ನನಗೆ ಕಷ್ಟ ಕಷ್ಟವಾಗಿ ಅರ್ಥವಾಗುವ ರೋಬೋಟ್-ಆರ್ಮ್ ಸ್ಕೆಮ್ಯಾಟಿಕ್ ಅನ್ನು ಕಾಪಿ ಮಾಡುತ್ತಿದ್ದೆ. ನಾನು ಯೂಟ್ಯೂಬ್ ವೀಡಿಯೊಗಳಿಂದ ಅಪೂರ್ಣ ಬ್ಲಾಗ್ ಪೋಸ್ಟ್‌ಗಳಿಗೆ ಅಲೆಯುತ್ತಿದ್ದೆ, ಮತ್ತು ನನಗೆ ಏನನ್ನೂ ಕಲಿಸದಷ್ಟು ಸುಲಭವಾದ ಅಥವಾ ಅರ್ಧಕ್ಕೆ ನಿಂತು ಡ್ರಾಯರ್‌ನಲ್ಲಿ ಬಿದ್ದಿರುವಷ್ಟು ಸಂಕೀರ್ಣವಾದ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಿಗಾಗಿ ವಾರಾಂತ್ಯಗಳನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತಿದ್ದೆ. ಒಂದು ವೇಳೆ ನಾನು 2026 ರಲ್ಲಿ ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್ ಅನ್ನು ಮೊದಲಿನಿಂದ ಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿದ್ದರೆ, ಆ ಗೊಂದಲದ ಬದಲು ಒಂದು ಸ್ಪಷ್ಟವಾದ ಹಾದಿಯನ್ನು ಆರಿಸಿಕೊಳ್ಳುತ್ತಿದ್ದೆ. ಇಂಟರ್ನೆಟ್ ನನಗಾಗಿ ಶಿಕ್ಷಣವನ್ನು ರೂಪಿಸುತ್ತದೆ ಎಂದು ಕಾಯುವ ದಿನಗಳು ಮುಗಿದಿವೆ.

ನಾನು ಅನುಸರಿಸಬೇಕೆಂದು ಬಯಸಿದ್ದ ರೋಡ್‌ಮ್ಯಾಪ್ ಇಲ್ಲಿದೆ.

ಹಂತ 1: ವಿದ್ಯುತ್ ವಾಸ್ತವವಾಗಿ ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ

ಪ್ರತಿಯೊಂದು ತಾಮ್ರದ ಲೈನ್ (copper trace) ಮತ್ತು ಸೋಲ್ಡರ್ ಜಾಯಿಂಟ್‌ನ ಹಿಂದಿರುವ ಭೌತಶಾಸ್ತ್ರದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ. ವೋಲ್ಟೇಜ್, ಕರೆಂಟ್ ಮತ್ತು ರೆಸಿಸ್ಟೆನ್ಸ್ ಅನ್ನು ಕೇವಲ ಪದಗಳಾಗಿ ಅಲ್ಲದೆ, ನೀವು ಅನುಭವಿಸಬಹುದಾದ ಮತ್ತು ಊಹಿಸಬಹುದಾದ ಶಕ್ತಿಗಳಾಗಿ ತಿಳಿಯಬೇಕು. ಓಮ್‌ನ ನಿಯಮವನ್ನು (Ohm's Law) ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಕಲಿಯಬೇಕೆಂದರೆ, ನೀವು ಬೆಂಚ್‌ಗೆ ಹೋಗುವಾಗಲೂ ಮನಸ್ಸಿನಲ್ಲೇ ರೆಸಿಸ್ಟರ್ ಮೌಲ್ಯವನ್ನು ಊಹಿಸಬಲ್ಲರಿರಬೇಕು. ಆ ಸಣ್ಣ ಪ್ಯಾಕೇಜ್ ಏಕೆ ಕಂದು ಬಣ್ಣಕ್ಕೆ ತಿರುಗಿತು ಎಂದು ಆತಂಕಪಡುವ ಮೊದಲು ಪವರ್ ಕ್ಯಾಲ್ಕುಲೇಷನ್ ಮಾಡುವುದನ್ನು ಕಲಿಯಿರಿ. ಬ್ರೆಡ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ಸೀರೀಸ್ ಮತ್ತು ಪ್ಯಾರಲಲ್ ಸರ್ಕ್ಯೂಟ್‌ಗಳನ್ನು ತಯಾರಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ಅಳೆಯಿರಿ. ಕಿರ್ឆಾಫ್ ನಿಯಮಗಳು (Kirchhoff's Laws) ಕೇವಲ ಶೈಕ್ಷಣಿಕವಾಗಿ ಕೇಳಿಸಬಹುದು, ಆದರೆ ಅಳೆಯಲಾದ ವೋಲ್ಟೇಜ್ ಅರ್ಥವಾಗದಿದ್ದಾಗ ಸರ್ಕ್ಯೂಟ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಇವುಗಳೇ ಬೇಕು. ವಿದ್ಯುತ್ ಸುರಕ್ಷತೆಯ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಸಮಯ ವ್ಯಯಿಸಿ. ಕರೆಂಟ್ ಲಿಮಿಟ್ ಇರುವ ಬೆಂಚ್ ಸಪ್ಲೈ ನಿಮ್ಮ ಘಟಕಗಳನ್ನು (components) ಮತ್ತು ನಿಮ್ಮ ಬೆರಳುಗಳನ್ನು ಹೇಗೆ ರಕ್ಷಿಸುತ್ತದೆ ಎಂದು ತಿಳಿಯಿರಿ. ಚಾರ್ಜ್ ಆಗಿರುವ ಕೆಪಾಸಿಟರ್ ಪವರ್ ಆಫ್ ಆಗಿದ್ದರೂ ಕೂಡ ನಿಮಗೆ ಶಾಕ್ ನೀಡಬಲ್ಲದು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ. ಉಪಕರಣಗಳನ್ನು ಗೌರವಿಸಿ, ಏಕೆಂದರೆ ಆಸ್ಪತ್ರೆಯ ಹಾಸಿಗೆಯ ಮೇಲೆ ಮಲಗುವ ಮೂಲಕ ಯಾರೂ ಚೆನ್ನಾಗಿ ಕಲಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.

ಹಂತ 2: ಘಟಕಗಳನ್ನು (Components) ನಿಮ್ಮ ಮಿತ್ರರನ್ನಾಗಿ ಮಾಡಿಕೊಳ್ಳಿ

ಪರೀಕ್ಷೆಗಾಗಿ ಓದುವಂತೆ ಭಾಗಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಡಿ. ಅವುಗಳನ್ನು ಬಳಸಿ. ಎಲ್ಇಡಿ (LED) ಜೊತೆಗೆ ಸೀರೀಸ್‌ನಲ್ಲಿ ಒಂದು ರೆಸಿಸ್ಟರ್ ಇರಿಸಿ ಮತ್ತು ಅದರ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸಿದಾಗ ಏನಾಗುತ್ತದೆ ಎಂದು ನೋಡಿ. ಶಬ್ದ ಮಾಡುವ ಮೋಟಾರ್‌ಗೆ ಒಂದು ಕೆಪಾಸಿಟರ್ ಅನ್ನು ಜೋಡಿಸಿ ಮತ್ತು ಮಲ್ಟಿಮೀಟರ್‌ನಲ್ಲಿನ ರಿಪಲ್ (ripple) ಮಾಯವಾಗುವುದನ್ನು ಗಮನಿಸಿ. ಇಂಡಕ್ಟರ್ ಮೂಲಕ ಕರೆಂಟ್ ಹರಿಸಿದಾಗ ಅದು ಬದಲಾವಣೆಯನ್ನು ಹೇಗೆ ವಿರೋಧಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಡಯೋಡ್‌ಗಳು ಎಲೆಕ್ಟ್ರಾನ್‌ಗಳನ್ನು ಒಂದು ದಿಕ್ಕಿನಲ್ಲಿ ಮಾತ್ರ ಚಲಿಸುವಂತೆ ಮಾಡುತ್ತವೆ; ಬ್ಯಾಟರಿ ತಪ್ಪು ದಿಕ್ಕಿನಲ್ಲಿ ಜೋಡಿಸಿದಾಗ ಸರ್ಕ್ಯೂಟ್ ಅನ್ನು ರಕ್ಷಿಸಲು ಇದನ್ನು ಬಳಸಿ. ಟ್ರಾನ್ಸಿಸ್ಟರ್ ಅನ್ನು ಸ್ವಿಚ್ ಆಗಿ ಬಳಸಿ. ಬೇಸ್‌ನಲ್ಲಿ ಕರೆಂಟ್ ಬೇಕಾಗುವ BJT ಮತ್ತು ಒಮ್ಮೆ ಆನ್ ಆದ ನಂತರ ಅಲ್ಪ ಪ್ರಮಾಣದ ಕರೆಂಟ್ ಬೇಕಾಗುವ MOSFET ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ತಿಳಿಯಿರಿ. ರಿಲೇ (Relay) ಅನ್ನು ಆನ್ ಮಾಡಿ ಮತ್ತು ನಿಮ್ಮ ಸೂಕ್ಷ್ಮ ಲಾಜಿಕ್ ಅನ್ನು ಶಬ್ದ ಮಾಡುವ 12V ಪಂಪ್‌ನಿಂದ ಪ್ರತ್ಯೇಕಿಸುವ ಮೆಕ್ಯಾನಿಕಲ್ ಶಬ್ದವನ್ನು ಕೇಳಿ. ಲೀನಿಯರ್ ವೋಲ್ಟೇಜ್ ರೆಗ್ಯುಲೇಟರ್ ಹೆಚ್ಚುವರಿ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಶಾಖವಾಗಿ ಹೇಗೆ ಹೊರಹಾಕುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಿ, ನಂತರ ಆ ಉಷ್ಣತೆ ಏಕೆ ಉಂಟಾಯಿತು ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ. ಸೋಲ್ಡರ್ ವಾಸನೆ ಮತ್ತು ಘಟಕಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂಬುದನ್ನು ನೋಡುವವರೆಗೆ ಪಠ್ಯಪುಸ್ತಕದ ರೇಖಾಚಿತ್ರಗಳು ಯಾವುದನ್ನೂ ಕಲಿಸುವುದಿಲ್ಲ.

ಹಂತ 3: ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸಣ್ಣಪುಟ್ಟ ಪ್ರಯೋಗಗಳನ್ನು ಮಾಡಿ

ನಿಮ್ಮ ಕೈಗಳು ಕೆಲಸ ಮಾಡುವಾಗ ಸಿದ್ಧಾಂತವು ಗಟ್ಟಿಯಾಗುತ್ತದೆ. ಬಟನ್‌ಗಳು, ಪೊಟೆನ್ಶಿಯೋಮೀಟರ್‌ಗಳು ಮತ್ತು ಬಜರ್‌ಗಳಿಂದ ಪ್ರಾರಂಭಿಸಿ. ನಿಮಗೆ ಬೇಕಿದ್ದರೆ ಪೊಟ್ (pot) ಮತ್ತು 555 ಬಳಸಿ ಶಬ್ದ ಮಾಡುವ ಸಾಧನವನ್ನು ತಯಾರಿಸಿ, ಅಥವಾ ನಂತರ ಕೋಡ್ ಮೂಲಕ ಮಾಡಿ. ಅಲ್ಟ್ರಾಸಾನಿಕ್ ಸೆನ್ಸರ್ ಮತ್ತು ಸರ್ವೋ ಮೋಟಾರ್ ಅನ್ನು ಸೇರಿಸಿ. ಅವುಗಳನ್ನು ಒಂದು ಸಣ್ಣ ಪಾರ್ಕಿಂಗ್ ಸೆನ್ಸರ್‌ನಂತೆ ಒಟ್ಟಿಗೆ ಕೆಲಸ ಮಾಡುವಂತೆ ಮಾಡಿ. ಎಲ್‌ಸಿಡಿ (LCD) ಡಿಸ್‌ಪ್ಲೇ ಬಳಸಿ ನೀವು ಓದುತ್ತಿರುವ ದೂರ ಅಥವಾ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಪ್ರಿಂಟ್ ಮಾಡಿ. ಈ ಹಂತದ ನಿಜವಾದ ಗುರಿ ಪ್ರಾಜೆಕ್ಟ್ ಮಾಡುವುದಲ್ಲ, ಬದಲಾಗಿ ಡೇಟಾಶೀಟ್‌ಗಳನ್ನು (datasheets) ಓದಲು ಕಲಿಯುವುದು. ಟ್ಯುಟೋರಿಯಲ್‌ಗಳು ಹಳೆಯದಾಗುತ್ತವೆ, ಲಿಂಕ್‌ಗಳು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಬೇರೆಯವರ ಗಿಟ್‌ಹಬ್ (GitHub) ರೆಪೊಸಿಟರಿಯನ್ನು ಕಾಪಿ ಮಾಡುವುದರಿಂದ ನಿಮಗೆ ಕೇವಲ ಒಂದು ಮಿಂಚುವ ಲೈಟ್ ಸಿಗುತ್ತದೆಯೇ ಹೊರತು ಯಾವುದೇ ತಿಳುವಳಿಕೆ ಸಿಗುವುದಿಲ್ಲ. ಡೇಟಾಶೀಟ್ ನಿಮಗೆ ನಿಖರವಾದ I2C ಅಡ್ರೆಸ್, ಸಿಗ್ನಲ್ ಹೊಂದಿರಬೇಕಾದ ಸಮಯ (timing) ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ ಕೆಲಸ ಮಾಡಬೇಕಾದರೆ ಪಾಲಿಸಬೇಕಾದ ಗರಿಷ್ಠ ಮಿತಿಗಳನ್ನು ತಿಳಿಸುತ್ತದೆ. ಬ್ಲಾಗ್ ಪೋಸ್ಟ್ ಓದುವ ಮೊದಲು ತಯಾರಕರ PDF ಅನ್ನು ಓದಲು ಕಲಿಯಿರಿ.

ಹಂತ 4: ಹಾರ್ಡ್‌ವೇರ್ ಬಗ್ಗೆ ಅರಿವಿರುವ ಕೋಡ್ ಬರೆಯಿರಿ

ಎಂಬೆಡೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ (Embedded programming) ಎಂಬುದು ವೆಬ್ ಆಪ್ ಬರೆಯುವಂತಲ್ಲ. ನೀವು ನಿಮ್ಮನ್ನು ರಕ್ಷಿಸಲು ಯಾವುದೇ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಇಲ್ಲದ ಸಿಲಿಕಾನ್‌ನಿಂದ ಕೇವಲ ಇಂಚುಗಳಷ್ಟು ದೂರದಲ್ಲಿದ್ದೀರಿ. ವೇರಿಯೇಬಲ್‌ಗಳು ಮತ್ತು ಲೂಪ್‌ಗಳು ನಿಮ್ಮ ಮೂಲ ವ್ಯಾಕರಣಗಳಿದ್ದಂತೆ. ಫಂಕ್ಷನ್‌ಗಳು ನಿಮ್ಮ ಲಾಜಿಕ್ ಗೊಂದಲಮಯವಾಗದಂತೆ ನೋಡಿಕೊಳ್ಳುತ್ತವೆ. ಅರೇಗಳು (Arrays) ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಬಫರ್ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ. ಪಾಯಿಂಟರ್‌ಗಳು ಇಲ್ಲಿ ಬಹಳ ಮುಖ್ಯ, ಏಕೆಂದರೆ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ನಲ್ಲಿ ನೀವು ನೇರವಾಗಿ ಹಾರ್ಡ್‌ವೇರ್ ರಿಜಿಸ್ಟರ್‌ಗಳಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ನೀಡುತ್ತೀರಿ. ಇಂಟರಪ್ಟ್‌ಗಳನ್ನು (Interrupts) ಕಲಿಯಿರಿ, ಇದರಿಂದ ಮುಖ್ಯ ಲೂಪ್ ಮೋಟಾರ್ ಅನ್ನು ನಿಯಂತ್ರಿಸುವಾಗಲೂ ಬಟನ್ ಒತ್ತಿದಾಗ ಅಥವಾ ಟೈಮರ್ ಬಂದಾಗ ನಿಮ್ಮ ಕೋಡ್ ಪ್ರತಿಕ್ರಿಯಿಸಬಲ್ಲದು. ಮೆಮೊರಿ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಬಗ್ಗೆ ಅಧ್ಯಯನ ಮಾಡಿ. ಎಂಬೆಡೆಡ್ ಚಿಪ್‌ನಲ್ಲಿ ಸ್ಟ್ಯಾಕ್ ಓವರ್‌ಫ್ಲೋ (Stack overflow) ಸಂಭವಿಸಿದರೆ ಅದು ಯಾವುದೇ ಎರರ್ ಮೆಸೇಜ್ ತೋರಿಸುವುದಿಲ್ಲ; ಬದಲಾಗಿ ಅದು ಮೌಲ್ಯಗಳನ್ನು ಮೌನವಾಗಿ ಹಾಳುಮಾಡಿ, ನಿಮ್ಮನ್ನು ಗಂಟೆಗಟ್ಟಲೆ ಡೀಬಗ್ ಮಾಡುವಂತೆ ಮಾಡುತ್ತದೆ.

ಹಂತ 5: ಸಾಧನಗಳು ಹೇಗೆ ಸಂವಹನ ನಡೆಸುತ್ತವೆ ಎಂಬುದನ್ನು ಕಲಿಯಿರಿ

ಆಧುನಿಕ ಪ್ರಾಜೆಕ್ಟ್ ಎಂಬುದು ಕೇವಲ ಒಂದು ಚಿಪ್ ಆಗಿರುವುದಿಲ್ಲ. ಸಂಪರ್ಕಕ್ಕಾಗಿ ನಿಮಗೆ ಒಂದು ಭಾಷೆ (vocabulary) ಬೇಕಾಗುತ್ತದೆ. UART ಎಂಬುದು ડીಬಗ್ಗಿಂಗ್ (debugging) ಮತ್ತು GPS ಮಾಡ್ಯೂಲ್‌ಗಳು ಅಥವಾ ಹಳೆಯ ಸೀರಿಯಲ್ ಸಾಧನಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಬಳಸುವ ಪ್ರಮುಖ ಸಾಧನವಾಗಿದೆ. I2C ಅತ್ಯಂತ ಸುಸಜ್ಜಿತವಾಗಿದೆ: ಎರಡು ವೈರ್‌ಗಳು, ಬಹುಸಂಖ್ಯಾಕ ಸೆನ್ಸರ್‌ಗಳು, ತಾಪಮಾನ ಚಿಪ್‌ಗಳು ಅಥವಾ OLED ಸ್ಕ್ರೀನ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಇದು ಸೂಕ್ತವಾಗಿದೆ. SPI ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚು ಪಿನ್‌ಗಳನ್ನು (pins) ಬಳಸುತ್ತದೆ; ಡಿಸ್‌ಪ್ಲೇಗೆ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಕಳುಹಿಸುವಾಗ ಅಥವಾ ADC ನಿಂದ ಡೇಟಾವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡುವಾಗ ಇದು ಅತ್ಯುತ್ತಮವಾಗಿದೆ. CAN ಎಂಬುದು ಕಾರುಗಳು ಮತ್ತು ಕೈಗಾರಿಕಾ ಯಂತ್ರಗಳ ಭಾಷೆಯಾಗಿದೆ; ಇದು ವಿದ್ಯುತ್ ಶಬ್ದವು (electrically noisy) ಹೆಚ್ಚಿರುವ ಪರಿಸರದಲ್ಲೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅಂತಹ ಪರಿಸರದಲ್ಲಿ ಇತರ ಪ್ರೊಟೊಕಾಲ್‌ಗಳು ವಿಫಲವಾಗಬಹುದು. USB ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯ, ಏಕೆಂದರೆ ಯಾವುದಾದರೊಂದು ಹಂತದಲ್ಲಿ ನಿಮ್ಮ ಎಂಬೆಡೆಡ್ (embedded) ಜಗತ್ತನ್ನು ಲ್ಯಾಪ್‌ಟಾಪ್‌ಗೆ ಸಂಪರ್ಕಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ. ಕೇವಲ ಲೈಬ್ರರಿ ಫಂಕ್ಷನ್ ಅನ್ನು ಕರೆಯಬೇಡಿ. ಲಾಜಿಕ್ ಅನಲೈಸರ್ (logic analyzer) ಅಥವಾ ಕೇವಲ ಒಂದು LED ಅನ್ನು ಜೋಡಿಸಿ ಮತ್ತು ಬಿಟ್‌ಗಳು (bits) ಚಲಿಸುವುದನ್ನು ಗಮನಿಸಿ. ಪ್ರೊಟೊಕಾಲ್ ಜ್ಞಾನವು ಮಾಡ್ಯೂಲ್‌ಗಳ ಗುಂಪನ್ನು ಒಂದು ವ್ಯವಸ್ಥೆಯನ್ನಾಗಿ (system) ಪರಿವರ್ತಿಸುತ್ತದೆ.

ಹಂತ 6: ನಿಮ್ಮೊಂದಿಗೆ ಬೆಳೆಯುವ ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್ ಅನ್ನು ಆರಿಸಿ

ESP32 ಬಗ್ಗೆ ತಿಳಿಯೋಣ. ಇದು ಪ್ರತಿಯೊಂದು ಕೆಲಸಕ್ಕೂ ಪರಿಪೂರ್ಣವಾಗಿರಲಿಕ್ಕಿಲ್ಲ, ಆದರೆ ಹತ್ತು ಡಾಲರ್‌ಗಿಂತ ಕಡಿಮೆ ಬೆಲೆಯಲ್ಲಿ ನೀವು ಪಡೆಯಬಹುದಾದ ಅತ್ಯುತ್ತಮ ಶಿಕ್ಷಕ ಇದಾಗಿದೆ. ಡ್ಯುಯಲ್-ಕೋರ್ ಪ್ರೊಸೆಸಿಂಗ್ (Dual-core processing) ಎಂದರೆ ನೀವು ಒಂದು ಕೋರ್‌ನಲ್ಲಿ Wi-Fi ಸಂವಹನವನ್ನು ಮತ್ತು ಇನ್ನೊಂದು ಕೋರ್‌ನಲ್ಲಿ ರಿಯಲ್-ಟೈಮ್ ನಿಯಂತ್ರಣವನ್ನು ಪರಸ್ಪರ ಅಡ್ಡಿಯಾಗದಂತೆ ನಿರ್ವಹಿಸಬಹುದು. ಇದರಲ್ಲಿರುವ ಇನ್-ಬಿಲ್ಟ್ Wi-Fi ಮತ್ತು Bluetooth ಮೂಲಕ ಯಾವುದೇ ಶೀಲ್ಡ್ ಸ್ಟ್ಯಾಕ್‌ಗಳು ಅಥವಾ ಜಂಪರ್ ವೈರ್ ಗೋಜಲುಗಳಿಲ್ಲದೆ ನಿಮ್ಮ ಫೋನ್ ಅಥವಾ ಇಂಟರ್ನೆಟ್‌ಗೆ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಬಹುದು. ಇದರ ಲೋ ಪವರ್ ಮೋಡ್‌ಗಳು (low power modes) ನಿಜವಾಗಿಯೂ ಕೆಲಸ ಮಾಡುತ್ತವೆ, ಇದು ಬ್ಯಾಟರಿ ಪ್ಯಾಕ್‌ನ ಮೇಲೆ ಆರು ತಿಂಗಳ ಕಾಲ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕಾದ ರಿಮೋಟ್ ಸೆನ್ಸರ್ ತಯಾರಿಸುವಾಗ ಬಹಳ ಮುಖ್ಯವಾಗುತ್ತದೆ. ಇದನ್ನು ಹೋಮ್ ಆಟೊಮೇಷನ್‌ಗಾಗಿ (home automation) ಬಳಸಿ. ನಿಮ್ಮ ಗ್ಯಾರೇಜ್, ಗಿಡಗಳು ಅಥವಾ ವಿದ್ಯುತ್ ಬಳಕೆಯನ್ನು ಎಲ್ಲಿಂದಲಾದರೂ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ. ಕೇವಲ ನಿಮ್ಮ ಮೇಜಿನ ಮೇಲಷ್ಟೇ ಅಲ್ಲದೆ, ನೈಜ ಜಗತ್ತಿನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಏನನ್ನಾದರೂ ನಿರ್ಮಿಸಿ.

ಹಂತ 7: ಬ್ರೆಡ್‌ಬೋರ್ಡ್‌ನಿಂದ ಹೊರಬನ್ನಿ

ಬ್ರೆಡ್‌ಬೋರ್ಡ್‌ಗಳು ಸುಳ್ಳು ಹೇಳುತ್ತವೆ. ಅವು ಪ್ರತಿರೋಧ (resistance), ಕೆಪಾಸಿಟೆನ್ಸ್ (capacitance) ಮತ್ತು ನೀವು ದಿನಗಟ್ಟಲೆ ಹುಡುಕಬೇಕಾಗುವ ಅನಿಶ್ಚಿತ ಸಂಪರ್ಕಗಳನ್ನು (intermittent connections) ಉಂಟುಮಾಡುತ್ತವೆ. ನೈಜ ಉತ್ಪನ್ನಗಳು ಪ್ರಿಂಟೆಡ್ ಸರ್ಕ್ಯೂಟ್ ಬೋರ್ಡ್‌ಗಳ (PCB) ಮೇಲೆ ಇರುತ್ತವೆ. KiCad ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಅಥವಾ EasyEDA ಬಳಸಿ ಮತ್ತು ಸಂಪೂರ್ಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕಲಿಯಿರಿ. ಮೊದಲು ಸ್ಕಮ್ಯಾಟಿಕ್ (schematic) ಅನ್ನು ಬಿಡಿಸಿ. ಏನನ್ನಾದರೂ ಆಟೋರೂಟ್ (autoroute) ಮಾಡುವ ಮೊದಲು ಲೇಔಟ್ ಬಗ್ಗೆ ಯೋಚಿಸಿ. ರೂಟಿಂಗ್‌ನಲ್ಲಿ (routing) ಗಮನಹರಿಸಿ: ಹೈ-ಸ್ಪೀಡ್ ಸಿಗ್ನಲ್‌ಗಳನ್ನು ಚಿಕ್ಕದಾಗಿಡಿ, ಪವರ್ ಟ್ರೇಸ್‌ಗಳಿಗೆ (power traces) ಅವುಗಳು ಬಿಸಿಯಾಗದಂತೆ ಕರೆಂಟ್ ಹರಿಸಲು ಬೇಕಾದ ಅಗಲವನ್ನು ನೀಡಿ, ಮತ್ತು ಗ್ರೌಂಡ್ ಅನ್ನು (ground) ಕೇವಲ ನಂತರದ ವಿಷಯವೆಂದು ಪರಿಗಣಿಸಬೇಡಿ. ಗಟ್ಟಿಯಾದ ಗ್ರೌಂಡ್ ಪ್ಲೇನ್ (ground plane) ಶಬ್ದ ಅಥವಾ ನಾಯ್ಸ್ (noise) ವಿರುದ್ಧ ನಿಮ್ಮ ಅತ್ಯುತ್ತಮ ರಕ್ಷಣೆಯಾಗಿದೆ. ನೀವು ಸಿದ್ಧರಾದಾಗ, ಗೆರ್ಬರ್ ಫೈಲ್‌ಗಳನ್ನು (Gerber files) ತಯಾರಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ತಯಾರಕರಿಗೆ ಕಳುಹಿಸಿ. ನಿಮ್ಮ ಹೆಸರನ್ನು ಸಿಲ್ಕ್‌ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಅಚ್ಚು ಮಾಡಿರುವ, ನೀವೇ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಬೋರ್ಡ್ ಅನ್ನು ಕೈಯಲ್ಲಿ ಹಿಡಿಯುವುದು ಒಂದು ವಿಭಿನ್ನ ಅನುಭವ ನೀಡುತ್ತದೆ.

ಹಂತ 8: ಪವರ್ ಸಪ್ಲೈಗೆ ಗೌರವ ನೀಡಿ

ವೋಲ್ಟೇಜ್ ರೇಲ್ ಕುಸಿದರೆ ಅದ್ಭುತ ಫರ್ಮ್‌ವೇರ್ (firmware) ಕೂಡ ಪ್ರಯೋಜನವಿಲ್ಲ. ಲೀನಿಯರ್ ರೆಗ್ಯುಲೇಟರ್‌ಗಳು (Linear regulators) ಸರಳವಾಗಿವೆ ಆದರೆ ವ್ಯರ್ಥವಾಗಿವೆ; ಅವು ಹೆಚ್ಚುವರಿ ವೋಲ್ಟೇಜ್ ಅನ್ನು ಶಾಖವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ, ಇದು ಸಣ್ಣ ಲಾಜಿಕ್ ಬಳಕೆಗಾಗಿ ಸರಿ ಇರಬಹುದು ಆದರೆ ಬ್ಯಾಟರಿ ಚಾಲಿತ ಸಾಧನಗಳಿಗೆ ಇದು ತುಂಬಾ ಕೆಟ್ಟದ್ದು. ವೋಲ್ಟೇಜ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಡಿಮೆ ಮಾಡಲು ಬಕ್ ಕನ್ವರ್ಟರ್‌ಗಳನ್ನು (buck converters) ಮತ್ತು ನಿಮ್ಮ ಬ್ಯಾಟರಿ ವೋಲ್ಟೇಜ್ ಸರ್ಕ್ಯೂಟ್‌ಗೆ ಬೇಕಾದ ಮಟ್ಟಕ್ಕಿಂತ ಕಡಿಮೆಯಾದಾಗ ಬೂಸ್ಟ್ ಕನ್ವರ್ಟರ್‌ಗಳನ್ನು (boost converters) ಕಲಿಯಿರಿ. ನೀವು Li-ion ಅಥವಾ LiPo ಸೆಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಬ್ಯಾಟರಿ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಸಿಸ್ಟಮ್ (Battery Management System) ಕಡ್ಡಾಯವಾಗಿದೆ. ಇದು ಸೆಲ್‌ಗಳನ್ನು ಸಮತೋಲನಗೊಳಿಸುತ್ತದೆ, ಕೆಮಿಸ್ಟ್ರಿಯನ್ನು ಹಾಳುಮಾಡುವ ಓವರ್-ಡಿಸ್ಚಾರ್ಜ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ ಮತ್ತು ಬ್ಯಾಟರಿಗಳು ಬೆಂಕಿಯಾಗುವಂತೆ ಮಾಡುವ ಥರ್ಮಲ್ ರನ್‌ಅ ಅನ್ನು (thermal runaway) ತಡೆಯುತ್ತದೆ. ನೀವು ಆಫ್-ಗ್ರಿಡ್ (off-grid) ಪ್ರಾಜೆಕ್ಟ್‌ಗಳನ್ನು ಮಾಡಲು ಬಯಸಿದರೆ ಸೋಲಾರ್ ಚಾರ್ಜಿಂಗ್ ಬಗ್ಗೆ ಅಧ್ಯಯನ ಮಾಡಿ. ನೀವು ವೋಲ್ಟೇಜ್ ಅನ್ನು ನಿಯಂತ್ರಿಸದಿದ್ದರೆ, ಪೂರ್ಣ ಸೂರ್ಯನ ಬೆಳಕಿನಲ್ಲಿರುವ ಪ್ಯಾನಲ್ ಬ್ಯಾಟರಿಗೆ ಅತಿಯಾದ ವೋಲ್ಟೇಜ್ ನೀಡಬಹುದು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ. ಸ್ಥಿರವಾದ ಪವರ್ (Stable power) ಎಂಬುದು ಪ್ರತಿಯೊಂದು ವಿಶ್ವಾಸಾರ್ಹ ಪ್ರಾಜೆಕ್ಟ್‌ನ ಅತೀಂದ್ರಿಯ ಅಡಿಪಾಯವಾಗಿದೆ.

ಹಂತ 9: ಯಾವಾಗ ಕಂಪ್ಯೂಟರ್ ಬದಲಾಯಿಸಬೇಕೆಂದು ತಿಳಿಯಿರಿ

ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ಮತ್ತು ಎಂಬೆಡೆಡ್ ಕಂಪ್ಯೂಟರ್‌ಗಳ ನಡುವೆ ಒಂದು ಸ್ಪಷ್ಟ ವ್ಯತ್ಯಾಸವಿದೆ. ESP32 ಒಂದು ಅದ್ಭುತ ಸಾಧನ, ಆದರೆ ಅದು ಏಕಕಾಲದಲ್ಲಿ ಪೂರ್ಣ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಮತ್ತು ವೀಡಿಯೊ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಲ್ಲಿಯೇ Raspberry Pi ನಂತಹ ಸಾಧನಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ವಸ್ತುಗಳನ್ನು ಅಥವಾ ಮುಖಗಳನ್ನು ಗುರುತಿಸಲು OpenCV ಬೇಕಾಗುವ ಕಂಪ್ಯೂಟರ್ ವಿಷನ್ (computer vision) ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಿಗಾಗಿ ಇದನ್ನು ಬಳಸಿ. ಈ ವ್ಯತ್ಯಾಸ ಎಲ್ಲಿ ಉಂಟಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಮೈಕ್ರೋಕಂಟ್ರೋಲರ್‌ಗಳು ನಿಮಗೆ ನಿಖರವಾದ ಟೈಮಿಂಗ್ (deterministic timing) ಮತ್ತು GPIO ಸಾಮರ್ಥ್ಯವನ್ನು ನೀಡುತ್ತವೆ. ಎಂಬೆಡೆಡ್ ಲಿನಕ್ಸ್ (Embedded Linux) ಕಂಪ್ಯೂಟರ್‌ಗಳು ನಿಮಗೆ ಪ್ರೊಸೆಸಿಂಗ್ ಶಕ್ತಿ ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯನ್ನು (software ecosystems) ನೀಡುತ್ತವೆ. ಅತ್ಯುತ್ತಮ ಎಂಜಿನಿಯರ್‌ಗಳು ಪ್ರತಿ ಸಮಸ್ಯೆಗೆ ಯಾವ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಬೇಕೆಂದು ತಿಳಿದಿರುತ್ತಾರೆ.

ಹಂತ 10: ડીಬಗ್ಗಿಂಗ್ ಅನ್ನು ಒಂದು ಧರ್ಮದಂತೆ ಪಾಲಿಸಿ

ನಿಮ್ಮ ಮಲ್ಟಿಮೀಟರ್ (multimeter) ನೀವು ಹೊಂದಿರುವ ಅತ್ಯಂತ ಪ್ರಾಮಾಣಿಕ ಸಾಧನವಾಗಿದೆ. ಅದು ಊಹಿಸುವುದಿಲ್ಲ. ನಿಮ್ಮ ರೆಗ್ಯುಲೇಟರ್‌ಗೆ ಇನ್‌ಪುಟ್不足ವಾಗಿದ್ದರೆ ಅಥವಾ ಲೋಡ್ ಅಡಿಯಲ್ಲಿ ನಿಮ್ಮ ಬ್ಯಾಟರಿ ವೋಲ್ಟೇಜ್ ಕಡಿಮೆಯಾಗುತ್ತಿದ್ದರೆ, ನಿಮ್ಮ 3.3V ರೇಲ್ ವಾಸ್ತವವಾಗಿ 2.1V ಇರುವುದನ್ನು ಅದು ನಿಮಗೆ ತಿಳಿಸುತ್ತದೆ. ಸೋಲ್ಡರ್ ಜಾಯಿಂಟ್ (solder joint) ಸರಿಯಾಗಿ ಕಾಣುತ್ತಿದ್ದರೂ, ಅದು ಕಂಟಿನಿವಿಟಿ (continuity) ಇದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ನೀವು ಪವರ್ ನೀಡುವ ಮೊದಲು ಅದು ತಪ್ಪು ದಿಕ್ಕಿನಲ್ಲಿರುವ ಡಯೋಡ್ ಅನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ. ડીಬಗ್ಗಿಂಗ್ ಎಂಬುದು ಕೇವಲ ಅವಸರದಲ್ಲಿ ಮುಗಿಸಬೇಕಾದ ಕೆಲಸವಲ್ಲ. ಇದು ಒಮ್ಮೆ ತಯಾರಿಸಿ ನಿಲ್ಲುವವರಿಗೂ ಮತ್ತು ಹತ್ತು ಆವೃತ್ತಿಗಳನ್ನು (versions) ಬಿಡುಗಡೆ ಮಾಡುವವರಿಗೂ ಇರುವ ವ್ಯತ್ಯಾಸವನ್ನು ತೋರಿಸುವ ಶಕ್ತಿಯಾಗಿದೆ. ಸರ್ಕ್ಯೂಟ್ ಏನು ಮಾಡಬೇಕೆಂದು ನೀವು ಬಯಸಿದ್ದೀರೋ ಅದನ್ನು ನೋಡಬೇಡಿ, ಬದಲಾಗಿ ಅದು ವಾಸ್ತವದಲ್ಲಿ ಏನು ಮಾಡುತ್ತಿದೆ ಎಂಬುದನ್ನು ಓದಲು ಕಲಿಯಿರಿ.

ಹಂತ 11: ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಜನರಿಗೆ ತೋರಿಸಿ

ಪೂರ್ಣಗೊಂಡ ಯೋಜನೆಗಳು ಮೇಜಿನ ಡ್ರಾಯರ್‌ನಲ್ಲಿ ಧೂಳು ಹಿಡಿಯಲು ಬಿಡಬೇಡಿ. ಅವುಗಳನ್ನು GitHub ನಲ್ಲಿ ಹಾಕಿ. ಯಾವುದು ಕೆಲಸ ಮಾಡಿತು, ಯಾವುದು ವಿಫಲವಾಯಿತು ಮತ್ತು ಯಾವುದರಿಂದ 'magic smoke' ಹೊರಬಂತು ಎಂಬುದನ್ನು ವಿವರಿಸುವ README ಅನ್ನು ಬರೆಯಿರಿ. ನಿಮ್ಮ builds ಅನ್ನು LinkedIn ಅಥವಾ ವೈಯಕ್ತಿಕ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಿ. ನಿಮ್ಮ power budget, ನಿಮ್ಮ protocol ಆಯ್ಕೆ ಅಥವಾ ನೀವು ನಿಮ್ಮ ಮೊದಲ PCB layout ಅನ್ನು ಏಕೆ ಕಿತ್ತೆಸೆದು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಿದಿರಿ ಎಂಬುದನ್ನು ವಿವರಿಸಿ. ಕಲಿಸುವುದು ನೀವು ತಿಳಿದಿರುವುದನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಜ್ಞಾನದ ಕೊರತೆಗಳನ್ನು ಎತ್ತಿ ತೋರಿಸುತ್ತದೆ. ಇದು ನಿಮ್ಮ ಸ್ವಂತ ನಿರ್ಧಾರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಂತೆ ಮಾಡುತ್ತದೆ. ಇದು ಯಾವುದೇ certification exam ಗೆ ಮೀರಿದ ಸಾಮರ್ಥ್ಯದ ಹಾದಿಯನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ.

ನಿಜವಾದ ಪಾಠ

ನೈಜ embedded systems ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಪದವಿ ಅಗತ್ಯವಿಲ್ಲ. ನಿಮಗೆ ನಿರಂತರತೆ ಬೇಕು. ಒಂದು resistor, ಒಂದು LED ಮತ್ತು ಒಂದು battery ಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ. ಪ್ರತಿದಿನ ಇಪ್ಪತ್ತು ನಿಮಿಷಗಳನ್ನು bench ನಲ್ಲಿ ಕಳೆಯಿರಿ. ವಸ್ತುಗಳನ್ನು ಹಾಳು ಮಾಡಿಕೊಳ್ಳಲು ಹಿಂಜರಿಯಬೇಡಿ. power ಅನ್ನು ಉಲ್ಟಾ ಅನ್ವಯಿಸಿ. ಒಂದು capacitor ಸ್ಫೋಟಗೊಂಡರೆ (pop), ಅದು ನಿಮಗೆ polarity ಬಗ್ಗೆ ಕಲಿಸಿದರೆ ಅದನ್ನು ಆಗಲಿ. ಅದನ್ನು ಸರಿಪಡಿಸಿ. ಆ ನಿರ್ದಿಷ್ಟ ವಾಸನೆಯ ಅರ್ಥವೇನು ಅಥವಾ chip ಅತಿಯಾದ current ಎಳೆದುಕೊಂಡಾಗ ಅದು ಹೇಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ಯಾವುದೇ tutorial ನನಗೆ ಕಲಿಸಿಲ್ಲ. ನೀವು ನಿರ್ಮಿಸುವ ಮೂಲಕ, debugging ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ನಿಮ್ಮ ತಪ್ಪುಗಳನ್ನು ಮುಚ್ಚಿಡಲು ನಿರಾಕರಿಸುವ ಮೂಲಕ ಅದನ್ನು ಕಲಿಯುತ್ತೀರಿ.