0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機(jī)的LED燈光立方設(shè)計(jì)

王子變青蛙_35400519 ? 來源:王子變青蛙_35400519 ? 作者:王子變青蛙_35400 ? 2022-06-12 08:52 ? 次閱讀

一、前言

光立方顧名思義就是會發(fā)光的立方體,光立方的基本原理是利用人眼的暫留效應(yīng),利用單片機(jī)控制LED燈快速的閃爍,顯示出一個完整的圖案。光立方原理相對簡單只是制作過程較為耗時(shí)。

二、OLED模塊介紹

1、介紹

本設(shè)計(jì)的光立方采用的是循環(huán)點(diǎn)亮的方法,通過循環(huán)將LED燈層層點(diǎn)亮,從而達(dá)到想要的效果。這個和數(shù)碼管的動態(tài)掃描一個道理,當(dāng)點(diǎn)亮第一層時(shí)對應(yīng)一個圖形,第二層對應(yīng)一個圖形,當(dāng)掃描速度加快時(shí),看上去就成為一個圖形了。

2、驅(qū)動

本設(shè)計(jì)由于光立方小所以使用9013 NPN三極管進(jìn)行驅(qū)動,目的是為LED燈提供足夠大的電壓電流,NPN三極管作為驅(qū)動電路使用時(shí),在基極需串聯(lián)電阻以保護(hù)三極管不被燒壞。三極管集電極與發(fā)射極一端接LED燈的負(fù)極一端接GND。

三、硬件連接

1、實(shí)物圖

正面

poYBAGKkkfuAQEayAASpp7ci75k011.png

側(cè)面

poYBAGKkkhGANbLSAAQ967a1hGY333.png

背面

pYYBAGKkkhyAWmqDAAQeGHCoeGA230.png

2、 原理圖

最小單片機(jī)系統(tǒng)

poYBAGKkkiqADMetAACEPOTzlaI864.png

驅(qū)動電路

poYBAGKkkjaAWHvMAABfX67Nj-w407.png

LED燈連接

poYBAGKkkkWAfFO_AAB8Tn0rPIs156.png

P0、P1控制每一層點(diǎn)亮的LED燈,連接控制LED燈三極管的基級。

P24、P25、P26、P27控制點(diǎn)亮的層數(shù),同樣使用三極管進(jìn)行控制。

四、軟件代碼

main主函數(shù)

調(diào)用想要的燈光,可以根據(jù)根據(jù)自己的想法進(jìn)行不同的創(chuàng)意。我是直接調(diào)用方便大家學(xué)習(xí)使用。

void main()
{

  while(1)
  {  
    and1();	
		and2();
		and3();
		and4();
		and5();
		and6();
		and7();
  }
}

BMP.c

存儲不同的燈光效果,程序中我設(shè)計(jì)了九個供大家學(xué)習(xí)。全亮、全滅、平面從最左面到最右面、平面從最下面到最上面、旋轉(zhuǎn)點(diǎn)亮、旋轉(zhuǎn)全亮、平面旋轉(zhuǎn)、波浪、斜面。每個效果的程序結(jié)構(gòu)基本相同。

void end()	 //全滅
void begin()  //全亮
void and1()//平面最左邊到最右邊
void and2()//平面最下面到最上面
void and3()//旋轉(zhuǎn)點(diǎn)亮
void and4()//旋轉(zhuǎn)亮
void and5()//平面旋轉(zhuǎn)
void and6()//波浪
void and7()//斜面1

大致講解:由于使用P0、P1兩個端口,所以使用A、B分別控制,AB的第一行為光立方每一層的第一個狀態(tài),第二行為第二個狀態(tài)。循環(huán)中j為狀態(tài)的個數(shù),根據(jù)實(shí)際情況進(jìn)行改寫,k為每個狀態(tài)的時(shí)長,時(shí)長過短時(shí)影響效果,i為層數(shù)的選擇,不需要更改。

void and6()//波浪
{
	unsigned char code A[2][4]=
    {
      {0x5a,0xa5,0x5a,0xa5},	//狀態(tài)1		
      {0xa5,0x5a,0xa5,0x5a},  	//狀態(tài)2	 	
		};
	unsigned char code B[2][4]=
    {
			{0x5a,0xa5,0x5a,0xa5},//狀態(tài)1
			{0xa5,0x5a,0xa5,0x5a},//狀態(tài)2			
    };
  int i,j,k;
		for(j=0;j<2;j++)
		{
			for(k=0;k<60;k++)
			{
				for(i=0;i<4;i++)
			    {
				     switch(i)	 
		           {
			            case(0):
				            b1=1;b2=0;b3=0;b4=0; break;//顯示第0層
			            case(1):
				            b1=0;b2=1;b3=0;b4=0; break;//顯示第1層
			            case(2):
				            b1=0;b2=0;b3=1;b4=0; break;//顯示第2層
			            case(3):
				            b1=0;b2=0;b3=0;b4=1; break;//顯示第3層
									default:break;
		           }
				     a=A[j][i];
				     b=B[j][i];
				     DelayMs(1);
			    }			
			 }		
		 }
}

delay.c

根據(jù)不同的效果進(jìn)行添加。

#include "delay.h"
/*------------------------------------------------
 uS延時(shí)函數(shù) 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延時(shí)函數(shù)
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延時(shí)1mS
     DelayUs2x(245);
	 DelayUs2x(245);
 }
}

五、效果展示

視頻演示 https://live.csdn.net/v/215727

六、代碼鏈接

關(guān)注公眾號“小小創(chuàng)客者”回復(fù)“4*4光立方”獲得代碼,如有錯誤歡迎指正。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 三極管
    +關(guān)注

    關(guān)注

    142

    文章

    3611

    瀏覽量

    121923
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635217
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1592

    瀏覽量

    107997
  • 光立方
    +關(guān)注

    關(guān)注

    23

    文章

    164

    瀏覽量

    60557
收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)音頻光立方

    單片機(jī)AD轉(zhuǎn)換音頻信號,再進(jìn)行快速傅里葉變換出來的是什么,怎樣點(diǎn)亮4*4*4的LED立方。求解
    發(fā)表于 10-30 01:05

    基于單片機(jī)的光立方設(shè)計(jì)

    這是我做的基于單片機(jī)的光立方設(shè)計(jì)光立方源程序 動畫 頻譜 595 573.zip
    發(fā)表于 07-19 04:38

    LED冰條燈單片機(jī)方案—英銳恩與你打造高端燈光

    深圳英銳恩推出LED冰條燈單片機(jī)—EN8F154,與您共同打造高端燈光視覺效果?;?b class='flag-5'>單片機(jī)EN8F154的節(jié)能LED冰條燈流星雨燈
    發(fā)表于 01-19 11:22

    如何去實(shí)現(xiàn)一種基于單片機(jī)LED燈光立方設(shè)計(jì)呢

    基于單片機(jī)LED燈光立方的硬件部分該如何去設(shè)計(jì)呢?基于單片機(jī)LED
    發(fā)表于 11-12 07:52

    單片機(jī)癡狂者的DIY:LED立方制作

    本內(nèi)容為大家?guī)砹?b class='flag-5'>LED光立方制作的全過程,現(xiàn)在只完成了立方體部分,后期會推出”USB在線編輯”功能的立方體和”觸摸編輯動畫的”立方
    發(fā)表于 08-16 11:23 ?7.1w次閱讀
    <b class='flag-5'>單片機(jī)</b>癡狂者的DIY:<b class='flag-5'>LED</b>光<b class='flag-5'>立方</b>制作

    基于51單片機(jī)的光立方設(shè)計(jì)畢業(yè)設(shè)計(jì)

    很基本的光立方設(shè)計(jì),應(yīng)用最基本的單片機(jī)知識
    發(fā)表于 12-09 15:33 ?15次下載

    cube_led立方程序

    cube:led立方程序,運(yùn)用單片機(jī)開發(fā)
    發(fā)表于 02-19 17:50 ?7次下載

    51單片機(jī)驅(qū)動光立方程序

    51單片機(jī)驅(qū)動8*8光立方,或許有不正確的地方,僅供參考。
    發(fā)表于 03-23 16:07 ?36次下載

    立方設(shè)計(jì)

    基于單片機(jī)的光立方設(shè)計(jì),3D LED
    發(fā)表于 02-28 22:32 ?60次下載

    基于單片機(jī)的光立方設(shè)計(jì)

    基于單片機(jī)的光立方設(shè)計(jì) 目 錄 摘要1 Abstract2 前言3 第1章 緒論4 第1.1節(jié) 開發(fā)背景4 第1.2節(jié) 本文所作的工作4 第2章 系統(tǒng)總體方案設(shè)計(jì)5 第2.1節(jié) 光立方控制原理5 第
    發(fā)表于 11-23 13:35 ?2004次閱讀

    立方的工作原理_基于74hc573的8*8*8光立方LED的控制方式

    立方由若干個二極管led燈以立方體形式搭建,4*4*4、8*8*8、16*16*16甚至更多,又由單片機(jī)、鎖存器、譯碼器等電器元件驅(qū)動,形成立體動畫效果。其中8*8*8光
    發(fā)表于 11-27 14:40 ?3.5w次閱讀

    怎樣不用單片機(jī)做一個led立方

    我也是DIY新手,開始就被大師的led立方著迷了,各位新手一定像我一樣,被單片機(jī)搞到頭痛,。這次,我們不用單片機(jī),不用編程,自制一個4*4*4光
    的頭像 發(fā)表于 09-13 14:14 ?6935次閱讀

    基于51單片機(jī)的8x8x8LED立方設(shè)計(jì)

    1.簡介本設(shè)計(jì)是以STC89C52單片機(jī)的8x8x8的LED立方。本設(shè)計(jì)將LED立方分成8層,分別由
    發(fā)表于 11-11 09:51 ?35次下載
    基于51<b class='flag-5'>單片機(jī)</b>的8x8x8<b class='flag-5'>LED</b>光<b class='flag-5'>立方</b>設(shè)計(jì)

    基于單片機(jī)LED照明系統(tǒng)的設(shè)計(jì)

    本設(shè)計(jì)是基于單片機(jī)LED照明系統(tǒng)的設(shè)計(jì),主要實(shí)現(xiàn)以下功能:可實(shí)現(xiàn)LCD1602顯示光照強(qiáng)度,燈的狀態(tài); 可實(shí)現(xiàn)通過按鍵控制LED的開關(guān); 可實(shí)現(xiàn)通過光照強(qiáng)度控制燈光的亮度; 可實(shí)現(xiàn)通
    發(fā)表于 12-23 19:31 ?17次下載
    基于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>LED</b>照明系統(tǒng)的設(shè)計(jì)

    STM32WB系列STM32立方單片機(jī)封裝示例

    STM32WB系列STM32立方單片機(jī)封裝示例
    發(fā)表于 11-21 08:11 ?0次下載
    STM32WB系列STM32<b class='flag-5'>立方</b><b class='flag-5'>單片機(jī)</b>封裝示例