آردوینو Arduinoمطالب آموزشی

ساخت مکعب LED با آردوینو

FUXO1RWGICYBAOS.LARGE

 

مکعب LED یکی از پروژه های محبوب بین علاقه مندان علم الکترونیک است. با این حال ساخت مکعب های LED بزرگ و طراحی مدار کنترل آنها برای بسیاری از مبتدی ها کار سختی است.

در این پروژه می خواهیم به این دسته از علاقه مندان علم الکترونیک کمک کنیم تا یک مکعب LED بسازند. البته اگر تجربه ساخت مکعب LED ندارید، بهتر است از مکعب های کوچکتر شروع کنید تا با اصول کار آشنا بشوید.

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

 

61Hg5H92tcL

 

برای ساخت این مکعب LED باید با دانش الکترونیک را در سطح پایه داشته باشید، مهارت لحیم کاری را بلد باشید و با برد آردوینو آشنا باشید. کنترلر این مکعب برد آردوینو است و از طریق یک SPI با سه سیم سیگنال مکعب را کنترل میکند.

ویدیوی زیر مکعب را بعد از ساخت و آپلود کدها نشان میدهد :

گام اول : ساخت شابلون مناسب

 

photo 2018 04 10 11 19 47

با ساخت این شابلون ساده می توانید خیلی ساده تر و بهتر LED ها را کنار هم بچینید و بهم وصل کنید. ساخت این شابلون باعث صرفه جویی در وقت تان میشود و ساخت مکعب LED را ساده تر میکند.

این شابلون از پلکسی یا چوب ساخته میشود که رویش یک آرایه هشت در هشت از سوراخ های 3 میلیمتری با فاصله مناسب دریل شده اند. با استفاده از این شابلون می توانید LED ها را با فاصله برابر و با چینش درست کنار هم قرار بدهید.

 

گام دوم : چینش LED ها

                   61Hg5H92tcL 1      photo 2018 04 10 11 30 26

 

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

توصیه نمی کنیم از LED های خیلی روشن و شفاف استفاده کنید چون نور LED های مجاور میتواند پخش نور را ناموزون کند. LED ها را طوری انتخاب نکنید که نور یکی از آنها باعث درخشش بیشتر LED های اطرافش بشود.

بهترین انتخاب برای این چینش و طراحی، LED های 5 میلیمتری مات هستند که نور خیلی زیادی ندارند.

همانطور که گفتیم برای شکل دادن مکعب فقط از پایه های LED ها استفاده می کنیم و نیازی به سیم های اضافی نداریم. مهمترین مزیت این روش طراحی این است که مکعب از پشت هم زیباست.

طراحی مکعب به این صورت است که LED ها بصورت چند لایه مستطیل هشت در هشت بهم وصل میشوند. به این ترتیب که کاتدها بهم لحیم میشوند و ردیف ها را میسازید و با لحیم کردن آندها به یکدیگر هم ستون های هر لایه را می سازیم. به این ترتیب برای ساخت مکعب LED به هشت لایه مستطیل هشت در هشت نیاز داریم.

 

گام سوم : ساخت هشت لایه LED

Screenshot 6

1- هشت LED بردارید و پایه کاتد آنها را به اندازه ده میلیمتر کوتاه کنید (پایه کاتد یا منفی کوتاه تر از پایه آند یا مثبت است).
2- شابلون  را بردارید و این هشت LED را داخل اولین ستون از سمت چپ آن قرار بدهید (جهت LED ها در تصاویر و ویدیو مشخص است).
3- با همین روش تمام سوراخ های شابلون را با LED پر کنید.
4- پایه های کاتد LED ها را خم کنید.
5- پایه های کاتد LED ها را لحیم کنید.
6- پایه های کاتد LED ها را کوتاه کنید (قسمت اضافی پایه ها را برای مرحله بعد نگه دارید).
7- LED ها را تست کنید.
8- پایه های آند LED ها را خم کنید.
9- پایه های آند LED ها را لحیم کنید.
10- دوباره LED ها را تست کنید.
11- سیم های کاتد را آماده کنید (می توانید از سیم عایق دار استفاده کنید. اندازه سیم ها هم در تصویر مشخص است).
12- سیم های کاتد را لحیم کنید.
13- سیم های کاتد را سفت کنید.
14- آرایه LED هشت در هشت را از شابلون چهار جدا کنید.
15- مراحل یک تا چهارده را هشت بار دیگر تکرار کنید تا هر هشت لایه مکعب LED آماده بشود.

 

گام چهارم : اضافه کردن مدار کنترل الکترونیکی

اگرچه ساخت لایه های مکعب LED وقت زیادی میبرد اما کار سختی نیست. قسمت سخت کار ساخت مدار کنترل مکعب و برطرف کردن اشکال های احتمالی است.

مدار کنترل این مکعب از تعدادی آی سی 74HC595 تشکیل شده که مکعب را کنترل می کنند.

Screenshot 8

 

گام پنجم : شماتیک و نوع سیم کشی

برای دیدن تصویر با کیفیت اصلی لطفا روی متن کلیک کنید.

 

گام ششم : کدهای برنامه

#include <SPI.h>

#define XAXIS 0
#define YAXIS 1
#define ZAXIS 2

#define POS_X 0
#define NEG_X 1
#define POS_Z 2
#define NEG_Z 3
#define POS_Y 4
#define NEG_Y 5

#define BUTTON_PIN 8
#define RED_LED 5
#define GREEN_LED 7

#define TOTAL_EFFECTS 8
#define RAIN 0
#define PLANE_BOING 1
#define SEND_VOXELS 2
#define WOOP_WOOP 3
#define CUBE_JUMP 4
#define GLOW 5
#define TEXT 6
#define LIT 7

#define RAIN_TIME 260
#define PLANE_BOING_TIME 220
#define SEND_VOXELS_TIME 140
#define WOOP_WOOP_TIME 350
#define CUBE_JUMP_TIME 200
#define GLOW_TIME 8
#define TEXT_TIME 300
#define CLOCK_TIME 500

uint8_t characters[10][8] = {
  {0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C}, //0
  {0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x3C}, //1
  {0x3C, 0x42, 0x40, 0x40, 0x3C, 0x02, 0x02, 0x7E}, //2
  {0x3C, 0x40, 0x40, 0x3C, 0x40, 0x40, 0x42, 0x3C}, //3
  {0x22, 0x22, 0x22, 0x22, 0x7E, 0x20, 0x20, 0x20}, //4
  {0x7E, 0x02, 0x02, 0x3E, 0x40, 0x40, 0x42, 0x3C}, //5
  {0x3C, 0x02, 0x02, 0x3E, 0x42, 0x42, 0x42, 0x3C}, //6
  {0x3C, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40}, //7
  {0x3C, 0x42, 0x42, 0x3C, 0x42, 0x42, 0x42, 0x3C}, //8
  {0x3C, 0x42, 0x42, 0x42, 0x3C, 0x40, 0x40, 0x3C}, //9
};

uint8_t cube[8][8];
uint8_t currentEffect;

uint16_t timer;

uint64_t randomTimer;

bool loading;

void setup() {

  loading = true;
  randomTimer = 0;
  currentEffect = RAIN;

  SPI.begin();
  SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));

  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(RED_LED, OUTPUT);
  pinMode(GREEN_LED, OUTPUT);

  randomSeed(analogRead(0));
  digitalWrite(GREEN_LED, HIGH);

}

void loop() {

  randomTimer++;

if (digitalRead(BUTTON_PIN) == LOW) {

برای دیدن کد کامل پروژه لطفا روی متن کلیک کنید.

همچنین می توانید PCB و شماتیک کامل پروژه را از صفحه گیت هاب پروژه دانلود کنید.

لینک پروژه در گیت هاب

 

در آخر منتظر نظرات و پیشنهادات شما هستم چنانچه در مراحل ساخت با مشکلی روبرو شدید حتما در قسمت نظرات مطرح کنید.

نوشته های مشابه

7 دیدگاه

  1. سلام
    مقاومت استفاده شده چه مشخصاتی داره . اصلا راجب مقاومت صحبت نکردید

  2. ببخشید من نمیدانم چطور ال ای دی ها را به هم وصل نکنید لطفا توضیح بدهید توی فیلم هم متوجه نشدم

  3. ببخشید من نمیدانم چطور ال ای دی ها را به هم وصل میکنید لطفا توضیح بدهید توی فیلم هم متوجه نشدم

  4. درود مهندس جان
    من اینو ساختم ولی با آردینو نانو
    میخواستم بپرسم کد بیس این اردینو که شما گذاشتید روی نانو هم رایت میشه یانه
    از آی سی مکس استفاده کردم

  5. با سلام. در مورد دانلود PCB مدار راهنمایی بفرمایید. در صفحه گیت هاب وقتی قسمت مربوط به PCB رو کلیک می کنم ، به جای PCB کدهای برنامه رو نشون میده.ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا