निर्माण: एक-एक मॉड्यूल जोड़कर बनाओ
निर्माण का मतलब है डिज़ाइन को चलते हुए उपकरण में बदलना।
- पुर्ज़ों की सूची के पुर्ज़े इकट्ठे करो और हर एक जाँचो।
- पहले ब्रेडबोर्ड पर बनाओ (सोल्डरिंग नहीं), फिर पक्के बोर्ड पर।
- एक बार में एक मॉड्यूल जोड़ो: पावर → इनपुट → आउटपुट। हर बार छोटा परीक्षण-प्रोग्राम चलाओ।
- तारों के रंग तय करो (लाल = पावर, काला = ग्राउंड) और लेबल लगाओ।
- कोड छोटे फ़ंक्शनों में रखो और टिप्पणियाँ लिखो।
- कोड के संस्करण सहेजो ताकि कुछ बिगड़े तो पीछे लौट सको।
सुरक्षा: चालू करने से पहले तार जाँचो, पानी बोर्ड से दूर रखो और सही वोल्टेज का स्रोत लगाओ।
परीक्षण: टेस्ट केस, बग और सुधार
टेस्ट केस एक योजना बनाकर की गई जाँच है: आप क्या करेंगे और क्या होने की उम्मीद है।
| टेस्ट | क्रिया | अपेक्षित परिणाम |
|---|---|---|
| 1 | बटन दबाओ | LED जले |
| 2 | रोशनी सेंसर ढको | लैंप जले |
| 3 | बटन 10 बार तेज़ी से दबाओ | कोई ग़लत संकेत नहीं |
जब असली परिणाम अपेक्षित से अलग हो तो बग मिला। बग ढूँढने (डीबग) के चरण:
- गड़बड़ी दोहराओ और लिखो कि कब होती है।
Serial.printlnसे मान छापो ताकि दिखे बोर्ड क्या देख रहा है।- पहले तार और बिजली जाँचो, फिर कोड।
- एक बार में एक चीज़ बदलो, फिर टेस्ट चलाओ।
असली हालात (अँधेरा, गरमी, शोर, कमज़ोर बैटरी) और असली उपयोगकर्ता के साथ भी परखो। योजना के सारे टेस्ट पास हों तभी प्रोजेक्ट पूरा है।
अपना प्रोजेक्ट साझा करना
साझा करने से दूसरे सीखते हैं, और वे ऐसे बग भी पकड़ते हैं जो आपसे छूट गए। अच्छे प्रोजेक्ट-पैकेज में होते हैं:
- टिप्पणियों वाला कोड
- सर्किट चित्र और फ़ोटो
- मात्रा के साथ पुर्ज़ों की सूची
- README: यह क्या करता है, कैसे बनाएँ, कैसे चलाएँ, ज्ञात समस्याएँ
- लाइसेंस फ़ाइल
इन्हें ऑनलाइन भंडार (repository) में रखो, जैसे GitHub या GitLab, जो बदलावों का पूरा इतिहास भी रखता है। पासवर्ड, वाई-फ़ाई कुंजी या निजी फ़ोटो कभी कोड में साझा मत करो।
बौद्धिक संपदा (IP) और लाइसेंस
बौद्धिक संपदा रचनाकार का अपनी बनाई चीज़ पर अधिकार है: कोड, डिज़ाइन, लेख और चित्र। अगर आप कोई लाइसेंस नहीं लगाते, तो डिफ़ॉल्ट रूप से कोई और आपका काम नक़ल या बदल नहीं सकता।
- उदार लाइसेंस (MIT जैसा): कोई भी इस्तेमाल, बदल और बेच सकता है, पर आपका नाम और लाइसेंस रखना होगा।
- शेयर-अलाइक लाइसेंस (GPL जैसा, CERN-OHL-S, क्रिएटिव कॉमन्स ShareAlike): कोई भी बदल सकता है, पर बदला हुआ संस्करण उन्हीं नियमों से खुला रहना चाहिए।
- सारे अधिकार सुरक्षित: अनुमति के बिना नक़ल या बदलाव नहीं।
ओपन-सोर्स का मतलब “कोई नियम नहीं” नहीं है। मूल रचनाकारों को हमेशा श्रेय दो। पेटेंट किसी आविष्कार को सीमित समय तक बचाता है, कॉपीराइट अभिव्यक्ति (कोड, चित्र, लेख) को बचाता है और ट्रेडमार्क नाम या लोगो को। दूसरों का कोड या चित्र उनका लाइसेंस देखे बिना मत लो।
खुद आज़माओ: तोड़ो, ठीक करो, साझा करो
3D में चरण 3 पर जाओ। टेस्ट चलाओ दो बार दबाओ। टेस्ट 2 फ़ेल होता है। अंदाज़ा लगाओ: गड़बड़ी ठीक करो और फिर टेस्ट चलाओ दबाने पर टेस्ट 3 क्या दिखाएगा? आख़िरी चरण में हर लाइसेंस पर क्लिक करो और पढ़ो कि दूसरे क्या कर सकते हैं।
घर पर: किसी छोटे उपकरण, जैसे टॉर्च, के लिए तीन टेस्ट केस लिखो: आप क्या करोगे और क्या होने की उम्मीद है।
मुख्य सूत्र और परिभाषाएँ
- टेस्ट केस = क्रिया + अपेक्षित परिणाम (असली परिणाम से मिलाओ)
- सफलता दर (%) = पास हुए टेस्ट ÷ चलाए टेस्ट × 100
- मुख्य शब्द: ब्रेडबोर्ड, मॉड्यूल, टेस्ट केस, बग, डीबग, भंडार, लाइसेंस, IP
हल किए गए उदाहरण
1. एक दल ने 12 टेस्ट केस चलाए। 9 पास हुए और 3 फ़ेल। सफलता दर क्या है?
सफलता दर = 9 ÷ 12 × 100 = 75%। 3 फ़ेल टेस्ट बताते हैं कि ठीक करने के लिए बग हैं।
2. टंकी भरी होने पर भी बज़र रात भर बजता है। डीबग के तीन चरण लिखो।
1) Serial.println से सेंसर का पाठ्यांक छापो। 2) सेंसर के तार और ग्राउंड जाँचो। 3) कोड का नियम जाँचो, जैसे सीमा बहुत कम तो नहीं। एक बार में एक चीज़ बदलो।
3. आप दोस्त का कोड इस्तेमाल करते हो जिसमें MIT जैसा लाइसेंस है। आपको क्या करना होगा?
आप इस्तेमाल और बदलाव कर सकते हो, पर मूल रचनाकार का नाम और लाइसेंस का पाठ रखना होगा।
4. एक स्कूल चाहता है कि दूसरे उसका डिज़ाइन सुधारें, पर हर सुधरा संस्करण भी खुला साझा हो। कौन-सा लाइसेंस?
शेयर-अलाइक लाइसेंस (GPL जैसा, CERN-OHL-S या क्रिएटिव कॉमन्स ShareAlike)।
5. रात के लैंप के दो टेस्ट केस लिखो।
टेस्ट 1: सेंसर ढको, लैंप ON होना चाहिए। टेस्ट 2: सेंसर पर टॉर्च चमकाओ, लैंप OFF होना चाहिए।
आम गलतियाँ
- सब कुछ एक साथ बनाकर आख़िर में परखना। पता लगाना कठिन होता है कि कौन-सा भाग ग़लत है।
- बग ठीक करते समय एक साथ कई चीज़ें बदलना।
- बिना लाइसेंस या README के प्रोजेक्ट साझा करना, जिससे कोई नहीं जानता कि इस्तेमाल कर सकता है या कैसे।
- लाइसेंस देखे या श्रेय दिए बिना किसी का कोड या डिज़ाइन नक़ल करना।