एम्बेडेड प्रोग्रामिंग म्हणजे मायक्रोकंट्रोलरमध्ये प्रोग्राम लिहून एखादे विशिष्ट काम करून घेण्याची पद्धत होय. या प्रोग्रामच्या मदतीने LED, मोटर, सेन्सर, बजर, डिस्प्ले यांसारखी इलेक्ट्रॉनिक उपकरणे नियंत्रित करता येतात.

आजच्या काळात एम्बेडेड प्रोग्रामिंगचा वापर अनेक उपकरणांमध्ये केला जातो. जसे की ट्रॅफिक सिग्नल, वॉशिंग मशीन, पाणी टाकी कंट्रोलर, सुरक्षा प्रणाली, रोबोट आणि स्मार्ट होम उपकरणे.

Arduino, ESP32, PIC यांसारख्या मायक्रोकंट्रोलरवर C किंवा C++ भाषेत प्रोग्राम लिहून ही उपकरणे स्वयंचलितपणे आणि अचूकपणे कार्य करतात. त्यामुळे एम्बेडेड प्रोग्रामिंग हे इलेक्ट्रॉनिक्स आणि ऑटोमेशन क्षेत्रातील एक महत्त्वाचे कौशल्य आहे.

Embedded Programming project’s Embedded Programming project’s

https://images.openai.com/static-rsc-4/IRB-G0twaC3Sd-F0n98UabYodMwXd3ThiCclWHJLzcYQWZEp5FFKr6ZDh7ZKwld65fpJBaLskhPmmMWdspYXI3cYLHJNfOOwHf-fMbzRn8LLdRjCj-pJPFNjDrI35umiNKlSjeqG52TckoDzqw8toI1OQ2cZsx2R0oRPvlybTX-QugyrdxAhkaAVy91QPqPw?purpose=fullsize
https://images.openai.com/static-rsc-4/fsNqsxc50Fuyl0V-SqA2uDM4F4axZp7Uuuq7jzy_Osg4TteQOmEHiJtv8MwhiWgnpCrINMthxctiIc0iIOotK2Ui6KdB3QLkPXykL7JRUHvIqT0dGCunukvC5-T2li3V_VDJzMtqCrtkIq-_iLDvSILB4o9f_pPJmtG372FKR43QZ4r4DjCoMv3FntBRIy0o?purpose=fullsize
https://images.openai.com/static-rsc-4/dC2IUzUSek9hU00VALpcYjt7mHQra7KBt1VAFTCWpoK0Doxm9TbyFKKsX9W847ccw7JMaygLwqxLBJIa7aBNTiWog_tBwCpIrFgRw50gwPTr2ipOv59hm8-wAq5VYWUtJsfw_eYXgTtFHduP7bcvrtSrrmlrTbieeIiz7HyzPsI2TItNMUmu5FmVgAAG-xYJ?purpose=fullsize

6

एम्बेडेड प्रोग्रामिंग (Embedded Programming) म्हणजे मायक्रोकंट्रोलर किंवा मायक्रोप्रोसेसरवर चालणाऱ्या विशिष्ट कामासाठी तयार केलेल्या प्रणालीसाठी प्रोग्राम लिहिण्याची प्रक्रिया. Arduino, ESP32, Raspberry Pi Pico यांसारख्या बोर्डवर सेन्सर, मोटर, LED, बजर इत्यादी उपकरणे नियंत्रित करण्यासाठी एम्बेडेड प्रोग्रामिंग वापरले जाते.

एम्बेडेड प्रोग्रामिंग ही अशी प्रोग्रामिंग पद्धत आहे ज्यामध्ये हार्डवेअर नियंत्रित करण्यासाठी C, C++ किंवा MicroPython सारख्या भाषांमध्ये प्रोग्राम लिहिला जातो. हा प्रोग्राम मायक्रोकंट्रोलरमध्ये अपलोड करून विविध इलेक्ट्रॉनिक उपकरणे स्वयंचलितपणे कार्यरत केली जातात.

https://images.openai.com/static-rsc-4/_18KyejmJZcAEWLki2XILV6I4wFDXYjQ5IZ0aoJQXihKztvsghmE32Z0QF7KBEiFuI2w3uoWK20rt5vGQoALRkonr4R0vPkY4vQFuSnVkTIM108Z46OA8ZLagDHXioVK5y11g6u0i25Gti3qlAvBjeot_YxZ4UsU8qf90CwezFwmx4mrW5B9Ug8AydMGEkzQ?purpose=fullsize
https://images.openai.com/static-rsc-4/DYiQZN68uQVSkUsxIJCHU_ar9ezCCGPnlT-MRUj4RfqQIAVp5usY33Wpmpul5KmoYdKLjvmPRF1DnCohi8mw592K0yvKLu9akzFgG_ms_2aYa79RoBfUl1uX4uwq3RhQNF9BWElivVNLxP4yPPLRFZb_BX6Usr2NDduGI1BtCk_9_EvhWPfDs1IdXNe_mqjD?purpose=fullsize
https://images.openai.com/static-rsc-4/6yql8KNAAWMsJRSRVHK-SnVENMDz3PinMkV4b6lGHuLkPY7AwVnLX2MluzrB8evYocSN_RYO5EvGZq0_ZGEQ5QeZhmvAU9sSWOejpnycUtRMASp12kPa9lPN6vimLhb2_EAntsuEoC7kqJaCR21kU7a-_QOHYGcgCKvaIZa7jlWBS3D3951S590Vu6gwAAko?purpose=fullsize

4

  1. ऑटोमॅटिक वॉटर टँक कंट्रोलर
  2. टाकी भरल्यावर मोटर आपोआप बंद होते.
  3. ट्रॅफिक सिग्नल सिस्टम
  4. लाल, पिवळा आणि हिरवा दिवा निश्चित वेळेनुसार चालतो.
  5. स्मार्ट होम ऑटोमेशन
  6. मोबाईलद्वारे लाईट किंवा फॅन नियंत्रित करता येतात.
  7. डिजिटल तापमान मापन प्रणाली
  8. तापमान मोजून LCD किंवा OLED वर दाखवते.
साहित्यउपयोग
Arduino Unoमायक्रोकंट्रोलर बोर्ड
USB केबलप्रोग्राम अपलोड करण्यासाठी
LEDआउटपुट दर्शविण्यासाठी
220Ω रेझिस्टरLED चे संरक्षण
Breadboardसर्किट तयार करण्यासाठी
Jumper Wiresकनेक्शनसाठी
Arduino IDEप्रोग्राम लिहिण्यासाठी

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);

  digitalWrite(13, LOW);
  delay(1000);
}
  • setup() – सुरुवातीला एकदाच चालते.
  • pinMode(13, OUTPUT) – Pin 13 आउटपुट म्हणून सेट करतो.
  • loop() – हा भाग सतत चालत राहतो.
  • digitalWrite(HIGH) – LED चालू करतो.
  • digitalWrite(LOW) – LED बंद करतो.
  • delay(1000) – 1 सेकंद थांबतो.
  • औद्योगिक ऑटोमेशन
  • रोबोटिक्स
  • स्मार्ट होम
  • वैद्यकीय उपकरणे
  • वाहन उद्योग
  • कृषी ऑटोमेशन
  • IoT (Internet of Things)

ऑटोमेशन सुलभ होते

कमी वीज वापर

जलद कार्यक्षमता

कमी खर्च

विश्वासार्ह प्रणाली

Individual workIndividual work

Thonny IDE (Integrated Development Environment) हे MicroPython प्रोग्राम लिहिणे, चालवणे आणि बोर्डवर अपलोड करणे यासाठी वापरले जाणारे सॉफ्टवेअरDevelopment Workflow

Start


Install Thonny IDE


Connect Board


Select MicroPython Interpreter


Write Program


Save Program


Run Program (F5)


Test Output


Debug if Required


Finish

Thonny IDE Installation Step-by-StepThonny IDE हे Python आणि MicroPython प्रोग्रामिंगसाठी वापरले जाणारे मोफत आणि सोपे सॉफ्टवेअर आहे. ESP32, Raspberry Pi Pico आणि इतर मायक्रोकंट्रोलरवर प्रोग्राम लिहिण्यासाठी Thonny IDE उपयुक्त आहे. या ब्लॉगमध्ये Thonny IDE कसे इन्स्टॉल करायचे ते स्टेप-बाय-स्टेप पाहू.

  1. वेब ब्राउझर उघडा.
  2. https://thonny.org ही वेबसाइट उघडा.
  3. Download for Windows वर क्लिक करा.

Thonny ची होमपेज आणि Download बटण.

  1. Download बटणावर क्लिक करा.
  2. Setup फाईल डाउनलोड होण्याची वाट पाहा.

डाउनलोड होत असलेली Setup फाईल.

  1. Downloads फोल्डर उघडा.
  2. thonny-setup.exe फाईलवर डबल-क्लिक करा.

Downloads फोल्डरमधील Setup File.

  1. User Account Control (UAC) विंडो आल्यास Yes वर क्लिक करा.
  2. Setup Wizard सुरू होईल.
  3. Next वर क्लिक करा.

Setup Wizard.

  1. License Agreement वाचा.
  2. I Agree किंवा Accept वर क्लिक करा.

License Agreement.

  1. Installation Location निवडा (Default ठेवू शकता).
  2. Install वर क्लिक करा.

Install Window.

  1. काही सेकंद Installation पूर्ण होईल.
  2. Finish वर क्लिक करा.

Installation Complete.

  1. Desktop किंवा Start Menu मधून Thonny IDE उघडा.
  2. Thonny चे मुख्य विंडो दिसेल.

Thonny IDE Home Screen.

  1. Run → Configure Interpreter वर क्लिक करा.
  2. Python किंवा MicroPython Interpreter निवडा.
  3. ESP32 वापरत असल्यास MicroPython (ESP32) निवडा.
  4. योग्य COM Port निवडा.
  5. OK वर क्लिक करा.

Configure Interpreter

ESP 32 led blinking On board & RP2040 xiao board

ESP32 हा एक मायक्रोकंट्रोलर बोर्ड आहे. या प्रयोगात ESP32 वरील ऑन-बोर्ड LED चालू आणि बंद (Blink) करण्यात आली. हा मायक्रोकंट्रोलर शिकण्याचा पहिला आणि सोपा प्रयोग आहे. यामुळे बोर्ड व्यवस्थित काम करत आहे की नाही हे तपासता येते. तसेच Thonny IDE आणि MicroPython वापरून प्रोग्राम ESP32 मध्ये कसा चालवायचा हे समजते. हा प्रयोग केल्यानंतर पुढील सेन्सर आणि IoT प्रकल्प शिकणे अधिक सोपे होते.

code from machine import Pin
from time import sleep

On-board LED (GPIO2)

while True:
led.on() # LED ON
sleep(1)
led.off() # LED OFF
sleep(1)

led = Pin(2, Pin.OUT)

RP2040 XIAO हा आकाराने लहान पण कार्यक्षम मायक्रोकंट्रोलर बोर्ड आहे. हा बोर्ड Raspberry Pi च्या RP2040 चिपवर आधारित आहे. या बोर्डाचा वापर LED, सेन्सर, मोटर आणि इतर इलेक्ट्रॉनिक्स प्रकल्पांमध्ये केला जातो. Thonny IDE आणि MicroPython च्या मदतीने या बोर्डावर सहज प्रोग्राम लिहून चालवता येतो. लहान आकार, कमी वीज वापर आणि चांगली कार्यक्षमता यामुळे RP2040 XIAO हा विद्यार्थी साठी एक उत्तम बोर्ड आहे.


#include <Adafruit_NeoPixel.h>

#define LED_POWER 11
#define LED_PIN   12

Adafruit_NeoPixel rgb(1, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pinMode(LED_POWER, OUTPUT);
  digitalWrite(LED_POWER, HIGH);

  rgb.begin();
}

void loop() {
  rgb.setPixelColor(0, rgb.Color(255, 0, 0)); // Red ON
  rgb.show();
  delay(500);

  rgb.clear(); // OFF
  rgb.show();
  delay(500);
}
BoardProgramming Language
Arduino UnoC / C++
ESP32C++, MicroPython
RP2040C++, MicroPython

मायक्रोकंट्रोलर बोर्ड हा एक लहान इलेक्ट्रॉनिक बोर्ड असतो. या बोर्डवर मायक्रोकंट्रोलर (Microcontroller) बसवलेला असतो, जो संपूर्ण सर्किटचे नियंत्रण करतो. सेन्सरकडून माहिती घेणे, त्यावर प्रक्रिया करणे आणि आवश्यकतेनुसार LED, मोटर, रिले किंवा इतर उपकरणे चालू-बंद करणे हे त्याचे मुख्य काम आहे.

मायक्रोकंट्रोलर बोर्ड म्हणजे असा डेव्हलपमेंट बोर्ड ज्यामध्ये मायक्रोकंट्रोलर, पॉवर सर्किट, USB पोर्ट, इनपुट-आउटपुट (I/O) पिन्स आणि आवश्यक इलेक्ट्रॉनिक घटक असतात. या बोर्डवर C, C++ किंवा MicroPython सारख्या भाषांमध्ये प्रोग्राम लिहून विविध प्रकल्प तयार करता येतात.

Group Assignment – Embedded Programming

मायक्रोकंट्रोलर बोर्ड हा एम्बेडेड सिस्टीममधील एक महत्त्वाचा डेव्हलपमेंट बोर्ड आहे. या बोर्डवर मायक्रोकंट्रोलर, पॉवर सर्किट, USB इंटरफेस, क्लॉक आणि इनपुट/आउटपुट (GPIO) पिन्स असतात. या बोर्डच्या मदतीने विविध इलेक्ट्रॉनिक, ऑटोमेशन आणि IoT प्रकल्प तयार करता येतात.

मायक्रोकंट्रोलर बोर्ड म्हणजे असा इलेक्ट्रॉनिक बोर्ड ज्यावर प्रोग्राम लिहून LED, सेन्सर, मोटर, रिले, डिस्प्ले इत्यादी उपकरणे नियंत्रित करता येतात. हा बोर्ड संगणकावरून USB केबलद्वारे प्रोग्राम करून विविध कार्ये पार पाडतो.

  • मायक्रोकंट्रोलर (MCU)
  • USB पोर्ट
  • पॉवर सप्लाय सर्किट
  • GPIO (Input/Output) पिन्स
  • Flash Memory
  • RAM
  • Reset Button
  • LED ब्लिंकिंग
  • सेन्सर इंटरफेसिंग
  • ट्रॅफिक लाईट कंट्रोल
  • वॉटर लेव्हल अलार्म
  • स्मार्ट होम ऑटोमेशन
  • रोबोटिक्स
  • IoT (Internet of Things) प्रकल्प
  • Arduino Uno
  • ESP32 DevKit
  • ESP32-C3
  • Raspberry Pi Pico (RP2040)
  • Seeed Studio XIAO ESP32-C3

मायक्रोकंट्रोलर बोर्ड हा एम्बेडेड सिस्टीममधील महत्त्वाचा घटक आहे. या बोर्डवर मायक्रोकंट्रोलर, मेमरी, इनपुट/आउटपुट (I/O) पिन्स आणि इतर आवश्यक सर्किट्स असतात. मायक्रोकंट्रोलर बोर्डाचा वापर इलेक्ट्रॉनिक उपकरणे नियंत्रित करण्यासाठी, ऑटोमेशन, रोबोटिक्स आणि IoT प्रकल्पांमध्ये मोठ्या प्रमाणावर केला जातो.

AVR ही Atmel (आता Microchip Technology) कंपनीने विकसित केलेली 8-बिट मायक्रोकंट्रोलर आर्किटेक्चर आहे. AVR मायक्रोकंट्रोलर वापरण्यास सोपा असून शैक्षणिक आणि लहान एम्बेडेड प्रकल्पांसाठी लोकप्रिय आहे. Arduino Uno मध्ये ATmega328P हा AVR मायक्रोकंट्रोलर वापरला जातो.

  • 8-बिट आर्किटेक्चर
  • कमी वीज वापर
  • प्रोग्राम करणे सोपे
  • कमी किमतीत उपलब्ध
  • नवशिक्यांसाठी उपयुक्त
  • LED ब्लिंकिंग
  • ट्रॅफिक लाईट प्रकल्प
  • सेन्सर इंटरफेसिंग
  • वॉटर लेव्हल अलार्म
  • लहान ऑटोमेशन प्रकल्प

ARM ही 32-बिट आणि 64-बिट प्रोसेसर आर्किटेक्चर आहे. ARM आधारित मायक्रोकंट्रोलर उच्च गती, अधिक मेमरी आणि जास्त कार्यक्षमतेमुळे आधुनिक एम्बेडेड सिस्टीम आणि IoT प्रकल्पांमध्ये मोठ्या प्रमाणावर वापरले जातात. ESP32, STM32 आणि Raspberry Pi Pico (RP2040) हे ARM किंवा ARM-आधारित प्रोसेसर वापरणाऱ्या लोकप्रिय बोर्डांपैकी आहेत.

  • 32-बिट किंवा 64-बिट आर्किटेक्चर
  • उच्च कार्यक्षमता
  • अधिक RAM आणि Flash Memory
  • कमी वीज वापर
  • मल्टीटास्किंग आणि जटिल प्रकल्पांसाठी उपयुक्त
  • IoT प्रकल्प
  • रोबोटिक्स
  • औद्योगिक ऑटोमेशन
  • स्मार्ट होम सिस्टीम
  • मेडिकल उपकरणे
  • ड्रोन आणि स्मार्ट डिव्हाइसेस

Binary number system

बायनरी नंबर सिस्टम ही अशी संख्या पद्धत आहे ज्यामध्ये फक्त 0 आणि 1 हे दोनच अंक वापरले जातात. संगणक, Arduino, ESP32, मोबाईल आणि इतर डिजिटल उपकरणे ही सर्व माहिती 0 आणि 1 च्या स्वरूपात समजतात व प्रक्रिया करतात.

  • 0 म्हणजे OFF (बंद) किंवा LOW
  • 1 म्हणजे ON (चालू) किंवा HIGH

binary piaces values 1, 2 ,4, 8, 16, 32, 64 ,128

प्रतिमेमधील मजकुराचे मराठी भाषांतर खालीलप्रमाणे आहे:0b1010 चा अर्थ काय आहे?बायनरी संख्येमधील (binary number) प्रत्येक स्थानाची एक विशिष्ट किंमत असते:8    4    2    11    0    1    0म्हणून,

Hexadecimal Number System

हेक्साडेसिमल संख्या पद्धती (Hexadecimal Number System) ही संगणक आणि डिजिटल इलेक्ट्रॉनिक्समध्ये वापरली जाणारी संख्या पद्धती आहे. या पद्धतीमध्ये 16 चिन्हे वापरली जातात. म्हणून तिला Base-16 Number System असे म्हणतात.

या पद्धतीमध्ये खालील 16 चिन्हांचा वापर केला जातो.

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

येथे:

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15
DecimalHexadecimal
10A
11B
12C
13D
14E
15F
1610
261A
255FF
16²16¹16⁰
256161

उदाहरण:

2F₁₆ = (2 × 16) + (15 × 1) = 32 + 15 = 47₁₀

  • संगणकामध्ये Memory Address दाखवण्यासाठी
  • मायक्रोकंट्रोलर प्रोग्रामिंगमध्ये
  • HTML Color Codes (उदा. #FF0000)
  • Debugging आणि Machine Code मध्ये
  • Embedded Systems मध्ये
  • मोठ्या Binary संख्यांना लहान स्वरूपात दाखवता येते.
  • Binary मध्ये रूपांतरण करणे सोपे असते.
  • Programming आणि Debugging साठी आहे.

हेक्साडेसिमल संख्या पद्धती ही Base-16 संख्या पद्धती आहे. यात 0 ते 9 आणि A ते F अशी 16 चिन्हे वापरली जातात. camptur , मायक्रोकंट्रोलर, एम्बेडेड सिस्टिम आणि डिजिटल इलेक्ट्रॉनिक्समध्ये हेक्साडेसिमल संख्या मोठ्या प्रमाणावर वापरल्या जातात.