مجله مطالب خواندنی

سبک زندگی، روانشناسی، سلامت،فناوری و ....

مجله مطالب خواندنی

سبک زندگی، روانشناسی، سلامت،فناوری و ....

شال گردن چشمک زن؛ یک پروژه جالب با برد Trinket و LED

[ad_1]

برد Trinket بخاطر اندازه کوچکش بهترین انتخاب برای ساخت پروژه‌های کوچک است. مثلاً اگر بخواهید یک ربات کوچک بسازید که جای کافی برای میکروکنترلرهایی مثل آردوینو را ندارد، می‌توانید از برد Trinket استفاده کنید. در این ساختنی یک پروژه ساده و جالب برای آشنایی بیشتر با برد Trinket را آموزش می‌دهیم. یک شال گردن چشمک زن که برای مهمانی‌ها و جشن‌ها بی نظیر است. با ساختنی همراه باشید.

با برد Trinket شال گردن چشمک زن بسازید
با برد Trinket شال گردن چشمک زن بسازید

ساخت شال گردن چشمک زن کار ساده ای است. ابتدا برد Trinket را برنامه ریزی کنید. سپس شال گردن را بدوزید (می‌توانید از شال گردن‌های آماده هم استفاده کنید)، قطعات الکترونیکی از جمله LED را سیم کشی کنید و سپس قطعات الکترونیکی را داخل شال قرار بدهید. اگر با میکروکنترلرها آشنا باشید، کار با برد Trinket هم برایتان بسیار ساده خواهد بود.

گام اول: وسایل مورد نیاز

  • دستگاه لحیم کاری – اگر دستگاه لحیم کاری ندارید باید از هویه، قلع، گیره و فن استفاده کنید
  • یک سوم نوار نئوپیکسل ۵ متری – نئوپیکسل که با نام ال ای دی ws2812b هم شناخته می‌شود، نوار LED قابل برنامه ریزی با تراکم ۱۴۴-۳۰ LED در هر متر است. برای این پروژه تراکم ۳۰ LED در هر متر را بخرید.
  • پک باتری AA سه تایی به همراه سوئیچ – می‌توانید از پاوربانک هم برای تغذیه این پروژه استفاده کنید. نوع باتری و روش تغذیه ای که انتخاب می‌کنید، دوام نور شال گردن را مشخص می‌کند.
  • میکروکنترلر Trinket
  • کابل USB مینی برای اتصال برد Trinket به کامپیوتر
  • سه رنگ سیم – هرچه تعداد رنگ سیم‌ها بیشتر باشد، سیم کشی ساده تر می‌شود.
  • سوئیچ تکتایل آنی
  • یک تکه پارچه پشمی‌۲۵ در ۱۸۰ سانتیمتری – می‌توانید از هر نوع پارچه ای که می‌خواهید برای ساخت شال گردن استفاده کنید.
  • یک تکه لایی ۱۵ در ۱۸۰ سانتیمتری – نازک ترین لایی را انتخاب کنید چون فقط برای پخش کردن نور LEDها به آن نیاز داریم.
  • زیپ ۱۷٫۷ سانتیمتری – اگر زیپ نامرئی بخرید، خیلی بهتر است
  • چرخ خیاطی
  • چسب حرارتی یا چسب E6000

گام دوم: برد Trinket را برنامه ریزی کنید

برد Trinket یک میکروکنترلر ارزان است که برای پروژه‌های کوچک و ساده مناسب است. این برد با کابل USB به کامپیوتر وصل می‌شود و LED قرمز روی آن به مدت ۱۰ ثانیه چشمک می‌زند. این یعنی برد برای پذیرش کدها آماده است. اگر LED روشن نشود، باید دکمه ریست را بزنید تا برد در حالت بوت لودر قرار بگیرد. سایر میکروکنترلرها به صورت خودکار در این حالت قرار می‌گیرند اما برد Trinket نیاز به فشردن دکمه دارد.

برای برنامه ریزی میکروکنترلرهایی مثل آردوینو و برد Trinket دو راه وجود دارد. روش اول استفاده از نرم افزار Arduino IDEاست و روش دوم هم برنامه‌های مبتنی بر مرورگر مثل codebender.cc است که امکان آپلود کدها روی میکروکنترلر از طریق مرورگر را فراهم می‌کند. برای برد Trinket می‌توانید از هر دو روش استفاده کنید.

کدهای زیر را به یکی از دو روش بالا روی برد Trinket آپلود کنید. اگر می‌خواهید آپلود کدها را از طریق مرورگر انجام بدهید، از این لینک استفاده کنید.

//This is inspired by the code with Adafruit's Animated
//Neopixel Glow Fur Scarf & the color palettes included within 
//the FastLED library. I've included one additional palette to play with

#include <FastLED.h>
#include "colorutils.h"
#include "colorpalettes.h"

//This is where we adjust things to match our unique project:
#define NUM_LEDS    50	// adjust this to the number of LEDs you have: 16 or 50
#define LED_TYPE    WS2812B	// adjust this to the type of LEDS. This is for Neopixels
#define DATA_PIN    1	// adjust this to the pin you've connected your LEDs to 	
#define BRIGHTNESS  255	// ۲۵۵ is full brightness, 128 is half
#define SATURATION  255	// ۰-۲۵۵, ۰ is pure white, 255 is fully saturated color
#define BUTTON_PIN	۳	// Connect the button to GND and one of the pins.
#define UPDATES_PER_SECOND 100

uint8_t gHue = 0; // rotating "base color" used by many of the patterns

#define COLOR_ORDER GRB  // Try mixing up the letters (RGB, GBR, BRG, etc) for a whole new world of color combinations

CRGB leds[NUM_LEDS];
CRGBPalette16 currentPalette;
CRGBPalette16 targetPalette( PartyColors_p );
TBlendType    currentBlending;
uint8_t       colorLoop = 1;

uint16_t STEPS = 30;// STEPS set dynamically once we've started up
uint16_t SPEED = 30;// SPEED set dynamically once we've started up

int ledMode = 0;

const TProgmemPalette16 MyColors_p PROGMEM =

  CRGB:: DarkBlue,
  CRGB:: HotPink,
  CRGB:: Teal,
  CRGB:: BlueViolet,
 
  CRGB:: DodgerBlue,    
  CRGB:: DeepPink,
  CRGB:: Turquoise,
  CRGB:: Indigo,
 
  CRGB:: DarkBlue,
  CRGB:: HotPink,
  CRGB:: Teal,
  CRGB:: BlueViolet,
 
  CRGB:: DodgerBlue,    
  CRGB:: DeepPink,
  CRGB:: Turquoise,
  CRGB:: Indigo,
;

unsigned long keyPrevMillis = 0;
const unsigned long keySampleIntervalMs = 25;
byte longKeyPressCountMax = 80;    // 80 * 25 = 2000 ms
byte longKeyPressCount = 0;

byte prevKeyState = HIGH;         // button is active low

void setup() 
  delay( 2000 ); // power-up safety delay
  FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(  BRIGHTNESS );
  currentBlending;
  pinMode(BUTTON_PIN, INPUT_PULLUP);


void loop() 

  byte currKeyState = digitalRead(BUTTON_PIN);

  if ((prevKeyState == LOW) && (currKeyState == HIGH)) 
    shortKeyPress();
  
  prevKeyState = currKeyState;

  static uint8_t startIndex = 0;
  startIndex = startIndex + 1; /* motion speed */

  switch (ledMode) 

//FastLED has a bunch of built-in "palettes" to choose from:
//RainbowColors_p 		is all the colors of the rainbow
//PartyColors_p			is all the colors of the rainbow minus greens
//RainbowStripeColors_p	is all the colors of the rainbow divided into stripes
//HeatColors_p			is reds and yellows, white, and black
//LavaColors_p			is more reds and orangey colors
//ForestColors_p		is greens and yellows
//OceanColors_p			is lots of blues and aqua colors
//CloudColors_p			is blues and white

//The group of colors in a palette are sent through a strip of LEDS in speed and step increments youve chosen
//You can change the SPEED and STEPS to make things look exactly how you want
//SPEED refers to how fast the colors move.  Higher numbers = faster motion
//STEPS refers to how wide the bands of color are.  1 = more like a gradient, 10 = more like stripes

  case 0:
  currentPalette = RainbowColors_p;	SPEED = 100; STEPS = 10;
  break;
  
  case 1: 
  currentPalette = MyColors_p;  		SPEED = 50; STEPS = 9;	
  break;
 
  case 2:
  currentPalette = ForestColors_p;    	SPEED = 40; STEPS = 8;
  break;

  case 3:
  currentPalette = PartyColors_p;		SPEED = 30; STEPS = 7;
  break;

  case 4:
  currentPalette = OceanColors_p;  	SPEED = 20; STEPS = 6;
  break; 

  case 5:
  currentPalette = LavaColors_p;		SPEED = 10; STEPS = 5;
  break;
   

  FillLEDsFromPaletteColors( startIndex);
  FastLED.show();
  FastLED.delay(1000 / SPEED);  


void FillLEDsFromPaletteColors( uint8_t colorIndex) 
  for( int i = 0; i < NUM_LEDS; i++) 
    leds[i] = ColorFromPalette( currentPalette, colorIndex, BRIGHTNESS, currentBlending);
    colorIndex += STEPS;              
  


//if you change the number of modes, you must update 
//the number "5" within this section:
void shortKeyPress() 
  ledMode++;
  if (ledMode > 5) 
    ledMode=0; 
    

نکات مهم

  • اگر بعد از فشار دادن دکمه ریست برد وارد حالت بوت لودر نشد، برد Trinket را از کامپیوتر جدا کنید و دوباره وصل کنید.
  • هرچیزی که در خطوط بعد از دو خط مورب (//) نوشته شده، یک کامنت است. می‌توانید چیزی مثل “//blah, blah, blah” بنویسید و هیچ اشکالی هم پیش نمی‌آید. کامنت‌های چندخطی هم بین خط مورب و ستاره (/* و */) قرار گرفته اند. اگر کدها را در پلتفرم Codebender ببینید، تمام کامنت‌ها سبز نمایش داده خواهند شد (در بالا هم کامنت‌ها به رنگ نارنجی نمایش داده می‌شوند). خط فاصله و خطوط خالی هم مشکلی ایجاد نمی‌کنند. پس کدها را طوری که نیاز دارید، جدا کنید.
  • دقت کنید که برد و پورت درست را در نرم افزار انتخاب کنید.
  • همیشه قبل از زدن گزینه upload، کدها را verify کنید. اگر کدها برای ظرفیت برد Trinket بزرگ باشند، نرم افزار به شما اطلاع می‌دهد و شما باید با حذف یکی از حالت‌ها اندازه کدها را کوچک تر کنید.
  • اگر تعداد LEDهای شال گردن بیشتر از ۵۰ تاست، باید در خط دهم تعداد را تصحیح کنید.
  • در خط بیستم می‌توانید برای تغییر ظاهر LEDها از حالت RGB یا GRB استفاده کنید.
  • در ۳۵ تا ۵۰ هم می‌توانید ترکیب رنگ‌های شال گردن چشمک زن را انتخاب کنید. به این لینک بروید و رنگ‌های دلخواه تان را پیدا کنید. می‌توانید هر کدام از ۱۶ رنگ را انتخاب کنید. فقط حواستان باشد بجای نوشتن golden rod باید بنویسید GoldenRod. یعنی حرف اول را بزرگ بنویسید و فاصله را حذف کنید. همچنین حواستان به کامای آخر هر خط هم باشد.
  • خط ۸۵ تا ۱۲۳ مربوط به کتابخانه FastLED است که تعدادی “palettes” توکار دارد که می‌توانید از بین آنها انتخاب کنید. دسته رنگ‌های هر پالت طبق مراحل و سرعتی که انتخاب کرده اید به نوار LED فرستاده می‌شود. با تغییر SPEED و STEPS می‌توانید ظاهر شال گردن چشمک زن را مطابق دلخواه تان تغییر بدهید. SPEED سرعت حرکت رنگ‌ها را مشخص می‌کند (عدد بزرگتر، حرکت سریعتر). STEPS عرض باند رنگ را مشخص می‌کند.
  • خط ۱۳۷ تا ۱۴۴؛ اگر تعداد حالت‌ها را تغییر داده اید، باید عدد ۵ را در خط ۱۴۱ مطابق تعداد جدید اصلاح کنید.

گام سوم: شال گردن را بدوزید

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

پارچه شال گردن را طوری روی میز پهن کنید که طرف پشمی‌رو به بالا باشد. زیپ را روی لبه پارچه و با فاصله ۷ تا ۱۰ سانتیمتر از سر پارچه بگذارید (طوری که سر زیپ رو به پایین باشد). به این ترتیب آویز زیپ رو به پارچه خواهد بود. جهت کشیده شدن زیپ را هم رو به بالا و هم رو به پایین قابل تنظیم است. اما مهم این است که زیپ را طوری تنظیم کنید که وقتی بسته است به قسمت بزرگ تر پارچه نزدیک باشد.

  1. بعد از تنظیم جای زیپ، آن را با سنجاق ثابت کنید. همچنین می‌توانید لبه‌های زیپ را با پارچه تراز کنید.
  2. زیپ را با چرخ خیاطی سرجایش بدوزید. می‌توانید از پایه مخصوص دوخت زیپ یا پایه‌های معمولی استفاده کنید. حتماً دو سر دوخت زیپ را بست بزنید.
  3. دوباره پارچه را از پشت روی میز پهن کنید. لبه دیگر زیپ را به لبه دیگر پارچه وصل کنید، جایش را تنظیم کنید، با سنجاق ثابتش کنید و آن را با چرخ بدوزید.
  4. زیپ را باز کنید. شال را از طول و از وسط تا بزنید. لبه‌هایش را بهم کوک بزنید تا بهم وصل بشوند.
  5. بعد از دوخت لبه‌های پارچه احتمالاً چند قسمت دور زیپ باز می‌مانند که باید آنها را بهم وصل و مرتب کنید.

در نهایت هم شال گردن را برگردانید و آن را کنار بگذارید.

گام چهارم: قطعات الکترونیکی را سیم کشی کنید

در این مرحله برد Trinket را به نوار نئوپیکسل و پک باتری وصل کنید و دکمه‌ها را کار بگذارید. اگر پک باتری تان کانکتور JST دارد، می‌توانید کانکتور ماده را به برد Trinket لحیم کنید.

وقتی می‌خواهید سیم‌ها را به برد Trinket لحیم کنید، قسمت بیشتری از عایق سیم را باز کنید. سپس سیم را بین انگشت‌هایتان تاب بدهید تا بهتر روی برد قرار بگیرد. سپس سیم را با گیره سرجایش روی برد ثابت کنید و لحیم کاری را شروع کنید.

ما آموزش را با این فرض نوشتیم که هیچ سیمی‌را به نئوپیکسل وصل نیست. اگر نئوپیکسل ۵ متری خریده باشید، احتمالاً به دو سرش سیم و کانکتور وصل است. در این صورت کانکتورها را ببرید و بگذارید سیم‌ها متصل باقی بمانند.

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

ورودی دیتا را همیشه به آن طرف پیکسل‌ها وصل کنید که برچسب IN یا یک فلش به سمت سایر پیکسل‌ها دارد.

با در نظر گرفتن تمام نکاتی که در بالا گفتیم، اتصالات قطعات الکترونیکی را به شکل زیر ایجاد کنید:

  1. دوتا از پایه‌های دکمه را ببرید و پایه‌های باقیمانده را صاف کنید.
  2. نئوپیکسل ۵ ولتی را به برد Trinket 5 ولتی وصل کنید.
  3. سیم قرمز (+) پک باتری را به Trinket وصل کنید.
  4. GND نئوپیکسل را به GND برد Trinket وصل کنید.
  5. سیم مشکی (-) پک باتری را به GND برد Trinket وصل کنید.
  6. لبه دکمه را به GND برد Trinket وصل کنید.
  7. دیتای نئوپیکسل را به پین #۱ Trinket وصل کنید.
  8. لبه دیگر دکمه را به پین #۳ Trinket وصل کنید.

بعد از اینکه سیم کشی را کامل کردید، تمام اتصالات را یکبار چک کنید. چند باتری داخل پک باتری بگذارید و سوئیچ را روشن کنید. سیم‌های اضافی و باز مدار را با چسب حرارتی یا چسب E6000 ببندید. می‌توانید دکمه و پک باتری را به برد Trinket وصل کنید تا اتصالات کوتاه تر بشوند.

اگر از چسب E6000 استفاده می‌کنید باید ۲۴ ساعت صبر کنید و سپس مدار را داخل شال گردن قرار بدهید.

با مشاهده هر مشکل و اخلالی در مدار، سریع آن را خاموش کنید و یکبار تمام اتصالات را چک کنید.

گام پنجم: قطعات الکترونیکی را داخل شال گردن قرار بدهید

شال گردن را مونتاژ کنید
شال گردن را مونتاژ کنید

بعد از اینکه مدار را ساختید، برد Trinket را برنامه ریزی کردید و شال گردن را دوختید، می‌توانید مدار را داخل شال قرار بدهید و دوختش را کامل کنید.

ابتدا لایی را دور شال بپیچید و هر ۱۰ سانتیمتر کمی‌چسب حرارتی به آن بزنید تا لایی روی LEDها ثابت بشود. سپس قسمت‌های باز شال را کوک بزنید. قطعات الکترونیکی را از طریق زیپ داخل شل گردن قرار بدهید و نوار LED را در طول شال پخش کنید.وقتی همه چیز آماده شد، مدار را روشن کنید و از زیبایی شال گردن چشمک زن لذت ببرید. وقتی LEDها قرمز بشوند و دیگر چشمک نزنند، وقت عوض کردن باتری‌هاست.

منبع

نوشته شال گردن چشمک زن؛ یک پروژه جالب با برد Trinket و LED - #کاردستی #علمی #خبر


[ad_2]
لینک منبع
بازنشر: مفیدستان


ادامه مطلب ...