فهرست مطالب:

Mini Lightfollower ATTiny-RAT، ATTINY: 3 مرحله
Mini Lightfollower ATTiny-RAT، ATTINY: 3 مرحله

تصویری: Mini Lightfollower ATTiny-RAT، ATTINY: 3 مرحله

تصویری: Mini Lightfollower ATTiny-RAT، ATTINY: 3 مرحله
تصویری: Easily program three ATtiny's at once with this shield for Arduino Uno 2024, نوامبر
Anonim
Mini Lightfollower ATTiny-RAT، ATTINY
Mini Lightfollower ATTiny-RAT، ATTINY
مینی Lightfollower ATTiny-RAT ، ATTINY
مینی Lightfollower ATTiny-RAT ، ATTINY
Mini Lightfollower ATTiny-RAT، ATTINY
Mini Lightfollower ATTiny-RAT، ATTINY
Mini Lightfollower ATTiny-RAT، ATTINY
Mini Lightfollower ATTiny-RAT، ATTINY

سلام مردم ،

مدتی است که آخرین دستورالعمل خود را ارسال کرده ام. خوب ، چیزهای زیادی در ذهن من وجود دارد ، اما من موفق شدم "اولین قدم" خود را با تراشه های سری ATTiny در این دستورالعمل کوتاه برای شما ثبت کنم.

من برخی از نمونه های ATTINY85 را فقط به این دلیل که می خواستم آنها را آزمایش کنم سفارش دادم:-) (همه دوست دارند چیزها را آزمایش کنند ، درست است؟) صادقانه بگویم اولین کاری که انجام دادم چشمک زدن یک LED بود که مانند همیشه شروع خوبی برای بررسی اینکه آیا راه اندازی/زنجیره ابزار شما کار می کند یا خیر. همچنین با DHT22 و SoftwareSerial یک دستگاه ثبت دما و رطوبت را امتحان کردم. این یک مشکل بود زیرا کتابخانه های DHT عمدتا برای ساعت 16 مگاهرتز هستند (اگر قصد انجام چنین کاری را دارید ، نحوه پیش نمایش ساعت داخلی را بررسی کنید). اما من تصمیم گرفتم چیزی را به شما نشان دهم که بسیار خنده دار است. BTW: من یکی از نقاشی های خود را برای شما بارگذاری کردم ، این یک رامبراند نیست ، اما به شما نشان می دهد که چگونه این ایده (واقعاً) احمقانه را روی یک کاغذ به دست آوردم: -پ.

من فقط از وسایلی که در اطراف داشتم استفاده کردم تا این پروژه را تا آنجا که ممکن است ارزان نگه دارم (برای من). نتیجه این ماجراجویی کوچک یک "ربات کوچک دنبال کننده نور" خوب با قیمت 10-15 دلار (3 دلار برای من:-P) است.

بنابراین اگر به ATTINY علاقه دارید ، فقط بیشتر بخوانید.

BTW: متاسفم برای انگلیسی بدم (من یک زبان مادری نیستم)

مرحله 1: شروع به کار با ATTiny & Tools & Materials

شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد
شروع به کار با ATTiny و ابزارها و مواد

آنچه برای شروع نیاز دارید:

- یک تراشه ATTiny85

- Arduino UNO یا موارد مشابه

-abreadboard با مقداری سیم جامپر یا برنامه نویس ATTINY یا خودتان یک برنامه نویس محافظ برای آردوینو بسازید (تصاویر پیوست شده را بررسی کنید ، شماتیک از avdweb.nl وجود دارد). من این مورد را نیز تهیه کردم و از آن واقعاً خوشحالم. تنها تغییری که ایجاد کردم این بود که یک سوکت برای سری ATTinyx4 اضافه کردم (به تصویر و نمودارهای pinout مراجعه کنید).

- Arduino IDE (آن را از اینجا دریافت کنید)

- فایل های سخت افزاری ArduinoIDE (بارگیری و نصب آنها)

پیوند اطلاعات به زمین بازی پیوند مستقیم به فایلهای github که من استفاده کردم

- Arduino را به عنوان طرح ISP در UNO بارگذاری کنید (این برنامه نویس شما خواهد بود)

- این دستورالعمل (https://highlowtech.org/) یا این دستورالعمل (توسط ardutronix) را دنبال کنید و طرح "چشمک زدن" را امتحان کنید (شماره PIN را اصلاح کنید. از تصویر ATTINY به عنوان مرجع استفاده کنید! شما نیاز به ATTINY پیش LED دارید و یک مقاومت 220 اهم برای آن)

برای بررسی همه چیز یک صفحه کوچک تهیه کنید. اگر همه چیز را درست انجام داده باشید ، LED چشمک می زند و شما آماده رفتن هستید

ابزارها

- لحیم کاری آهن- مقداری لحیم کاری- یک سیم کشی کوچک- یک dremel یا ابزار چرخشی دیگر (فقط برای برش PCB!)- برخی از چسب های داغ- موچین- سیم

مواد

- نمونه اولیه PCB (cm 4cmx6cm انجام خواهد داد)- 2x LDR- مقاومت 5x 10k (2x برای LDR ها و 2x ترانزیستورهای BE ، 1x LED)- 1x مقاومت 330 اهم (1x NEOPIXELS)- 2x LDR- 1x LED (رنگ شما انتخاب ، به جای چرخ کاستور)- 3x NEOPIXEL WS2812- 2x ترانزیستور (BD137 یا مشابه)- 2x دیود (1N4001 یا مشابه)- 2 برابر میکرو موتور (به عنوان مثال از میکروکوادکوپتر Hubsan)- 1x ATTINY85 + اختیاری (توصیه می شود) 8PIN IC Socket- 1x 1s LIPO (من از 140Ah از یک هلیکوپتر RC قدیمی استفاده کردم)- برخی از هد سر/پریزها- shrinktube (مسکن LDR)

بیایید با ساخت سخت افزار ادامه دهیم…

مرحله 2: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

اگر به شماتیک هایی که پیوست کردم نگاهی بیندازید ، تنظیم سخت افزار بسیار ساده است. بنابراین اگر قادر به خواندن شماتیک و استفاده از آهن لحیم کاری هستید ، این نیمی از ترفند است. همچنین به عکس ها نگاهی بیندازید ، من چند یادداشت برای شما اضافه کردم.

من برنامه ای برای برش PCB ارائه نمی دهم ، شما این آزادی را دارید که طرح خود را بسازید (خلاق باشید و ربات های کوچک خود را به ما نشان دهید). محل قرارگیری همه قطعات الکترونیکی نیز به عهده خود شماست. چند نکته از طرف من:

سعی کنید موتورها را دقیقاً تنظیم کنید (زاویه را تماشا کنید!) ما فقط به جای چرخ از موتور موتور استفاده می کنیم. (این انرژی کمتری مصرف می کند) توصیه می کنم موتورها را زیر باتری (وزن) قرار دهید و از LDR ها در جلو (زاویه 45 درجه) همراه با LED استفاده کنید (من سعی می کنم از این ترکیب برای جلوگیری از موانع استفاده کنم) آزمایشات مورد نیاز است)

بعلاوه توصیه می کنم کمی بلوز روشن/خاموش کنید تا باتری به این سادگی از بین نرود.

اگر چیزی مبهم وجود دارد یا س youالی دارید ، فقط از من بپرسید. این باعث نمی شود که بسیاری از پیرها از این پروژه کوچک پایان نامه تهیه کنند.

مرحله 3: نرم افزار

نرم افزار
نرم افزار
نرم افزار
نرم افزار

اول از همه ADAFRUIT Neopixel Library را بارگیری و نصب کنید

در اینجا کد من با برخی از توضیحات اصلی (من فایل طرح را نیز اضافه کردم) وجود دارد. من در مورد هر مرحله اظهار نظر نکردم زیرا فکر می کنم لازم نیست.

طرح را روی ATTiny85 خود بارگذاری کنید و با اسباب بازی جدید خود لذت ببرید

ایده هایی برای عملکرد "شخصیت" + شاید مثالهای کد بسیار خوش آمدید:-)

در صورت وجود هر گونه سوال ، با خیال راحت بپرسید.

امیدوارم از آموزش کوتاه کوتاه و سفر کوچک من به دنیای ATTINY لذت برده باشید.

/* ربات ATATINY85-Rata ساده با قدرت دنبال کننده نور نسخه 2.0 ، توسط Auer Markus */

#عبارتند از

#عبارتند از

// موتورها

#define LMOTOR 0 #define RMOTOR 1 // LED ها #تعریف PIXELPIN 2 #تعریف NUMPIXEL 3 // LDR ها #تعریف LLDR A2 #تعریف RLDR A3

// otherint emo = 0؛ شناور کالیبر ؛ boolean emostate؛ oldmillis طولانی ؛ // تعریف NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL ، PIXELPIN ، NEO_GRB + NEO_KHZ800) ؛

void setup ()

{// ساعت مچی دیگر با برخی از مشکلات زمانی مواجه خواهید شد (نئوپیکسل lib برای 16 مگاهرتز نوشته شده است) #اندیف

// PINMODE pinMode (LMOTOR ، OUTPUT) ؛ pinMode (RMOTOR ، OUTPUT) ؛ pinMode (LLDR ، INPUT) ؛ pinMode (LLDR ، INPUT) ؛ // مقداردهی اولیه پیکسل ها PIXEL.begin ()؛ PIXEL.show ()؛ تأخیر (500) ؛ // startsequence for (int i = 0؛ i

حلقه خالی ()

{if (lightfollow () == 1) {left ()؛ } else if (lightfollow () == 2) {right ()؛ } else if (lightfollow () == 0) {جلو ()؛ } هیجانی()؛ }

int lightfollow () {

آستانه int = 14 ؛ int نتیجه = 0 ؛ شناور چپ = 0 ؛ شناور راست = 0 ؛ نمونه int = 1؛ // خواندن LDR برای (int j = 0 ؛ j <نمونه ؛ j ++) {

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

}

// نتیجه را محاسبه کنید (نور از کدام جهت می آید؟)

if ((چپ/نمونه)> ((راست/نمونه)+آستانه)) {result = 2؛}

else if ((چپ/نمونه) <((راست/نمونه) -آستانه)) {result = 1؛}

else {result = 0؛}

نتیجه بازگشت ؛ } void forward () {// Forward analogWrite (LMOTOR، 230)؛ analogWrite (RMOTOR ، 230) ؛ PIXEL.setPixelColor (0 ، PIXEL. Color (0 ، 0 ، 255)) ؛ PIXEL.setPixelColor (2 ، PIXEL. Color (0 ، 0 ، 255)) ؛ PIXEL.show ()؛ }

خلاء سمت چپ () {

// LEFT 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 ()؛ }

خلاء راست () {

// RIGHT analogWrite (LMOTOR ، 255) ؛ analogWrite (RMOTOR ، 150) ؛ PIXEL.setPixelColor (0 ، PIXEL. Color (0 ، 100 ، 0)) ؛ PIXEL.setPixelColor (2 ، PIXEL. Color (0 ، 0 ، 255)) ؛ PIXEL.show ()؛ }

// این برای آزمایش های بیشتر است ، سعی می کنم به این شخص کمی شخصیت بدهم:-) من در حال آزمایش آنچه می توانم انجام دهم هستم ، اما هنوز ایده های خوبی در دست نیست.

void emotion () {int emotimer = 2500؛ int مدت = تصادفی (250 ، 750) ؛ if (millis () - oldmillis> emotimer) {oldmillis = millis ()؛ emo = تصادفی (1 ، 4) ؛ } if (millis () - oldmillis> duration) {emostate =! emostate؛ } if (emostate == true) {switch (emo) {case 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 (تصادفی (0 ، 255) ، تصادفی (0 ، 255) ، تصادفی (0 ، 255))) ؛ PIXEL.show ()؛ زنگ تفريح؛ }} else {PIXEL.setPixelColor (1 ، PIXEL. Color (25 ، 0 ، 0)) ؛ PIXEL.show ()؛ }}

توصیه شده: