Thursday, September 24, 2015

जुळेवाडी या खेडेगावाची पहिली मराठी वेबसाईट

ज्ञानदीपने गेल्या १५ वर्षांच्या काळात  सांगली (www.mysangli.com) व कोल्हापूर (www.mykolhapur.net)  या शहरांच्या मराठी माध्यमातील वेबसाईट करून महाराष्ट्रात मराठी वेबसाईट करण्यात पुढाकार घेतला आहे. आता तासगाव तालुक्यातील जुळेवाडी या छोट्याश्या खेड्याची वेबसाईट (www.julewadi.com) तयार करण्याची संधी जुळेवाडी ग्रामपंचायतीने ज्ञानदीप इन्फोटेकला दिली याबद्दल जुळेवाडी ग्रामपंचायतीस धन्यवाद् !

 जुळेवाडीने आपली वेबसाईट करून स्मार्ट व्हिलेजच्या वाटचालीत आपले पहिले पाऊल टाकले आहे. ज्ञानदीपने ही वेबसाईट तयार करताना आधुनिक तंत्रज्ञानाचा (Responsive Design ) वापर केला आहे. त्यामुळे ही वेबसाईट कॉम्प्युटरप्रमाणे मोबाईलवरही व्यवस्थित पाहता येते.


 

पुढारी दैनिकात याविषयी आलेल्या बातमीचे कात्रण खाली दिले आहे.


आपण ही वेबसाईट आवर्जून पहावी व आपले अभिप्राय ज्ञानदीपकडे(info@dnyandeep.com) पाठवावेत ही विनंती.
स्मार्ट व्हिलेज या केंद्र सरकारच्या योजनेमध्ये निवड होण्यासाठी गावाची वेबसाईट असणे उपयुक्त ठरणार आहे. इतर ही ग्रामपंचायतीनी जुळेवाडीचा आदर्श घेऊन आपल्या गावाची वेबसाईट करावी. या कार्यात ज्ञानदीप आपले सर्व सहकार्य देईल.

Wednesday, September 23, 2015

पाढे पाठांतर

 कोणी काही म्हणो. बालवयात बुद्धी आणि उच्चार यात जलद प्रगती हवी असेल तर पाठांतरास पर्याय नाही. अंकगणित शिकताना पाढे पाठ असतील तर अंकगणित शिकणे फार सोपे जाते.

 अगदी एक ते शंभर अंक लिहिताना देखील एक एके एक, दोन एके दोन, एकावर एक अकरा असे मोठ्याने तालात म्हटल्यास लिहिण्याकडे लक्ष राहते व अंक लवकर पाठ होतात.

एक ते शंभर अंकांची ओळख झाली व ते लिहिणे व वाचणे जमू लागले की पहिला टप्पा म्हणजे बेचे पाढे पाठ करणे. बे म्हणजे दोन. गेयता असल्यास  पाठांतर लवकर होते. यासाठी दोन ऎवजी बे या सोयीस्कर शब्दाचा वापर केला जातो.

 पाढे पाठ करताना दोन दोन ओळीत पाठ करावे. म्हणजे बे एके बेए, बे दुणे चार. यांनंतर थोडे थांबून पुढच्या दोन ओळी म्हणाव्या. सर्व ओळी पाठ झाल्या की मग सलगपणे संपूर्ण पाढा म्हणावा. २ ते १० पर्यंतचे पाढे पाठ झाले की सलगपणे सर्व पाढे म्हणण्याचा सराव करावा.

याचप्रमाणे अकराचे व एकवीसचे पाढे पाठ करावेत. शाळेत शिक्षकांनी व घरात पालकांनी असे पाढे नियमितपणे म्हणवून घ्यावेत.

 मला आठवते. लहानपणी प्राथमिक शाळेत असताना दर शनिवारी प्रार्थना झाल्यावर बेच्या पाढ्यापासून सुरुवात करून तीसच्या पाढ्यापर्यंत सर्व पाढे विद्यार्थी मोठ्या आवाजात एका कोरसमध्ये म्हणत असत. कोणत्या वर्गाचा आवाज मोठा अशी त्यावेळी चढाओढही लागे. यात ज्या मुलाचे पाढे पाठ नाहीत त्याचेही  पाढे आपोआप पाठ होण्यास मदत होत असे. देवाच्या आरत्या जशा एकत्र म्हटल्याने आपोआप पाठ होतात तसेच पाढ्यांच्या बाबतीतही होते.

इंग्रजी माध्यमातील मुलेही टू टूज आर फोर ( Two twos are Four),   टू थ्रीज आर सिक्स (Two threes are Six) या पद्धतीने पाढे पाठ करू शकतात.

काही पालक विद्यार्थ्याला क्रमवार बेरीज करून पाढे तयार करायला शिकवितात. पाढ्यातील कार्य-कारण भाव (लॉजिक)  त्यामुळे मुलाला कळेल व पाठांतराची गरज भासणार नाही असे त्यांना वाटते. मात्र या पद्धतीने शिकविल्यास लॉजिक कळले तरी प्रत्येक संख्या काढताना गणिती क्रिया करावी लागते व त्यात वेळ जातो. मात्र पाढे पाठ असणारा मुलगा चटकन उत्तर देऊ शकतो.

पाढ्यातील कार्य-कारण भाव समजणे आवश्यक असले तरी पाढे पाठ केल्यानंतर ते शिकवणे अधिक श्रेयस्कर ठरेल.

भाषा शिकताना देखील आपण वाचलेली किंवा ऎकलेली वाक्ये वापरतो व नंतर त्यातील व्याकरणाचा अभ्यास करून नवी वाक्ये तयार करायला शिकतो. अंकगणित शिकताना हीच पद्धत वापरणे सोयीचे ठरते.

पाढे पाठ करणे सोपे जावे यासाठी ज्ञानदीपने पाढे या नावाचे एक अँड्रॉईड एप विकसित केले आहे. त्यात बे पासून तीसपर्य़ंत पाढे यांचा उच्चार व ध्वनीफितींसह समावेश केला आहे. गुगल प्लेस्टोअरवर हे ऎप लवकरच उपलब्ध करण्यात येईल.


Tuesday, September 22, 2015

अँड्रॉईड प्रोग्रॅमिंग - भाग ८

अँड्रॉईड प्रोग्रॅममध्ये प्रत्येक स्क्रीन डिस्प्लेसाठी एक वेगळी  Activity किंवा विशिष्ट कृती सुरू करावी लागते. src फोल्डरमध्ये सर्व स्क्रीनसाठी Activityच्या वेगवेगळ्या जावा फाईल तयार कराव्या लागतात. एका Activity तून दुसर्‍या Activity साठी जाण्यासाठी Intent म्हणजे इच्छा व्यक्त करावी लागते.

समजा  b2 नावाचे बटन आपण MainActivity.java या फाईलमध्ये तयार केले असेल व त्यावर क्लिक केले की आपल्याला SecondActivityसुरू करावयाची असेल तर त्याचा प्रोग्रॅम खालीलप्रमाणे लिहितात.

  b2.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent i = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(i);

            }

अल्लाउद्दीन आणि जादुचा दिवा या गोष्टीत ज्याप्रमाणे दिवा घासला की राक्षस प्रकट हॊई व अल्लाउद्दीनने व्यक्त केलेली  इच्छा पूर्ण करी त्याप्रमाणे b2 बटन दाबले की (onClick)  नवी इच्छा (new Intent)  वेगळ्या नावाने (Intent i) सेव्ह करून  ती Activity  वा कृती करण्यासाठी startActivity(i) अशी आज्ञा दिली जाते.

MainActivity.java या मुख्य फाईलमध्ये b1, b2, b3 याप्रमाणे अनेक बटन तयार करून वेगवेगळ्या Activity सुरू करता येतात. वेबसाईटमध्ये  ज्याप्रमाणे लिंक देऊन वेगवेगळी पेजेस जोडलेली असतात. त्याप्रमाणेच ही रचना असते.

शिवाय प्रत्येक वेगळ्या Activityमध्ये पाठीमागे जाण्यासाठी असेच एक बटन तयार करून ठेवले जाते. त्यामुळे वेबसाईटप्रमाणेच आपल्याला हवा तो  स्क्रीन उघडता येतो तसेच आवश्यकतेप्रमाणे वेगवेगळ्या कृती करता येतात.

अर्थात  अँड्रॉईड प्रोग्रॅममधील सर्व Activities ची माहिती AndroidManifest.xml  या फाईलमधे द्यावी लागते.
खाली AndroidManifest.xml  या फाईलमधील application हा भाग दाखविला आहे. यात प्रथम प्रोग्रॅमचा बॅक अप घेण्याची अनुमती दिली आहे. प्रोग्रॅमसाठी कोणता लोगो वा चित्र वापरायचे हे drawable/ic_launcher ने दर्शविले आहे. प्रोग्रॅमचे नाव app_name हे strings.xml मधून व मजकूर मांडण्याची पद्धत वा स्टाईल AppTheme ही  styles.xml या फाईलमधून घ्यावे हे सूचित केले आहे.

 नंतरच्या  activity परिच्छेदात अँड्रॉईड प्रोग्रॅममधील मुख्य फाईल कोणती (MainActivity) याची माहिती असून त्यासाठी intent.action.MAIN आणि intent.category.LAUNCHER  ही वैशिष्ठ्ये सांगितली आहेत.

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
     <activity
            android:name="com.example.dnyandeep.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
               <action android:name="android.intent.action.MAIN" />

              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
      <activity android:name=".FirstActivity" />
        <activity android:name=".SecondActivity" />
        <activity android:name=".ThirdActivity" />
        </application>


त्यानंतर तीन वेगवेगळ्या activity ची नावे लिहिली आहेत. या activity सुरू करण्यासाठी  मुख्य फाईलमध्ये b1,b2,b3 अशी बटन तयार केली आहेत. या तीनही activity त  मागे जाण्यासाठी आणखी एक back  बटन तयार करावे लागेल.



Monday, September 14, 2015

अँड्रॉईड प्रोग्रॅमिंग – भाग ७

आता FirstApp या प्रोजेक्टची AndroidManifest.xml कशी तयार झाली आहे ते पाहू. या फाईलमधील कोड खाली दिले आहे.

 सर्वप्रथम xml फाईलसाठी आवश्यक डीक्लेरेशन दिले आहे. नंतर प्रोजेक्टचे नाव, तसेच हा  नवा प्रोजेक्ट असल्याने versionCode= "1" आणि versionName="1.0"   दिले आहे.

 त्यानंतर Android sdk चे किमान(minSdkVersion=8) आणि कमाल (targetSdkVersion =17) व्हर्जसाठी हे प्रोजेक्ट डिझाईन न्केले आहे याची माहिती आहे. 8 हे जुने व्हर्जन वापरणारे बरेच लोक असल्याने त्यांच्या मोबाईलवर हे प्रोजेक्ट व्यवस्थित चालावे असा यात उद्देश आहे. प्रोजेक्टचा बॅक अप घेता येईल ( True), तसेच ic_launcher (प्रोजेक्टसाठी वापरावयाचा लोगो वा चित्र) प्रोजेक्टचे नाव कोठून घेतले आहे त्याचे संदर्भ दिले आहेत.

 activity ची माहिती देताना मुख्य जावा फाईलचे स्थान व नाव देऊन intent-filter  या भागात प्रत्यक्ष कृतीचे (activity चे नाव) व Launcher म्हणजे हीच पहिली activity आहे हे सूचित केले आहे.  

अँड्रॉईड प्रोग्रॅमिंग – भाग ६

अँड्रॉईड प्रोजेक्टमधील मुख्य जावा फाईल MainActivity.java व त्याचा मोबाईलमधील ग्राफिकल लेआऊट (res->layout-> activity_main.xml )शी असणारा संबंध कळण्यासाठी नावाचे एक साधे प्रोजेक्ट करून  त्यातील  स्ट्रक्चर दाखविले आहे.
मुख्य जावा फाईल MainActivity.java चा प्रोग्रॅम कोड खाली दिला आहे.

1. package com.example.firstapp;

2. import android.os.Bundle;
3. import android.app.Activity;
4. import android.view.Menu;

5. public class MainActivity extends Activity {

6.    @Override
7.     protected void onCreate(Bundle savedInstanceState) {
8.        super.onCreate(savedInstanceState);
 9.        setContentView(R.layout.activity_main);
10.   }

11.    @Override
12.    public boolean onCreateOptionsMenu(Menu menu) {
 13.      // Inflate the menu; this adds items to the action bar if it is present.
 14.       getMenuInflater().inflate(R.menu.main, menu);
 15.       return true;
 16.   }
  
17. }
पहिल्या ओळीत पॅकेजची माहिती आहे. पुढच्या तीन ओळीत (2,3,4) अँड्रॉईड सिस्टीममधील आवश्यक सुविधा प्रोजेक्टमध्ये इंपोर्ट केल्या आहेत.  त्यानंतर MainActivity हा क्लास अँड्रॉईडच्या मूलभूत Activity क्लासवरून तयार केलेला दिसतो. 9 व्या ओळीत setContentView मध्ये ( लाल अक्षरात)  layout.activity_main चा उल्लेख आढळतो.

या activity_main.xml  फाईलचा  प्रोग्रॅम कोड खाली दिला आहे.

  

स्क्रीनवर माहिती दाखविण्यासाठी आब्सोल्यूट किवा रिलेटिव पद्धत वापरता येते. आब्सोल्यूट लेआऊटमध्ये प्रत्येक माहितीघटकाचे स्थान पिक्सेलमध्ये निश्चित केले जाते तर रिलेटिव पद्धतीत ते एकमेकांशी संदर्भानुसार ठरविले जाते.  वरील प्रोग्रॆममध्ये Text1 आणि Button यांच्या केलेल्या मांडणीप्रमाणे प्रत्यक्ष मोबाईलवर माहिती कशी दिसेल हे शेजारच्या चित्रात दाखविले आहे.

सर्वप्रथम लेआऊटची रुंदी आणि उंची match_parent म्हणजे डिव्हाईस स्क्रीननुसार घ्यावी असे लिहिले आहे. नंतर खाली, डाव्या बाजूला, उजव्या बाजूला व वरच्या बाजूला किती जागा मोकळी सोडायची हे dimens.xml या फाईलवरून घेतले आहे.

dimens.xml

<resources> <!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>

चित्रात वरच्या बाजूस (मेनू बारमध्ये) काळ्या पट्टीत अँड्रॉईडचा लोगो आणि FirstApp हे अँड्रॉईड प्रोजेक्टचे नाव दिसते. ही माहिती menu.xml आणि strings.xml फाईलमधून घेतली जाते. त्याखाली एक टेक्स्टबॉक्स (Hello world!) त्याखाली एक बटन दिसते. टेक्स्टबॉक्समधील मजकूर व्हॅल्युस फोल्डर्मधील स्ट्रिंग्ज (res->values->strings.xml)या फाईलमधून आला आहे. हे आपल्याला ती फाईल पाहिल्यावर समजेल.

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">FirstApp</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="button">Button</string>
</resources>

Sunday, September 13, 2015

इलेक्ट्रॉनिक्स परिचय भाग – ३

इलेक्ट्रॉनिक सर्कीटमध्ये मुख्यत्वे खालील कांपोनंट (Component) वापरले जातात.

१.   Resistor - रेझिस्टर (विदयुतरोधक)
इलेक्ट्रीक सर्कीटमधील करंट कमी करण्यासाठी रेझिस्टरचा वापर केला जातो. रेझिस्टर या चिन्हाने सर्कीटमध्ये दाखविण्यात येतो. रेझिस्टरची रेझिस्टन्स व्हॅल्यु (R) ही Ohm (ओहम) या युनिटमध्ये मोजली जाते.  1000 ओहम म्हणजे 1K-Ohm.  

रेझिस्टरची सलग व समांतर जोडणी (In Series and parallel)

इलेक्ट्रीक वा इलेक्ट्रॉनिक सर्कीटमध्ये रेझिस्टर सलग पणे (In Series) जोडले असतील तर त्याचा एकूण रेझिस्टन्स हा सर्व रेझिस्टन्सच्या बेरजेइतका असतो.
R=R1 + R2 + R3
अशावेळी प्रत्येक रेझिस्टरमध्ये वेगवेगळा व्होल्टेज ड्रॉप (V1,V2,V3) होतो मात्र या सर्व रेझिस्टरमध्ये करंट एक सारखाच म्हणजे एकूण व्होल्टेज ड्रॉप भागिले एकूण रेझिस्टन्स एवढा राहतो.
V=V1 + V2 + V3
I=V/R
मात्र असे रेझिस्टर जर समांतर पद्धतीने (In  parallel) जोडले असतील तर त्यांचा एकूण रेझिस्टन्स हा खालील सूत्राने काढता येतो.
1/R=1/R1 + 1/R2 + 1/R3
सर्कीटमध्ये फिक्स्ड आणि व्हेरिएबल असे दोन प्रकारचे रेझिस्टर वापरले जातात. रेझिस्टरच्या रेझिस्टन्स व्हॅल्युबरोबरच त्याचे पॉवर रेटींग आणि टॉलरन्स या दोन गोष्टींचा विचार करून कोणता रेझिस्टर वापरायचा हे ठरवावे लागते. पॉवर रेटींग म्हणजे विद्युतशक्ती सहन करण्याची क्षमता आणि टॉलरन्स म्हणजे प्रमाणित रेझिस्टन्स व्हॅल्युपेक्षा किती कमी जास्त व्हॅल्युसाठी तो सुरक्षितपणे वापरता येईल याचे मोजमाप. टॉलरन्स हा परसेंटेजमध्ये दिलेला असतो. इलेक्ट्रिक करंट व्हॅल्यु (I) मोजण्यासाठी amp (अँपियर) हे युनिट वापरतात तर व्होल्टेज V= I x R  आणि इलेक्ट्रिक पॉवर E= V x I किंवा  E=I x I x R  या सूत्राने काढता येते व ती वॅटमध्ये मोजतात.

 इलेक्ट्रॉनिक सर्कीटमध्ये सर्वसाधारणपणे 1/8,1/4,1/2 watt या पॉवर रेटींगचे  रेझिस्टर वापरलेले असतात.

२. Capacitor कपॅसिटर -
 कपॅसिटरमध्ये दोन धातूच्या पट्ट्या थोडे अंतर ठेवून बसविलेल्या असतात. कपॅसिटर
या चिन्हाने सर्कीटमध्ये दाखविण्यात येतो. इलेक्ट्रॉनिक सर्कीटमध्ये कपॅसिटर असला की डायरेक्ट किंवा एकदिश करंट खंडित होतो. मात्र धातूच्या पट्टीवर धन विद्युत भार वाढत जातो.   अल्टरनेटिंग किंवा उलतासुलट विद्युतप्रवाह असेल तर कपॅसिटरमध्ये आळीपाळीने दोन्ही पट्ट्या विद्यु्तभारीत होतात व  इलेक्ट्रॉनिक सर्कीटमध्ये करंट चालू रहातो. या क्रियेत कपॅसिटरमध्ये विद्युतशक्ती साठविली जाते. कपॅसिटरची कपॅसिटन्स व्हॅल्यु मोजण्यासाथी फॅरेडे हे युनिट वापरता. एक फॅरेडे एवढा कपॅसिटन्स इलेक्ट्रॉनिक सर्कीटच्या मानाने फार मोठा असल्याने 1/1000 फॅरेडे (मायक्रोफॅरेडे) हे युनिट वापरण्यास सोयीचे ठरते.

कपॅसिटर (कन्डेन्सर) ची सलग व समांतर जोडणी (In Series and parallel)

कपॅसिटर सलगपणे जोडले(In Series) असतील तर त्यांच्यावरील संचित होणारा विद्युतभार सारखा राहतो व एकूण कपॅसिटन्स खालील सूत्राने काढता येतो.
1/C=1/C1 + 1/C2 + 1/C3

मात्र कपॅसिटर समांतरपणे जोडले (In parallel) असतील तर त्यांच्यावरील संचित होणारा विद्युतभार वेगवेगळा असतो व एकूण कपॅसिटन्स हा सर्व कपॅसिटन्सच्या बेरजेइतका असतो.
C=C1 + C2 + C3

३. Inductor इन्डक्टर -
इन्डक्टर या चिन्हाने सर्कीटमध्ये दाखविण्यात येतो.
एखाद्या रिळाभोवती तांब्याच्या तारेचे अनेक वेढे घालून ते  इलेक्ट्रॉनिक सर्कीटमध्ये लावले की या तारेतून वीज वाहताना रिळाभोवती इंडक्शनमुळे मॅग्नेटिक फील्ड (चुंबकीय क्षेत्र)  निर्माण होते. त्यामुळे या साधनाला इन्डक्टर असे म्हतले जाते.   विद्युतप्रवाहात कमीजास्त बदल होत असतील इन्डक्टरच्या मॅग्नेटिक फील्डमुळे  अशा बदलास विरोध होतो व करंट एकसमान राहण्यास मदत होते. इंडक्टरची इन्डक्टन्स व्हॅल्यु (L) मोजण्यासाठी H (Henry) हेन्री हे युनिट वापरतात.

४. Diode डायोड -
डायोड हे अर्धवाहक उपकरण अ्सून यामुळे विद्युतप्रवाह फक्त एका दिशेने वाहू शकतो. डायोड
या चिन्हाने सर्कीटमध्ये दाखविण्यात येतो.  AC ( Alternating Current) चे DC(Direct Current) मध्ये रुपांतर करण्यासाठी, ऑन/ऑफ स्विच म्हणून वापरण्यासाठी किंवा रेडिओ फ्रिक्वेन्सीमधील संदेश वेगळा करण्यासाठी डायोडचा उपयोग करता येतो.

 डायोडचे तीन प्रकार आहेत.

अ) Zener Diode झेनर डायोड -   व्होल्टेज नियंत्रणासाठी झेनर डायोडचा उपयोग करतात. झेनर डायोड हा

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

ब) LED ( Light emitting diode) एलईडी दिवा हा एक प्रकारचा डायोडच आहे. एलईडी हा

या चिन्हाने सर्कीटमध्ये दाखविला जातो. या डायोडमधून विद्युत प्रवाह वाहू लागला की त्याच्या कॅथोडमधून इलेक्ट्रॉन उत्सर्जनामुळे प्रकाश बाहेर पडतो.
   
या चिन्हाने सर्कीटमध्ये दाखविला जातो.

क) Variable capacitance diode व्हेरिएबल कपॅसिटन्स डाय़ोड -

व्हेरिएबल कपॅसिटन्स डाय़ोड  हा
या चिन्हाने सर्कीटमध्ये दाखविला जातो. विरुद्ध दिशेने डायोडवर व्होल्टेज लावले तर डायोडमधून विद्युतप्रवाह वाहू शकत नाही अशावेळी  व्होल्टेज बदलून व्हेरिएबल कपॅसिटर म्हणून डायोदचा उअपयोग करता येतो.


Saturday, September 12, 2015

अँड्रॉईड प्रोग्रॅमिंग – भाग ५

अँड्रॉईड प्रोजेक्टचे स्ट्रक्चर सोबतच्या चित्रात दाखविले आहे. त्यात आपल्याला खालील फोल्डर दिसतात.

src फोल्डर - यात अँड्रॉईड प्रोग्रॅमच्या मुख्य जावा फाईल्स असतात.

gen फोल्डर - या फोल्डरमधील r.java फाईल अँड्रॉईड प्रोजेक्ट कंपाईल करताना तयार होते. यात प्रोजेक्टमध्ये वापरलेल्या सर्व माहिती घटकांसाठी विशिष्ट संदर्भ क्रमांक दिलेले असतात व या संदर्भ क्रमांकांचा वापर करून प्रोजेक्ट एक्झिक्यूट होते.

assets फोल्डर - अँड्रॉईड प्रोजेक्टसाठी आवश्यक असणारी माहिती ठेवण्यासाठी हे फोल्डर वापरता येते. मात्र या फोल्डरमधील फाईल अँड्रॉईड प्रोजेक्टच्या अत्यावश्यक फोल्डरमध्ये समाविष्ट नसल्याने या माहितीघटकांसाठी r.java फाईलमध्ये संदर्भ क्रमांक तयार केले जात नाहीत व केवळ स्थानसंदर्भाव्रून माहितीचा वापर केला जातो. साहजिकच assets फोल्डरमध्ये आपल्याला कोणत्याही प्रकारे सबफोल्डर करून माहिती साठविता येते.

bin फोल्डर - अँड्रॉईड प्रोजेक्ट कंपाईल व एक्झिक्यूट झाल्यानंतर तयार होणारी .apk फाईल या फोल्डरमध्ये ठेवली जाते.

libs फोल्डर - अँड्रॉईडच्या 17th version पासून पुढे अँड्रॉईड प्रोजेक्ट स्ट्रक्चरमध्ये  libs फोल्डर समाविष्ट करण्यात आले आहे. या फोल्डरमध्ये ( कमांडलाईनवरून फ्रोजेक्ट करताना अँट बिल्ड सिस्टीमसाठी लागणार्‍या) JAR फाईल ठेवल्या जातात. कंपाईल करताना या .apk फ़ाईलमध्ये यांचा समावेश केला जातो. 
  
res फोल्डर - अँड्रॉईड प्रोजेक्टसाठी आवश्यक असणारी माहिती ठेवण्यासाठी या अधिकृत फोल्डरचा वापर करण्यात येतो. पूर्वी वर्णन केल्याप्रमाणे या फोल्डरमध्ये layout, menu, drawable आणि values ही आवश्यक फोल्डर असतातच शिवाय raw नावाचे कोणतीही इतर माहिती ( टेक्स्ट, ग्राफिक,ऑडिओ वा व्हीडीओ ) ठेवता येते. हे फोल्डर res  या अत्यावश्यक फोल्डर्मध्ये असल्याने यातील माहितीचे r.java फाईलमध्ये संदर्भ क्रमांक नोंदले जातात.

AndroidManifest.xml
वरील मुख्य फोल्डरशिवाय AndroidManifest.xml  नावाची फाईल प्रोजेक्टमध्ये अत्यंत महत्वाची असते. या फाईलमध्ये अँड्रॉईड प्रोजेक्टची सर्व माहिती ( activities, content providers, services & intent receivers ) तसेच किमान व कमाल व्हर्जन, इंटरनेट परमिशन व प्रोजेक्टशी संबंधित इतर उपकरणांविषयी माहिती सविस्तरपणे द्यावी लागते. थोडक्यात सांगायचे तर AndroidManifest.xml ही फाईल म्हणजे अँड्रॉईड प्रोजेक्टमधील सर्व घटकांची जंत्री असते.
  

Friday, September 11, 2015

इलेक्ट्रॉनिक्स परिचय भाग – २

व्होल्टेज आणि करंट
नळातील  पाणी ज्याप्रमाणे जास्त दाबाकडून कमी दाबाकडे वाहते त्याचप्रमाणे विद्युतप्रवाहही जास्त विद्युत दाबाकडून कमी विद्युतदाबाकडे किंवा जास्त व्होल्टेज पासून कमी व्होल्टेजच्या दिशेने वाहतो. पाण्याच्या प्रवाहाचे मोजमाप ज्याप्रमाणे दाब आणि प्रवाहगती या दोन परिमाणांनी मोजतात. त्याप्रमाणे विजेचा प्रवाह मोजण्यासाठी विद्युत दाब (Voltage) आणि विद्युतप्रवाह (Current) अशी दोन  परिमाणे वापरली जातात. इलेक्ट्रिक सर्कीटमध्ये रेझिस्टर  (विद्युतरोधक) असला की व्होल्टेजमध्ये घट तर करंटमध्ये वाढ होते.

रेझिस्टन्स - 
रेझिस्टन्स म्हणजे  विद्युतप्रवाहाला असणारा विरोध. याचा व्होल्टेज व करंटशी असणारा संबंध खालील सूत्राने मांडता येतो. V = I x R

एसी (AC) आणि डीसी (DC)
बॅटरी सेलचा वापर इलेक्ट्रिक सर्कीटमध्ये केला तर विजेचा प्रवाह अनोड टोकाकडून कॅथोड टोकाकडे एकाच दिशेने वाहतो. याला एकदिश किंवा डायरेक्ट करंट (DC) असे म्हणतात. आपण घरात जी वीज वापरतो. ती या प्रकारची नसते. त्यातील विद्युतप्रवाहाची दिशा सतत उलट सुलट अशी बदलत असते याला अल्टरनेटिंग करंट (AC) असे म्हणतात.या विजेचा दाब किंवा व्होल्टेजही खूप जास्त म्हणजे 230-250 V असते. त्यामुळे अशा विजेच्या उघड्या तारेला स्पर्श झाल्यास जीवघेणा विद्युतशॉक बसण्याची शक्यता असते. साहजिकच विजेच्या उपकरणांचा वापर करताना फार काळजी घ्यावी लागते.

 विजेचा दाब आणि प्रवाह यांचा संबंध व्यस्त प्रमाणात असतो.  विद्युत दाब ( Voltage - V) आणि विद्युतप्रवाह (Current I) यांचा गुणाकार केला की एकूण विद्युत शक्ती किंवा इलेक्ट्रीक पॉवर ( E) मिळते. ती वॅटमध्ये मोजली जाते. १००० वॅट किंवा १ किलोवॅट वीज एक तास वापरली की त्याला  एक युनिट वीज वापरली असे म्हटले जाते.

Electric Energy E = V x I

 अल्टरनेटिंग करंट  जनरेटरमध्ये स्टेटर ( बाहेरचा स्थिर भाग)  व रोटर ( मध्यभागी असणारा व यांत्रिक शक्तीने फिरणारा भाग) असे दोन भाग असतात. विद्युत निर्मिती करताना स्टेटरमधील वायरिंगच्या साहाय्याने मॅग्नेटिक फील्ड तयार करण्यात येते. रोटर फिरत असल्याने  मॅग्नेटिक फील्डच्या इन्डक्शनमुळे  रोटरवरील वरील तारेत इलेक्ट्रोमॅग्नेटिक फोर्स निर्माण होतो व त्यामुळे   वीज वाहू लागते. मात्र  रोटरवरील तारेची दिशा मॅग्नेटिक फिल्डसंदर्भात सतत बदलत असल्याने इन्डक्शनही बदलत राहते. तारेची स्थिती मॅग्नेटिक फिल्डलाईन्सशी काटकोनात असताना इलेक्ट्रोमॅग्नेटिक फोर्स (emf)  सर्वात जास्त असतो (E0) तर  समांतर असताना शून्य असतो. कोणत्याही स्थितीत  असणारे emf  आणि current खालील सूत्राने दाखविता येते.

 E=E0 Sin wt  and I=I0 Sin wt

ग्राफवर हा बदल साईन व्हेवच्या स्वरूपात दर्शविता येतो.

रोटरची एक पूर्ण फेरी होताना emf किंवा current मध्ये जेबदल होतात त्यांना cycle (सायकल) असे म्हणतात.
एक सायकल पुर्ण होण्यास लागणार्‍या कालावधीला period (पीरीयड) असे म्हणतात. एका सेकंदात किती सायकल पूर्ण होतात याला फ्रिक्वेन्सी असे म्हणतात.  Amplitude  म्हणजे महत्तम व लघुत्तम emf किंवा current  व्हॅल्युमधील अंतर.

ट्रॅन्स्फॉर्मर (Transformer)
घरात, ऑफिसमध्ये, कारखान्यात वा मोठ्या प्रकल्पांच्या उभारणीसाठी उच्च शक्तीची वीज  लागते. मात्र त्यासाठी लागणारे व्होल्टेज व करंट यांची आवश्यकता वेगळी असू शकते.  विजेच्या जास्त दाबाचे कमी दाबात किंवा कमी दाबाचे जास्त दाबात रुपांतर करण्यासाठी ट्रॅन्स्फॉर्मर ( Transformer)  नावाचे उपकरण वापरतात. अर्थात यावेळी एकूण विद्युतशक्तीत बदल होत नसल्याने विजेच्या करंटमध्ये उलट परिणाम होतो. त्यामुळे  ट्रॅन्स्फॉर्मरच्या साहाय्याने जास्त दाब व कमी प्रवाह असणार्‍या विजेचे रुपांतर कमी दाब व जास्त प्रवाहामध्ये (स्टेप डाऊन ट्रॅन्स्फॉर्मर) किंवा कमी दाब व जास्त प्रवाह असणार्‍या विजेचे रुपांतर  जास्त  दाब व कमी प्रवाहामध्ये (स्टेप अप ट्रॅन्स्फॉर्मर) करता येते.

इलेक्ट्रॉनिक सर्कीट (Electronic Circuit)
उच्च शक्तीच्या  वीजप्रवाहाचे  व्यवस्थित संचालन करण्यासाठी, त्यात आवश्यक ते बदल करण्यासाठी  किंवा त्याचे मोजमाप करण्यासाठी अत्यंत कमी विद्युतदाबावर चालणारी  इलेक्ट्रॉनिक सर्कीट  वापरली जातात.  इलेक्ट्रॉनिक सर्कीटद्वारे हे कसे साध्य केले जाते याची माहिती करून देणे हा इलेक्ट्रॉनिक छंदवर्गाचा उद्देश आहे.

इलेक्ट्रॉनिक सर्कीटमध्ये  ( बहुतेकवेळा बॅटरी सेलचा वापर करून ) कमी दाबाची विद्युत शक्ती वापरली त असल्याने इलेक्ट्रॉनिक सर्कीट बनविताना विद्युतशॉक बसण्याची कोणतीही भीती नसते.

Thursday, September 10, 2015

इलेक्ट्रॉनिक्स परिचय भाग – १

आज प्रत्येकाला इलेक्ट्रॉनिक सर्कीटवर कार्य करणारी अनेक साधने नित्य परिचयाची असतात. मोबाईल, टी.व्ही. कार, स्कूटर, एवढेच काय घरातील मिक्सर, इस्त्री, फोन, पंखे, फ्रीज, एअरकंडिशनर अशा विजेवर चालणार्‍या सर्व उपकरणांमध्ये इलेक्ट्रॉनिक सर्कीट असते. इलेक्ट्रॉनिक सर्कीटमध्ये असणारे रेझिस्टर, कपॅसिटर, डायोड, ट्रॅन्झिस्टर, इंटिग्रेटेड सर्कीट (आयसी) इत्यादी नावे परिचयाची असली तरी इलेक्ट्रॉनिक सर्कीट कसे तयार करतात व त्याचे कार्य कसे चालते याबाबतीत बहुतेक सर्वजण अनभिज्ञ असतात.

 या स्थितीला मीही आतापर्यंत अपवाद नव्हतो. मात्र ज्ञानदीपमार्फत इलेक्ट्रॉनिक छंदवर्ग सुरू करायचे ठरविले तेव्हा आपणास या गूढ वाटणार्‍या इलेक्ट्रॉनिक्स विषयाची माहिती होणे आवश्यक आहे हे लक्षात आले व आधी इलेक्ट्रिसिटी व नंतर इलेक्ट्रॉनिक्स या विषयाचे वाचन मी सुरू केले. या प्रयत्नातून मिळालेली माहिती मी मराठीत मांडण्याचा प्रयत्न करीत आहे. त्यात काही तांत्रिक चुका असण्याचा संभव आहे याची वाचकांनी जाणीव ठेवावी ही विनंती.

शालेय स्तरावरील अभ्यासात वापरलेले  मराठी शब्द व त्याचे मूळ इंग्रजी रूप या दोहोंची माहिती दिल्यास मराठीतून इंग्रजी माध्यमाकडे जाताना विद्यार्थ्यांना येणार्‍या अडचणी कमी होतील या दृष्टीकोनातून मी सुरुवातीस काही मराठी संज्ञांचाही वापर केला आहे.

शालेय शिक्षणात इलेक्ट्रिसिटी (वीज) व मॅग्नेटिझम (चुंबकत्व) याविषयी थोडीफार माहिती दिली जाते. लोखंडी खिळ्याभोवती तारेचे वेटोळे बसवून त्यातून विजेचा प्रवाह सोडला की लोहचुंबक तयार होतो. तसेच चुंबकीय क्षेत्रातून तारेचे वेटोळे फिरविले की त्या तारेतून विजेचा प्रवाह वाहू लागतो व याच तत्वावर आधारित यांत्रिक शक्तीचे विद्युत शक्तीत रुपांतर करणारे विद्युतजनित्र (जनरेटर) व विद्युत शक्तीचे यांत्रिक शक्तीत रुपांतर करणारी इलेक्ट्रिक मोटार तयार केली जाते याविषयी ढोबळ स्वरुपात माहिती सर्वांना असते. मात्र इलेक्ट्रीसिटी म्हणजे नक्की काय ? याचे स्पष्टीकरण देणे त्यांना अवघड जाते.

इलेक्ट्रीसिटी किंवा विद्युतप्रवाहाचा उगम 

प्रत्येक पदार्थ हा अणूंचा बनलेला असतो. अणूमध्ये धन किंवा + विद्यु्तभार असणारे प्रोटान (Proton), प्रोटानच्या एकूण संख्येएवढे ऋण किंवा – विद्युतभार असणारे इलेक्ट्रॉन (electron) आणि कोणताही विद्युतभार नसणारे मात्र प्रोटानएवढेच वस्तुमान असणारे न्यूट्रॉन ( neutron)असतात. प्रोटान व न्यूट्रॉन अणूच्या मध्यभागी एकत्र असून त्याला न्यूक्लियस (nucleus) असे म्हणतात. या न्यूक्लियस भोवती लंबवर्तुळाकार कक्षांमध्ये (orbit)  इलेक्ट्रॉन फिरत असतात.  यातील बाह्य कक्षेतील इलेक्ट्रॉन उष्णता वा अन्य कारणांमुळे आपली कक्षा सोडून दूर जाऊ शकतात.

इलेक्ट्रिसिटी किंवा विद्युतप्रवाह म्हणजे अशा मुक्त इलेक्ट्रॉनचा प्रवाह(movement of free electrons).   विद्युतघट किंवा इलेक्ट्रिक बॅटरीच्या धन व ऋण अग्रांना एखाद्या तारेने जोडले की ऋण अग्राकडून (cathode)  इलेक्ट्रॉनचा प्रवाह  धन अग्राकडे (anode) वाहू लागतो. मात्र विजेच्या प्रवाहाची दिशा धन अग्राकडून (anode) ऋण अग्राकडे (cathode) अशा उलट दिशेने दर्शविली जाते. इलेक्ट्रॉनचा प्रवाह प्रत्यक्षात एका अणूकडून शेजारच्या दुसर्‍या अणूपर्यंत अशा छोट्याछोट्या टप्प्यात होत असतो. इलेक्ट्रॉन आपल्या कक्षेतून बाहेर पडला की तेथे एक पोकळी (hole) तयार होते. ती पोकळी मागच्या अणूतील मुक्त इलेक्ट्रॉन भरून काढतो. म्हणजे विजेच्या प्रवाहाची अधिकृत दिशा पोकळ्यांच्या प्रवाहाने ( Flow of holes)  दर्शविली जाते.

धनभारापासून ऋण भारापर्यंत जाणार्‍या मार्गांला इलेक्ट्रिक सर्कीट विद्युतमंडल असे म्हणतात. अर्थात नुसत्या तारेने धन व ऋण टोके जोडल्यास तार ही विजेची सुवाहक असल्याने इलेक्ट्रॉनच्या प्रवाहास काहीच विरोध न होत नाही व  शॉर्ट्सर्कीट होऊन बॅटरीतील सर्व विद्युत शक्ती संपुष्टात येते. यासाठी इलेक्ट्रिक सर्कीटमध्ये विद्युतरोधक(Resistor) जोडावा लागतो. वेगळ्या रेझिस्टरऎवजी विजेचा प्रवाह चालू आहे की नाही हे कळण्यासाठी एक बल्ब ( यातील तार रेझिस्टरम्हणून कार्य करते.)  व चालू बंद करण्यासाठी एक स्विच जोडला की साधे इलेक्ट्रिक सर्कीट तयार होते.

अँड्रॉईड प्रोग्रॅमिंग – भाग ४



आपण उदाहरणादाखल quiz  या नावाने एक प्रोजेक्ट केला होता. वर्कस्पेसमध्ये दिसणारी या प्रोजेक्टमधील फोल्डर व इतर प्रोग्रॅमची रचना समजून घेणे आवश्यक आहे.


या रचनेतील  src ( source files)  या फोल्डरमध्ये आपण केलेली मुख्य जावा फाईल MainActivity.java दिसेल. 

त्याबरोबरच res->layout  या फोल्डरमध्ये
 Activity.main.xml  या नावाची फाईल तयार झालेली आपल्याला पहायला मिळेल.

अँड्रॉईड प्रोजेक्टची तुलना वेबसाईटशी केल्यास आपल्याला  अँड्रॉईड प्रोजेक्टची रचना अधिक सुलभतेने समजू शकेल. वेबसाईट डिझाईन करताना आधुनिक पद्धतीत वेबपेजचे html  कॊड, मजकूर व चित्रे यांची मांडणी करण्यासाठी लागणारे स्टाईलशीट (css files) तसेच प्रत्यक्ष माहिती, चित्रे व इतर आकृत्या वेगळ्या फोल्डरमध्ये ठेवलेली असतात. त्यासारखीच रचना अँड्रॉईड प्रोजेक्टची असते. src  फोल्डरमध्ये मुख्य जावा प्रोग्रॅम असला तरी मोबाईलवर माहिती कशी मांडावयाची हे layout या फोल्डरमध्ये  xml  फाइलच्या स्वरुपात ठेवले जाते. सुदैवाने अशी xml  फाईल तयार करण्यासाठी ग्राफिक सुविधा असल्याने काम सोपे होते. 



मोबाईलच्या स्क्रीनवर Menu आणि main content असे दोन भाग असतात. यातील Layout फोल्डरमध्ये main content xml files तर Menu या फोल्डरमध्ये  menu xml files असतात. याशिवाय res ( resources)  या फोल्डरमध्ये drawable आणि values   या दोन प्रकारची फोल्डर असतात. यातील drawable फोल्डर प्रकारात  वेगवेगळ्या डिव्हाईससाठी उपयुक्त ठरणारी चित्रे व आकृत्या ठेवण्यासाठी hdpi, ldpi, mdpi, xhdpi xxhdpi असे फोल्डर वापरले जातात. तर values या फोल्डरमध्ये dimen (मार्जिनबद्दल माहिती) , style, strings (text values) हे प्रोग्रॅम असतात.
 

Wednesday, September 9, 2015

अँड्रॉईड प्रोग्रॅमिंग – भाग ३

नवे अँड्रॉईड प्रोजेक्ट तयार करणे 
एक्लिप्समधील वरच्या मेनूतील File  मेनू निवडून File -> New ->Android->New Application Project-> हे पर्याय निवडावेत व आपल्या नियोजित प्रोजे्क्टचे  नाव लिहावे

 प्रोजेक्टचे नाव (किंवा पॅकेज) लिहिण्याची पद्धत जरा वेगळी आहे. समजा example.com या वेबसाईटवर quiz  या नावाचे एक सबडोमेन केले तर या सबडोमेनमध्ये जाण्यासाठी quiz.example.com  असे नाव वापरतो. परंतु स्थान सांगायचे झाल्यास com  प्रकारच्या वेबसाईटमधील example  नावाच्या वेबसाईटमध्ये   quiz हे सबडोमेन आहे हे दर्शविण्यासाठी com.example.quiz असे नाव वापरावे लागते. अँड्रॉईड प्रोजेक्टचे नावही com.example.quiz या पद्धतीने लिहिले जाते. या प्रोजेक्टमधील प्रत्येक प्रोग्रॅमच्या आरंभी
package com.example.quiz असा त्याचा उल्लेख करावा लागतो.

नवे प्रोजेक्ट करताना आधुनिक मोबाईल वापरणार्‍यांबरोबरच जुन्या मोबाईल धारकांनादेखील आपली सुविधा वापरता यावी यासाठी सोय करणे इष्ट असते. यासाठी  अँड्रॉईड 2.2 व्हर्जन किमान पात्रता ठेवली जाते. तसेच कोणत्या व्हर्जनपर्यंत ही सुविधा व्यवस्थित चालू शकेल व प्रोजेक्ट तयार करण्यासाठी कोणते व्हर्जन वापरले याचीही नोंद करावी लागते.

प्रोजेक्टचे नाव निश्चित झाल्यावर प्रोजेक्ट्साठी लोगो म्हणून कोणते चित्र वापरायचे हे ठरवावे लागते. मोबाईल, टॅब वा टीव्ही या सर्व साधनांचे आकार वेगवेगळे असतात त्यामुळे स्क्रीनचा आकार बदलला तरी चित्र व्यवस्थित दिसावे यासाठी चित्र वेगवेगळ्या आकारात तयार करून ठेवावे लागते.गुगलमार्फत अँड्रॉईडचा लोगो वेगवेगळ्या आकारात दर्शविलेला असतो. त्याठिकाणी आपल्याला हवे असणारे चित्र वापरता येते.


प्रोजेक्टसाठी सुरुवातीचा मुख्य जावा प्रोग्रॅम म्हणजे MainActivity.java. गुगलने एक मोकळी जावा फाईल blank activity या नावाने करून ठेवलेली असते. तसेच मेनू ची फाईलही तयार असते.



वरील फाईल तयार झाल्या की वर्कस्पेसमध्ये आपले प्रोजेक्ट दिसू लागते. प्रस्तुत उदाहरणामध्ये quiz  या नावाचे प्रोजेक्ट वर्कस्पेसमध्ये तयार होईल. प्रोजेक्टच्या नावावर क्लिक केले की त्यात अँड्रॉईड प्रोजेक्टसाठी लागणारे सर्व प्रोग्रॅम व फोल्डर दिसू लागतात.