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

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

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

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

王子變青蛙_35400519 ? 來源:王子變青蛙_35400519 ? 作者:王子變青蛙_35400 ? 2022-06-12 08:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

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

二、OLED模塊介紹

1、介紹

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

2、驅(qū)動

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

三、硬件連接

1、實物圖

正面

poYBAGKkkfuAQEayAASpp7ci75k011.png

側(cè)面

poYBAGKkkhGANbLSAAQ967a1hGY333.png

背面

pYYBAGKkkhyAWmqDAAQeGHCoeGA230.png

2、 原理圖

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

poYBAGKkkiqADMetAACEPOTzlaI864.png

驅(qū)動電路

poYBAGKkkjaAWHvMAABfX67Nj-w407.png

LED燈連接

poYBAGKkkkWAfFO_AAB8Tn0rPIs156.png

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

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

四、軟件代碼

main主函數(shù)

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

void main()
{

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

BMP.c

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

void end()	 //全滅
void begin()  //全亮
void and1()//平面最左邊到最右邊
void and2()//平面最下面到最上面
void and3()//旋轉(zhuǎ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ù)實際情況進行改寫,k為每個狀態(tài)的時長,時長過短時影響效果,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ù)不同的效果進行添加。

#include "delay.h"
/*------------------------------------------------
 uS延時函數(shù) 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延時函數(shù)
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延時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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 三極管
    +關(guān)注

    關(guān)注

    145

    文章

    3656

    瀏覽量

    124442
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44969

    瀏覽量

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

    關(guān)注

    22

    文章

    1596

    瀏覽量

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

    關(guān)注

    23

    文章

    164

    瀏覽量

    61061
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

  • jf_209827261
  • 王子变青蛙_354005191

評論

相關(guān)推薦
熱點推薦

單片機音頻光立方

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

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

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

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

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

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

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

單片機癡狂者的DIY:LED立方制作

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

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

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

cube_led立方程序

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

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

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

立方設(shè)計

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

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

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

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

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

怎樣不用單片機做一個led立方

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

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

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

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

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

STM32WB系列STM32立方單片機封裝示例

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

電子發(fā)燒友

中國電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術(shù)信息
  • 參加活動獲取豐厚的禮品