অরডুইনো দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করা

প্রথমেই বলে নেই অরডুইনো হোলো বহুল জনপ্রিয় ওপেন সোর্স হার্ডওয়্যার প্লাটফরম। এটা দিয়ে আপনি অনেক দ্রুত আপনার যেকোনো প্রোজেক্ট শুরু করতে পারেন, সেটা হতে পারে একটা এলইডি(LED) জ্বালানো থেকে শুরু করে আপনার ঘরের যাবতীয় কাজ অটোমেশন করে ফেলা। তাহলে বলতে পারেন এই লেখাটির উদ্দেশ্য কি? অরডুইনো শেখানো, যদি তাই হয় তবে শিরোনামের সাথে যাচ্ছেনাতো।

উত্তরঃ আমি আপনাদের অরডুইনো শেখাবো না। আমি দেখাবো কিভাবে অরডুইনো দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করা যায়। এখন আপনার প্রশ্নটি হতে পারে সেটা করার জন্য তো অন্যান্ন সফটওয়্যার এবং হার্ডওয়্যার রয়েছে! আপনি ঠিকই ধরেছেন, কিন্তু ওইসব প্রোগ্রামার গুলো খুবই ব্যয় সাপেক্ষ। আর আপনার কম্পিউটারে যদি সিরিয়াল পোর্ট না থাকে তবে পড়ে যাবেন মহা ঝামেলায়।  তো সেই হিসেবে অরডুইনো দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করা তুলনামুলক সস্তা। কারন আপনি একবার একটা অরডুইনো কিনলে সেটা আরোও অন্যান্ন অনেক কাজে ব্যবহার করতে পারবেন। তাহলে চলুন শিখে ফেলি কাজটি কিভাবে করা যায়। কখন কোনটা কাজে লেগে যায় তা কি বলা যায়।

আমাদের কাজের সুবিধার্তে আমাদের কাজটাকে কয়েকটা ভাগে ভাগ করে নেব। সুতরাং প্রক্রিয়াগুলো হবেঃ

        ১. উপকরনগুলি যোগার করা।

        ২. অরডুইনো বোর্ডে  ArduinoISP  প্রোগ্রামকে আপলোড করা।

        ৩. আমরা যে মাইক্রোকন্ট্রোলারটিকে প্রোগ্রাম করার সিদ্ধান্ত নিয়েছি সেটিকে অরডুইনো বোর্ডের সাথে সংযুক্ত করা।

        ৪. মাইক্রোকন্ট্রোলারটিকে প্রোগ্রাম করার জন্য যাবতীয় সফটওয়্যার ইন্সটল করা।

        ৫. মাইক্রোকন্ট্রোলারটিকে প্রোগ্রাম করার জন্য এর Makefile  এর কনফিগারেশন পরিবর্তন করা।

        ৬. আমাদের প্রোগ্রামটিকে লিখে ফেলা।

        ৭. সবশেষে প্রোগ্রামটিকে মাইক্রোকন্ট্রোলারে আপলোড করা এবং ফলাফল বিশ্লেষণ করা।

১. উপকরনের তালিকা

  • একটি অরডুইনো উনো (Arduino UNO) বোর্ড(কেবল সহ)
  • ৬/৭টি কানেক্টিং কেবল
  • একটি এলইডি(LED)
  •  ব্রেডবোর্ড
  • যে মাইক্রোকন্ট্রোলারটি আপনি প্রোগ্রাম করবেন

২.অরডুইনো বোর্ডে  ArduinoISP  প্রোগ্রামকে আপলোড করা

সবগুলি উপকরন যোগার করার পর আমাদের প্রথম কাজ হবে ArduinoISP প্রোগ্রামটাকে অরডুইনো বোর্ডে আপলোড করা। এজন্য আমাদের Arduino IDE  সফটওয়্যার আমাদের কম্পিউটারে ইন্সটল করা থাকতে হবে। না থাকলে এই লিঙ্ক https://www.arduino.cc/en/Main/Software  এ যেয়ে ডাউনলোড করে ইন্সটল করে নিন। এবার Arduino IDE  ওপেন করেন। এবার ধাপে ধাপে চিত্রের মত করে অনুসরন করুন।

File  মেনু থেকে Examples  মেনুতে যান, এখন দেখেন সাব মেনু লিস্টগুলোতে ArduinoISP  টা দেখাচ্ছে। ওইটাতে ক্লিক করে ওপেন করেন। নিচের চিত্র খেয়াল করুন।

 show-where-arduinoisp-is-located.png
অরডুইনো আইএসপি

এবার Tools মেনুতে যানBoard  মেনু থেকে Arduino/ Genuino Uno  বোর্ড সিলেক্ট করুন। নিচের চিত্র খেয়াল করুন।

select arduino board
অরডুইনো বোর্ড

এবার Board  এর নিচে Port মেনু থেকে যে পোর্টে কমিউনিকেট করতে চান সেটা সিলেক্ট করুন। নিচের চিত্র খেয়াল করুন।

 select-communication-port.png
অরডুইনো কমিউনিকেশন পোর্ট

এবার Tools  এর Programmer  মেনু থেকে ArduinoISP  সিলেক্ট করুন।  নিচের চিত্র খেয়াল করুন।

select-programmer-as-arduinoisp.png
অরডুইনোর প্রোগ্রামার হিসেবে ArduinoISP

এবার Sketch  মেনু থেকে Upload  এ ক্লিক করুন। অথবা চিত্রে দেখানো আপলোড বাটনে ক্লিক করুন। 

click-on-upload-button.png
আপলোড বাটন

 কিছুক্ষন পরে আপনি আপলোড হয়েছে এই মর্মে একটি সাকসেস মেসেজ পাবেন। নিচের চিত্রের মত।

done-uploading.png
প্রোগ্রাম সফলভাবে আপলোড হয়েছে

৩. মাইক্রোকন্ট্রোলারের সাথে অরডুইনোর সংযোগ

আমি এই টিউটিরিয়ালে যে মাইক্রোকন্ট্রোলার ব্যবহার করবো সেটা এটমেল এর Atmega8A সবচেয়ে ভালো হয় যদি আপনি Atmega8  সিরিজের কোনো মাইক্রোকন্ট্রোলার সংগ্রহ করতে পারেন। না করতে পারলেও কোনো আসুবিধা নেই। এই পদ্ধতিতে আপনি Atmega16, Atmega32, Atmega328  ইত্যাদি মাইক্রোকন্ট্রোলার প্রোগ্রাম করতে পারবেন। নিচের ছবিতে Atmega8A  পিন ডায়াগ্রামটা দেখুন।

ATmega8-PU-pinout.png
পিন ডায়াগ্রাম

এই মাইক্রোকন্ট্রোলারটির ১, ১৭, ১৮, ১৯ পিনগুলির দিকে লক্ষ্য করুন। ১ নম্বর পিন হচ্ছে রিসেট পিন। ১৭ নম্বর পিন হচ্ছে MOSI। ১৮ নম্বর পিন হচ্ছে MISO এবং ১৯ নম্বর পিন হচ্ছে SCK। মাইক্রোকন্ট্রোলারটিকে  প্রোগ্রাম করার সময় আমাদের এই পিনগুলো ব্যবহার করতে হবে। এখন কথা হচ্ছে আপনি এটমেল সব মাইক্রোকন্ট্রোলারে এই পিনগুলি পাবেন, শুধু পিন নম্বর ভিন্ন হতে পারে। তাতে কোনো অসুবিধা নেই। শুধু পিন কনফিগারেশন এর নিয়ম ঠিক থাকলেই হোলো।

এখন অরডুইনো এর ১০ নম্বর পিনের সাথে আপনার মাইক্রোকন্ট্রোলারটির রিসেট পিনের সাথে তার দিয়ে কানেক্ট করুন। এবার অরডুইনো এর ১১ নম্বর পিন মাইক্রোকন্ট্রোলার এর MOSI পিনের সাথে কানেক্ট করুন। এটা আমার ক্ষেত্রে ১৭ নম্বর পিন। আপনি যদি একই মাইক্রোকন্ট্রোলার ব্যবহার করে থাকেন তবে আপনার পিন নম্বরও ১৭ হবে। অন্যথায় মিলিয়ে দেখুন। এরপর অরডুইনো এর ১২ পিনের সাথে MISO পিন কানেক্ট করুন। এরপর অরডুইনো এর ১৩ নম্বর পিনের সাথে মাইক্রোকন্ট্রোলার এর SCK পিনটি কানেক্ট করুন। এখন মাইক্রোকন্ট্রোলারে পাওয়ার এবং গ্রাউন্ড কানেকশন দিতে হবে। এটা আপনি অরডুইনো এর ৫ ভোল্ট পিনের সাথে মাইক্রোকন্ট্রোলারটির VCC পিন এবং যেকোনো একটি গ্রাউন্ড পিনের সাথে মাইক্রোকন্ট্রোলার এর GND পিনের সাথে কানেক্ট করিয়ে দিন। আপাতত আপনার অরডুইনোর সাথে মাইক্রোকন্ট্রোলারটির সংযোগ পরিপূর্ণ হলো।

তবে এখনো একটি কাজ বাকি আছে সেটা হচ্ছে এলইডি(LED)  পিনকে কানেক্ট করানো। এইখানে একটা ব্যাপার পরিষ্কার করে নেই। আমি আমার ব্যবহৃত মাইক্রোকন্ট্রোলারটির D পোর্টের সকল পিনকে আউটপুট পিন হিসেবে নির্ধারন করে দিয়েছি। তাই আমি এলইডি(LED) এর পজেটিভ প্রান্তকে D পোর্টের ৬ নম্বর বা মাইক্রোকন্ট্রোলারের ১২ নম্বর পিনের সাথে কানেক্ট করেছি। আপনি এটা আপনার মতো করে কানেক্ট করে নিবেন।  আর এলইডি(LED) এর গ্রাউন্ড পিনের সাথে অরডুইনো বা মাইক্রোকন্ট্রোলারের GND পিনের সাথে কানেক্ট করলেই হলো। অনেকটা নিচের ছবির মতো।

 

connecting-arduino-with-microcontroller.png
অরডুইনোর সাথে মাইক্রোকন্ট্রোলারের সংযোগ

৪. প্রয়োজনীয় সফটওয়্যার ইন্সটলেশন

প্রথমেই আমাদের যেই সফটওয়্যারটা লাগবে সেটা হচ্ছে WinAVR। আপনি এই সফটওয়্যারটা পাবেন এই লিঙ্ক এ গেলে https://sourceforge.net/projects/winavr/files/। কোনো কনফিগারেশন পরিবর্তন না করেই ইন্সটল করুন।

৫. Makefile তৈরি করা

এবার ডেস্কটপ এ একটি ফোল্ডার তৈরি করুন এবং যেকোনো একটি নাম দিন। যেমন আমি দিয়েছি avr। এখন এই ফোল্ডারের ভিতরে একটি ফাইল তৈরি করুন আর নাম দিন Makefile। মনে রাখবেন এই ফাইলের কোনো এক্সটেনশন হবেনা, শুধু Makefile হবে। এবার আপনার পছন্দের যেকোনো ফাইল এডিটরে যেয়ে ফাইলটি ওপেন করুন। আর তাতে নিচের কোডটুকু কপি করে পেস্ট করুন।

# DEVICE         The AVR device you compile for
# CLOCK          Target AVR clock rate in Hertz
# OBJECTS        The object files created from your source files. This list is
#                usually the same as the list of source files with suffix ".o".
# PROGRAMMER     Options to avrdude which define the hardware you use for
#                uploading to the AVR and the interface where this hardware
#                is connected.
# FUSES          Parameters for avrdude to flash the fuses appropriately.

DEVICE     = atmega8
CLOCK      = 8000000
PROGRAMMER = -c arduino -P COM3 -b 19200 
OBJECTS    = main.o
FUSES      = -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m

######################################################################
######################################################################

# Tune the lines below only if you know what you are doing:

AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE)

# symbolic targets:
all:	main.hex

.c.o:
	$(COMPILE) -c $< -o $@

.S.o:
	$(COMPILE) -x assembler-with-cpp -c $< -o $@
# "-x assembler-with-cpp" should not be necessary since this is the default
# file type for the .S (with capital S) extension. However, upper case
# characters are not always preserved on Windows. To ensure WinAVR
# compatibility define the file type manually.

.c.s:
	$(COMPILE) -S $< -o $@

flash:	all
	$(AVRDUDE) -U flash:w:main.hex:i

fuse:
	$(AVRDUDE) $(FUSES)

install: flash fuse

# if you use a bootloader, change the command below appropriately:
load: all
	bootloadHID main.hex

clean:
	rm -f main.hex main.elf $(OBJECTS)

# file targets:
main.elf: $(OBJECTS)
	$(COMPILE) -o main.elf $(OBJECTS)

main.hex: main.elf
	rm -f main.hex
	avr-objcopy -j .text -j .data -O ihex main.elf main.hex
# If you have an EEPROM section, you must also create a hex file for the
# EEPROM and add it to the "flash" target.

# Targets for code debugging and analysis:
disasm:	main.elf
	avr-objdump -d main.elf

cpp:
	$(COMPILE) -E main.c

এবার কিছু যায়গায় পরিবর্তন করুন আপনার হার্ডওয়্যার ফিটিংস অনুযায়ী। চলুন ব্যাখা করি কোথায় কেমন পরিবর্তন করতে হবে। ১০ নম্বর লাইনে দেখুন লেখা আছে DEVICE = atmega8। কারন আমি এই মাইক্রোকন্ট্রোলারটি ব্যবহার করেছি। এখানে আপনি যেটা ব্যবহার করছেন সেটির নাম দিবেন।  এরপর ১১ নম্বর লাইনে আছে CLOCK = 8000000। আমি যেহেতু মাইক্রোকন্ট্রোলারের ডিফল্ট 8MHz ক্লক ব্যবহার করেছি তাই আমি এটা দিয়েছি। আপনি আপনার মত করে পরিবর্তন করে নিন বা যেমন আছে তেমন রেখে দিন।

এরপর ১২ নম্বর লাইনে আছে PROGRAMMER = -c arduino -P COM3 -b 19200। আপনার কি মনে আছে আপনি  যখন Arduino IDE দিয়ে অরডুইনো বোর্ডে প্রোগ্রাম আপলোড করেছিলেন তখন কোন পোর্ট সিলেক্ট করেছিলেন। সুতরাং এখন আপনি COM3 এর স্থানে আপনি যে পোর্ট সিলেক্ট করেছিলেন সেটা লিখুন। এবার আসি সবচেয়ে গুরুত্ত্বপূর্ণ লাইন ১৪ নম্বরে। এখানে আছে   FUSES      = -U lfuse:w:0x64:m -U hfuse:w:0xdd:m -U efuse:w:0xff:m। এইটা লেখার সময় সাবধান থাকুন। কারন এটা ভুলভাল হলে আপনার মাইক্রোকন্ট্রোলারটি একেবারে বাতিল হয়ে যেতে পারে। আর আপনার মাইক্রোকন্ট্রোলারের ক্ষেত্রে আপনি কি লিখবেন তা যদি বুঝতে না পারেন তবে এই

http://www.engbedded.com/fusecalc/  ওয়েবসাইট এ চলে যান। আপনি যে মাইক্রোকন্ট্রোলারটি নিয়ে কাজ করছেন সেইটা সিলেক্ট করুন। একেবারে নিচের দিকে -U lfuse:w:0x64:m -U hfuse:w:0xdd:m  এইরকম কিছু দেখতে পাবেন, ওটা কপি করে পেস্ট করুন। ওটা আপনার বাই-ডিফল্ট ফিউস বিট। এবার ফাইলটি সেভ করুন।

৬. প্রোগ্রাম লেখা

আমরা আমাদের কাজের একদম শেষের দিকে চলে এসেছি। এখন আমরা আমাদের মাইক্রোকন্ট্রোলারটির জন্য প্রোগ্রাম লিখবো।  আপনি আপনার প্রোজেক্ট ফোল্ডারের ভিতরে main.c নামে আরও একটি ফাইল তৈরি করুন।  এই ফাইলেই আমরা আমাদের প্রয়োজনীয় কোডটুকু লিখবো। এখন আপনার ফাইল এডিটর দিয়ে ফাইলটি ওপেন করুন। তাতে নিচের কোডটুকু কপি করে পেস্ট করুন আগের মতোই।  


#define F_CPU 1000000 // CPU frequency for proper time calculation in delay function

#include <avr/io.>
#include <util/delay.h>

int main(void)
{
    DDRD = 0xFF; //Nakes PORTC as Output
    while(1) //infinite loop
    {
        PORTD = 0xFF; //Turns ON All LEDs
        _delay_ms(1000); //1 second delay
        PORTD= 0x00; //Turns OFF All LEDs
        _delay_ms(1000); //1 second delay
    }
}

আপনি ৮ নম্বর লাইনে দেখছেন আমি D পোর্টকে আউটপুট পোর্ট হিসেবে নির্ধারন করেছি। আপনি আপনার প্রয়োজন অনুযায়ী পরিবর্তন করে নিতে পারেন। আশা করি পরের কোডটুকু বুঝতে অসুবিধা হবেনা। তারপরও যদি বুঝতে সমস্যা হয় তবে টিউমেন্টর ঘর তো খোলাই রইলো।

৬. প্রোগ্রাম আপলোড করা

এখন আপনি কমান্ড প্রম্পট ওপেন করুন। এখন যেখানে আপনি প্রোজেক্ট ফোল্ডার তৈরি করেছেন কমান্ডলাইন দিয়ে ওই ফোল্ডারে প্রবেশ করুন। এখন আপনার কমান্ডলাইনে লিখুন make flash। আপনি দেখবেন কিছুক্ষনের মধ্যেই আপনার প্রোগ্রামটি মাইক্রোকন্ট্রোলারে আপলোড হয়ে গেছে এবং এলইডি(LED) টি জ্বলানেভা করছে। অনেকটা নিচের চিত্রেও মত।

flash microcontroller.png
কমান্ড দিয়ে মাইক্রোকন্ট্রোলারে প্রোগ্রাম বার্ন করা হচ্ছে।

হয়ে গেলো আপনার অরডুইনো দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করা। এখন আপনি চাইলে একই পদ্ধতিতে আরো জটিল প্রোগ্রাম করে আপনার প্রোজেক্ট গুলো তৈরি করতে পারেন। আপনার সফলতার কামনায় এখানেই শেষ করছি। তবে হ্যাঁ আপনার শুরু থেকে শেষ পর্যন্ত কোথাও বুঝতে যদি কোনো সমস্যা হয়, তবে অবশ্যই টিউমেন্ট করবেন। আমি চেস্টা করবো সেটা বুঝিয়ে দেওয়ার জন্য।  আর কোথাও আমার ভুল চোখে পড়লে শুধরে দেবার আমন্ত্রন রইলো। আর আপনাদের সৌজন্যে আমার প্রোগ্রামটার একটা ভিডিও দিয়ে দিলাম।

Level 0

আমি সুদর্শন বিশ্বাস। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 1 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 3 টি টিউন ও 18 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

টিউন ভিউ হচ্ছে না কেন? একটু উন্নত টিউন করতে হবে সম্ভবত ।

    হুমম সেটাই দেখছি। যদি পরামর্শ দিতেন কিভাবে লিখলে আরও সহজ ও বোধগম্য হবে তবে উপকৃত হতাম।

    আপনার মন্তব্যের জন্য ধন্যবাদ।

Level 0

ভাই আর কত ভিউ হবে. সবাই তো এক জিনিস নিয়ে টিউন করে.
টিটিতে আমি অনেকের কাছে ১৬ক্স১৬ এলইডি মুভিং ডিসপ্লে নিয়ে টিউন করতে
বললাম কেউই করলোনা.
আমার সখ ছিলো বাংলায় একটি ডিসপ্লে বানাব.
যদি পারেন এই নিয়ে টিউন করেন.

    ধন্যবাদ ফাহিম ভাই,

    আমি দুঃখিত আপনাকে দেরি করে কমেন্ট করার জন্য। আমার মনে হয় আপনি একটু ভুল বুঝতেছেন। অথবা ঠিক আমার পুরো পোস্টটি পড়েননি। আসলে আমারই উচিত ছিলো পোস্টের শুরুতেই বিষয়টা ব্যাখা করা।

    ধরুন,

    আপনি একটি প্রজেক্ট করতে চাচ্ছেন মাইক্রোকন্ট্রোলার দিয়ে। এই যেমন ধরুন ১৬ * ১৬ এলইডি মুভিং ডিসপ্লের কথাই ধরুন। এইটা আপনি অরডুইনো দিয়েও করতে পারেন আবার একটি শুধু মাইক্রোকন্ট্রোলার দিয়েও করতে পারেন। এখন বলি আসল ঘটনাটা। একটা ১৬ * ১৬ এলইডি মুভিং ডিসপ্লের বানানোর জন্য ৭০-৮০ টাকা দিয়ে একটা মাইক্রোকন্ট্রোলার কিনে সেইটাকে প্রোগ্রাম করেই বানানো সম্ভব। আপনি নিশ্চয়ই এটার জন্য একটা ৪০০-৬০০ টাকা মূল্যের অরডুইনো বোর্ড ব্যবহার করবেন না।

    এখন আপনি বলতে পারেন মাইক্রোকন্ট্রোলার তো একটা ইউএসবি মাইক্রোকন্ট্রোলার প্রোগ্রামার দিয়েই প্রোগ্রাম করা যায়। আপনি ঠিকই বলেছেন। সেইটা সম্ভব। কিন্তু ওই প্রোগ্রামারটাও কিনতে ৪০০-৭০০ টাকা লাগে। এখন যদি আপনার একটা অরডুইনো বোর্ড আগে থেকেই থাকে তাহলে আপনাকে এই ৪০০-৭০০ টাকা অযথা ব্যয় করতে হবে না। আপনি ওই টাকা দিয়ে অন্য কিছু কিনতে পারবেন। সাধারনতো অরডুইনো দিয়ে মাইক্রোকন্ট্রোলার প্রোগ্রাম করা একটু জটিল। এটাই সবচেয়ে সহজ উপায়।

    আরেকটা বিষয় হচ্ছে আপনি যখন অরডুইনোতে প্রোগ্রাম করেন আপনি তখন মাইক্রোকন্ট্রোলার এর সবটুকু মেমরী ব্যবহার করতে পারেন না। কারন সেইটা একটা প্রি বুটলোডেড একটা মাইক্রোকন্ট্রোলার। যে নিজেকেই নিজে প্রোগ্রাম করে। আর এই কাজটা করার জন্য আগে থেকেই একটা বুটলোডার প্রোগ্রাম ইন্সটল করা থাকে। যেইটা তার মেমরীর ছোটো একটা অংশ হলেও দখল করে রাখে। সেইখানে আপনি অন্য একটা মাইক্রোকন্ট্রোলার এর পুরো মেমরীটাই ব্যবহার করতে পারছেন।

    এইখানে আসলে আমি অরডুইনোর বুটলোডারকে ব্যবহার করে অপর মাইক্রোকন্ট্রোলারটি প্রোগ্রাম করেছি। আর এটাই তুলনামূলক সবচেয়ে সহজ পদ্ধতি।

    আর আপনাকে আশ্বস্ত করছি আপনি যেই টিউনটা করতে বলেছেন আমি সময় নিয়ে করবো, যদি ঈশ্বর সহায় হোন তো।

    সেই পর্যন্ত সুস্থ থাকুন ভালো থাকুন, সেই কামনা রইলো।

      Level 0

      সুদর্শন বিশ্বাস ভাই আপনাকে অনেক ধন্যবাদ কমেন্টর উত্তর দেওয়ার জন্য।
      ভাই আমার কাছে আরডুনো ইউ.এন.ও আছে তাছারা অনেক গুলো 74HC595 আইচি আছে.
      আমি প্রোগ্রামিং এ তেমন দক্ষ নই.
      আমি চি ল্যাংগুয়েজের বেসিক বুঝি মাত্র.
      আমি 8×8 ম্যাট্রিক্স করতে পারি কিন্ত 16×16 করতে পারি না।
      আমি অধির আগ্রহে রইলাম এই নিয়ে টিউন করবেন.
      আবারো ধন্যবাধ আপনাকে……

প্রিয় কোডার,

আমি টেকটিউনস কমিউনিটি ম্যানেজার, শোয়াইব,

টেকটিউনস থেকে আপনার সাথে অফিসিয়ালি যোগাযোগ করতে চাচ্ছি। টেকটিউনস থেকে আপনার সাথে অফিসিয়ালি যোগাযোগ করার জন্য http://techtun.es/2obSQxE লিংকটিতে ক্লিক করে আপনার সাথে যোগাযোগের প্রয়োজনীয় তথ্য সাবমিট করে আমাদের সাহায্য করবেন আশা করছি।

ছদ্ম ছবি, নাম, ইমেইল, ফোন, ঠিকানা ও সৌশল Contact পরিহার করে আপনার প্রকৃত/আসল ছবি, নাম, ইমেইল, ফোন, ঠিকানা ও সৌশল Contact দিন। যেহেতু টেকটিউনস থেকে আপনার সাথে অফিসিয়ালি যোগাযোগ করা হবে।

সাবমিট করার পর আমাদের এই ম্যাসেজের রিপ্লাই আপনার কাছ থেকে আশা করছি।

বিশেষ নোট: আপনি যদি পূর্বে আমাদের এই ম্যাসেজ পেয়ে ফর্মটি সাবমিট করে থাকেন তবে আর পুনরায় সাবমিট করার প্রয়োজন নেই। কিন্তু যদি আপনি এখনও আমাদের এই ফর্মটি পেয়ে সাবমিট করে না থাকেন তবে অবশ্যই এখনই সাবমিট করুন এবং সাবমিট করার পর অবশ্যই আমাদের এই ম্যাসেজের রিপ্লাই দিন।

ধন্যবাদ আপনাকে।

    ধন্যবাদ শোয়াইব,

    আমি আপনাদের ফর্মটি পূরণ করে সাবমিট করে দিয়েছি। আশা করছি টেকটিউনস পরিবার এতক্ষনে আমার পূরণ করা ফর্মটি পেয়ে গিয়েছে। যদি না পেয়ে থাকেন অবশ্যই জানানোর আহবান রইলো।

    ধন্যবাদ

ভালো লেগেছি লেখাটি। ইলেকট্রনিক্স এর প্রজেক্ট বরাবরের মতই অনেক মজাদার হয়।
ভাই, আপনি যদি পর্বভিত্তিক লেখা দিতেন তাহলে আরো ভালো হতো। পর্ব ভিত্তিক লেখা, খুব বেশি বড় না লিখলেও চলতো।

ধন্যবাদ