সুচিপত্র:

ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার: 3 টি ধাপ
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার: 3 টি ধাপ

ভিডিও: ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার: 3 টি ধাপ

ভিডিও: ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার: 3 টি ধাপ
ভিডিও: সেলসিয়াস ফারেনহাইট এবং কেলভিনের তাপমাত্রা পরিমাপ করতে কীভাবে এলএম 35 ব্যবহার করবেন 2024, নভেম্বর
Anonim
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার
ATTiny-RAT, ATTINY চালিত মিনি লাইটফলোয়ার

হাই বাউল, আমি আমার শেষ নির্দেশনাটি পোস্ট করার পর এটি একটি সময় হয়েছে। আচ্ছা আমার মাথায় এখন অনেক কিছু ঘুরছে কিন্তু আমি আপনার সংক্ষিপ্ত নির্দেশের চিপগুলির ATTiny- সিরিজের সাথে আমার "প্রথম পদক্ষেপ" নথিভুক্ত করতে পরিচালিত করেছি।

আমি কিছু ATTINY85 নমুনার অর্ডার দিয়েছিলাম কারণ আমি তাদের পরীক্ষা করতে চেয়েছিলাম:-) (সবাই পরীক্ষা করা জিনিস পছন্দ করে, তাই না?) এর পরে আমি আমার নোটবুকে কিছু ধারণা আঁকতে শুরু করলাম। সৎ হতে আমি প্রথম যে কাজটি করেছি তা হল একটি LED জ্বলানো যা সবসময় আপনার সেটআপ/টুলচেইন কাজ করছে কিনা তা পরীক্ষা করার জন্য একটি ভাল শুরু। আমি DHT22 এবং SoftwareSerial দিয়ে একটি তাপমাত্রা এবং আর্দ্রতা লগার চেষ্টা করেছি। এটি একটি জটিল ছিল কারণ ডিএইচটি লাইব্রেরিগুলি মূলত 16 মেগাহার্টজ ঘড়ির জন্য (যদি আপনি এরকম কিছু করার পরিকল্পনা করেন তবে অভ্যন্তরীণ ঘড়িটি কীভাবে প্রিস্কেল করবেন তা পরীক্ষা করুন)। কিন্তু আমি আপনাকে এমন কিছু দেখানোর সিদ্ধান্ত নিয়েছি যা ভাল, শুধু মজার। -পি।

এই প্রজেক্টটিকে যতটা সম্ভব সস্তা রাখার জন্য আমি আমার চারপাশে পড়ে থাকা জিনিস ব্যবহার করেছি (আমার জন্য)। এই ছোট্ট অ্যাডভেঞ্চারের ফলাফল হল একটি সুন্দর ছোট "লাইটফলোয়ার রোবট" প্রায় 10-15 $ (আমার জন্য 3 $:-P)

সুতরাং আপনি যদি ATTINY তে আগ্রহী হন তবে আরও পড়ুন।

BTW: আমার খারাপ ইংরেজির জন্য দু sorryখিত (আমি স্থানীয় ভাষাভাষী নই)

ধাপ 1: ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা

ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা
ATTiny এবং সরঞ্জাম এবং উপকরণ দিয়ে শুরু করা

আপনি কি শুরু করতে হবে:

- একটি ATTiny85 চিপ

- একটি Arduino UNO বা অনুরূপ

-কিছু জাম্পার-তার বা একটি ATTINY প্রোগ্রামার সহ abreadboard অথবা Arduino এর জন্য নিজেই একটি প্রোগ্রামার-ieldাল তৈরি করুন (সংযুক্ত ছবিগুলি দেখুন, avdweb.nl থেকে একটি পরিকল্পিত আছে)। আমি এটিও তৈরি করেছি এবং আমি এটির সাথে সত্যিই খুশি একমাত্র পরিবর্তনটি হল যে আমি ATTinyx4 সিরিজের জন্য একটি সকেট যুক্ত করেছি (ছবি এবং পিনআউট-চিত্রগুলি দেখুন)।

- Arduino IDE (এটি এখানে পান)

- ArduinoIDE এর জন্য হার্ডওয়্যার ফাইল (ডাউনলোড এবং ইনস্টল করুন)

খেলার মাঠের তথ্য-লিঙ্ক সরাসরি ব্যবহৃত গিথুব ফাইলগুলির লিঙ্ক

- ইউএসওতে আইএসপি স্কেচ হিসাবে আরডুইনো লোড করুন (এটি আপনার প্রোগ্রামার হবে)

- এই নির্দেশনা অনুসরণ করুন (https://highlowtech.org/) অথবা এই নির্দেশযোগ্য (ardutronix দ্বারা) এবং "ঝলকানি" স্কেচটি চেষ্টা করুন (পিন নং সংশোধন করুন। রেফারেন্স হিসাবে ATTINY ছবিটি ব্যবহার করুন! আপনার প্রিফ্ল্যাশ করা ATTINY একটি LED প্রয়োজন হবে এবং এর জন্য একটি ~ 220Ohm প্রতিরোধক)

সবকিছু চেক করার জন্য একটি ছোট ব্রেডবোর্ড-সেটআপ করুন।

সরঞ্জাম

- সোল্ডারিং আয়রন- কিছু সোল্ডার- একটি ছোট ওয়্যারকাটার- একটি ড্রেমেল বা অন্যান্য রোটারি-টুল (শুধু পিসিবি কাটার জন্য!)- কিছু হটগ্লু-টুইজার- তার

উপাদান

- প্রোটোটাইপিং পিসিবি (~ 4cmx6cm এটি করবে)- 2x LDR- 5x 10k রোধকারী (LDRs এর জন্য 2x এবং ট্রানজিস্টর BE এর জন্য 2x, 1x LED)- 1x 330Ohm প্রতিরোধক (1x NEOPIXELS)- 2x LDR- 1x LED (আপনার রঙ পছন্দ, কাস্টার-হুইলের পরিবর্তে)- 3x NEOPIXEL WS2812- 2x ট্রানজিস্টার (BD137 বা অনুরূপ)- 2x ডায়োড (1N4001 বা অনুরূপ)- 2x মাইক্রোমোটর (যেমন হুবসান মাইক্রো-কোয়াডকপ্টার থেকে)- 1x ATTINY85 + alচ্ছিক (প্রস্তাবিত) 8PIN IC সকেট- 1x 1s LIPO (আমি একটি পুরানো RC- হেলিকপ্টার থেকে 140Ah ব্যবহার করেছি)- কিছু পিনহেডার/সকেট- সঙ্কুচিত টিউব (LDR হাউজিং)

আসুন হার্ডওয়্যার তৈরি করে এগিয়ে যাই …

ধাপ 2: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

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

আমি পিসিবি কাটার জন্য কোন প্ল্যান দিচ্ছি না, আপনার নিজের নকশা তৈরির স্বাধীনতা আছে (সৃজনশীল হোন এবং আমাদের আপনার ছোট বটগুলি দেখান)। সমস্ত ইলেকট্রনিক কম্পোনেট বসানোও আপনার উপর নির্ভর করে। আমার দিক থেকে কিছু ইঙ্গিত:

মোটরগুলিকে সুনির্দিষ্টভাবে চিহ্নিত করার চেষ্টা করুন (কোণটি দেখুন!) আমরা কেবল চাকার পরিবর্তে মোটরশাফ্ট ব্যবহার করি। (এটি কম শক্তি খরচ করবে) আমি মোটরগুলিকে ব্যাটারি (ওজন) এর নিচে রাখার এবং LED এর সাথে যুক্ত (45 ° কোণযুক্ত) এলডিআর ব্যবহার করার পরামর্শ দিই পরীক্ষা প্রয়োজন)।

উপরন্তু আমি একটু অন/অফ জাম্পার করার পরামর্শ দিচ্ছি যাতে ব্যাটারি এত সহজে হারিয়ে না যায়।

যদি কিছু অস্পষ্ট থাকে বা যদি আপনার কোন প্রশ্ন থাকে তবে আমাকে জিজ্ঞাসা করুন। এই ছোট্ট প্রজেক্ট থেকে খুব বেশি বয়স্করা থিসিস তৈরি করতে পারবে না।

ধাপ 3: সফটওয়্যার

সফটওয়্যার
সফটওয়্যার
সফটওয়্যার
সফটওয়্যার

ADAFRUIT Neopixel লাইব্রেরি ডাউনলোড এবং ইনস্টল করুন

এখানে কিছু প্রধান বিবরণ সহ আমার কোড (আমি স্কেচ ফাইলও যুক্ত করেছি)। আমি প্রতিটি ধাপে মন্তব্য করিনি কারণ আমি মনে করি এটি প্রয়োজনীয় নয়।

আপনার ATTiny85 এ স্কেচ আপলোড করুন এবং আপনার নতুন খেলনার সাথে মজা করুন

"ব্যক্তিত্ব" ফাংশনের জন্য ধারণা + হয়তো কোড-উদাহরণগুলি খুব স্বাগত:-)

যদি কোন প্রশ্ন থাকে, নির্দ্বিধায় জিজ্ঞাসা করুন।

আমি আশা করি আপনি আমার সংক্ষিপ্ত নির্দেশযোগ্য এবং ATTINYs এর জগতে সামান্য ভ্রমণ উপভোগ করেছেন।

/* ATTINY85-Rata সাধারণ ATTINY85 চালিত লাইটফলোয়িং রোবট। সংস্করণ 2.0, আউয়ার মার্কাস */ দ্বারা

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

// মোটর

#ডিফাইন LMOTOR 0 #ডিফাইন RMOTOR 1 // LEDs #ডিফাইন পিক্সেলপিন 2 #ডিফাইন NUMPIXEL 3 // LDRs #ডিফাইন LLDR A2 #ডিফাইন RLDR A3

// অন্য ইমো = 0; ভাসা calib; বুলিয়ান emostate; দীর্ঘ পুরাতন মিলিস; // সংজ্ঞায়িত করুন NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);

অকার্যকর সেটআপ()

{// আপস্কেল ঘড়ি অন্যথায় আপনি কিছু টাইমিং সমস্যার সম্মুখীন হবেন (neopixel lib 16MHz এর জন্য লেখা আছে) #if সংজ্ঞায়িত (_AVR_ATtiny85_) যদি (F_CPU == 16000000) clock_prescale_set (clock_div_1); #যদি শেষ

// PINMODE pinMode (LMOTOR, OUTPUT); পিনমোড (RMOTOR, আউটপুট); পিনমোড (এলএলডিআর, ইনপুট); পিনমোড (এলএলডিআর, ইনপুট); // পিক্সেল শুরু করুন PIXEL.begin (); PIXEL.show (); বিলম্ব (500); // প্রারম্ভিক ফলাফল (int i = 0; i

অকার্যকর লুপ ()

{যদি (lightfollow () == 1) {left (); } অন্যথায় যদি (lightfollow () == 2) {right (); } অন্যথায় যদি (lightfollow () == 0) {forward (); } আবেগ (); }

int lightfollow () {

int treshold = 14; int ফলাফল = 0; বাম ভাসা = 0; ভাসান ডান = 0; int নমুনা = 1; // এর জন্য LDRs পড়ুন (int j = 0; j <sample; j ++) {

left = left + analogRead (LLDR); right = right + (analogRead (RLDR)*calib);

}

// ফলাফল গণনা করুন (আলো কোন দিক থেকে আসছে?)

যদি ((বাম/নমুনা)> ((ডান/নমুনা)+ট্র্যাশহোল্ড)) {ফলাফল = 2;}

অন্যথায় যদি ((বাম/নমুনা) <((ডান/নমুনা) -ট্রেশোল্ড)) {ফলাফল = 1;}

অন্য {ফলাফল = 0;}

ফেরার ফলাফল; } অকার্যকর এগিয়ে () {// ফরোয়ার্ড analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }

অকার্যকর বাম () {

// বাম analogWrite (LMOTOR, 150); analogWrite (RMOTOR, 255); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color (75, 0, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 100, 0)); PIXEL.show (); }

অকার্যকর অধিকার () {

// ডান এনালগ রাইট (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }

// এটি আরও পরীক্ষা-নিরীক্ষার জন্য, এটিকে একটু ব্যক্তিত্ব দেওয়ার চেষ্টা করা হচ্ছে:-) আমি যা করতে পারি তা পরীক্ষা করছি, কিন্তু এখনও কোন ভাল ধারণা নেই।

অকার্যকর আবেগ () {int emotimer = 2500; int সময়কাল = এলোমেলো (250, 750); যদি (মিলিস () - ওল্ডমিলিস> ইমোটিমার) {ওল্ডমিলিস = মিলিস (); ইমো = এলোমেলো (1, 4); } যদি (মিলিস () - oldmillis> সময়কাল) {emostate =! emostate; } যদি (emostate == true) {সুইচ (ইমো) {কেস 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); বিরতি; কেস 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); বিরতি; কেস 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); বিরতি; ডিফল্ট: PIXEL.setPixelColor (1, PIXEL. Color (random (0, 255), random (0, 255), random (0, 255))); PIXEL.show (); বিরতি; }} অন্য {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}

প্রস্তাবিত: