TINAH प्रकल्प वापरून विज्ञान केंद्रात अनेक प्रकल्प केले जातात. या हार्डवेअर मधे ए.व्ही.आर्. atmega 328 हा मुख्य सी.पी.यू. वापरला आहे. टिना या बोर्डवर दोन ए.व्ही.आर्. बसवलेले दिसतीलः
- atmega 8: (फोटोत डावीकडे यू.एस्.बी. पोर्टच्या वर दाखवलेली चिप) ही चिप वापरून usbasp हा चिप प्रोग्रामर टिना बोर्डवर तयार केला आहे.
- atmega 328: (काळ्या हीट सिंक जवळील आडवी चिप) ही चिप मुख्य सी.पी.यू. म्हणून वापरली आहे. प्रकल्पाचे सॉफ्टवेअर या चिप मधे usbasp प्रोग्रामर वापरून टाकले जाते.
हा लेख usbasp प्रोग्रामर कसा वापरायचा आणि मुख्य सी.पी.यू. (atmega 328) टिनावर बसवताना कोणती काळजी घ्यायची या संदर्भात आहेि
USBASP प्रोग्रामर
हा प्रोग्रामर मुक्त हार्डवेअर व मुक्त प्रणाली यांनी बनला आहे. atmega 8 या चिपमधे विशिष्ट प्रणाली (usbasp.2011-05-28.tar.gz) भरली की ही चिप ए.व्ही.आर्.चा प्रोग्रामर म्हणून काम करू लागते. ही चिप भरण्यासठी मात्र एखादा ए.व्ही.आर्. प्रोग्रामर तुमच्याकडे असावा लागतो. (तुम्हाला असा प्रोग्रामर विज्ञान केंद्र सदस्याकडून विकत मिळू शकतो. संपर्क साधा.)
हा प्रोग्रामर वापरून कोणतीही (८ बिट) ए.व्ही.आर्. चिप प्रोग्राम करता येते. त्यासाठी तुमच्या संगणकावर avrdude ही मुक्त प्रणाली स्थापित केलेली असायला हवी. विंडोझ साठी avrdude-6.0.1-mingw32.zip आणि लिनक्स साठी avrdude-6.0.1.tar.gz ही प्रणाली डाउनलोड करून वापरता येते.
AVRDUDE ही प्रणाली आज्ञापटलावरून (कमांड लाइन टर्मिनल वरून) वापरण्याची आहे. विंडोझ साठी gui युक्त प्रणाली वापरून माउसचा वापर करता येतो.
तुम्ही जर आज्ञापटलावर काम करत असाल तर पुढील प्रमाणे आज्ञा द्यावी लागते.
avrdude -c usbasp -p m328 -b 19200 -P /dev/ttyUSB0 -U flash:w:filename.hex
यातील विविध पर्याय पुढील प्रमाणे विषद करता येतीलः
- avrdude ही मूळ आज्ञा आहे. ती avrdude ही मुक्त प्रणाली वापरायला तुमच्या संगणकाला सांगते आहे.
- -c usbasp ही प्रोग्रामर प्रणाली (avrdude) विविध हार्डवेअरसाठी वापरता येते. येथे आपण usbasp या हार्डवेअरसाठी ती वापरायला सांगतो आहोत.
- -p m328 ही प्रणाली विविध AVR चिप्ससाठी वापरता येते. या ठिकाणी आपण ती प्रणाली atmega 328 या चिपसाठी वापरायला संगणकाला सांगत आहोत.
- -b 19200 एका सेकंदात 19200 बिट्स संगणकाकडून चिपकडे पाठवले जातील अशा वेगाने चिप प्रोग्राम होईल.
- -P /dev/ttyUSB0 तुमचे usbasp हार्डवेअर संगणकाच्या कोणत्या पोर्टला जोडले आहे ते संगणकाला सांगितले आहे. विंडोझच्या बाबतीत -P com3 किंवा com4 इत्यादी पोर्टस् सांगावी लागतील.
- -U flash:w:filename.hex कोणती हेक्स फाइल चिपमधे फ्लॅश मेमरीत [flash] लिहायची [w] आहे, ते संगणकाला सांगितले आहे.
ही आज्ञा दिल्यावर आज्ञापटलावर ती चिप प्रोग्राम होतानाची प्रगती दाखवली जाते किंवा काही चूक आज्ञेत असल्यास तसा संदेश दिला जातो.
नवी चिप प्रोग्राम करण्याआधी
बाजारातून नवी चिप आणून ती टिना बोर्डवर बसवली तर त्यात टाकलेला आर्डुइनो प्रोग्राम अतिशय मंदगतीने चालताना आढळेल. नवी चिप मुळात केवळ १ मेगा हर्टझ् इतक्याच वेगाने चालावी अशी व्यवस्था केलेली असते. आर्डुइनो प्रोग्राम मात्र १६ मेगा हर्टझ् साठी लिहिले जातात. म्हणून AVRDUDE चा वापर करून चिपमधील काही “फ्यूजेस” बदलावे लागतात. त्यासाठी पुढील आज्ञा द्यावी लागतेः हे फ्यूजेस बदलल्याशिवाय तुमचा ए.व्ही.आर्. प्रोग्राम होणार नाही हे लक्षात ठेवण्यासारखे आहे. मात्र हे फ्यूजेस सुरुवातीला एकदाच बदलावे लागतात. पुढील आज्ञा देण्याआधी तुमच्या usbasp प्रोग्रामरवरील स्पीड कमी करणारी लिंक तात्पुरती वापरावी लागेल. ही लिंक टाकण्यासाठी प्रोग्रामरच्या टोकाला एक कनेक्टर उपलब्ध करून दिला आहे. (चित्रात लिंक लाल रंगात दाखवली आहे. शेजारी speed असे लिहिले आहे.)
avrdude -c usbasp -p m328 -P /dev/ttyUSB0 -b 19200 -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m
या लेखात अनेक गोष्टी अशा आहेत की ज्या करून पहायच्या आहेत. त्या करताना काही अडचणी आल्या तर वाचक त्याबद्दल शंका विचारू शकतात. त्यासाठी खाली जागा ठेवली आहे. तुमच्या प्रश्नांना-शंकांना लौकरात लौकर उत्तरे दिली जातील.