发作品签到
标准版

爱心流水灯

工程标签

219
0
0
0

简介

本工程利用Arduino uno板及软件,在立创Pcb板上实现流水灯效果。

简介:本工程利用Arduino uno板及软件,在立创Pcb板上实现流水灯效果。

开源协议

GPL 3.0

创建时间:2024-09-06 09:48:27更新时间:2024-09-09 07:12:29

描述

一、实验目的
通过使用 Arduino ,利用嘉立创EDA自主设计,实现一个以常熟理工学院建校66周年为主题的创意设计。(使用 0805 贴片 LED 围成心形并结合 OLED 显示学校 66 周年快乐字样)

二、实验器材
1. Arduino 开发板
2. 0805 贴片 LED、电阻若干
3. OLED 显示屏

三、实验原理
利用 Arduino 的编程控制功能,使 LED 按照心形排列点亮,并通过与 OLED 的通信实现特定文字的显示。

四、实验步骤

1. 在 PCB 板上精心布局 0805 贴片 LED,使其大致呈现心形形状。
2. 将 LED 与 Arduino 连接,设置相应的引脚输出。
3. 连接 OLED 显示屏到 Arduino,并编写代码实现文字显示。
4. 编写 Arduino 程序,实现 LED 的心形闪烁效果以及 OLED 的文字显示同步。
代码:
#include

#include "U8glib.h"
#include "clib/u8g.h"

const int LEDCount = 8;
int LEDPins[] ={2,3,4,5,6,7,8,9,};

//接线:四针oled,Vcc-3.3v或5v,GND-GND,SCL-A5,SDA-A4
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

//常
const uint8_t bitmap_chang [] U8G_PROGMEM ={
0x80,0x00,0x88,0x08,0x90,0x04,0xFE,0x7F,0x02,0x40,0xF9,0x2F,0x08,0x08,0xF8,0x0F,
0x80,0x00,0xFC,0x1F,0x84,0x10,0x84,0x10,0x84,0x14,0x84,0x08,0x80,0x00,0x80,0x00,//常0
};

//理
const uint8_t bitmap_li [] U8G_PROGMEM ={
0x00,0x00,0x80,0x3F,0xBF,0x24,0x88,0x24,0x88,0x3F,0x88,0x24,0x88,0x24,0xBE,0x3F,
0x08,0x04,0x08,0x04,0x88,0x3F,0x08,0x04,0x38,0x04,0x07,0x04,0xC2,0x7F,0x00,0x00,//理1,
};

//工
const uint8_t bitmap_gong [] U8G_PROGMEM ={
0x00,0x00,0x00,0x00,0xFE,0x3F,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xFF,0x7F,0x00,0x00,0x00,0x00,//工2,
};

//快
const uint8_t bitmap_kuai [] U8G_PROGMEM ={
0x08,0x02,0x08,0x02,0x08,0x02,0xC8,0x1F,0x18,0x12,0x2A,0x12,0x0A,0x12,0x0A,0x12,
0xE9,0x7F,0x08,0x02,0x08,0x05,0x08,0x05,0x88,0x08,0x88,0x08,0x48,0x10,0x28,0x60,//快3,

};

//乐
const uint8_t bitmap_le [] U8G_PROGMEM ={
0x00,0x04,0x00,0x0F,0xF8,0x00,0x08,0x00,0x88,0x00,0x84,0x00,0x84,0x00,0xFC,0x3F,
0x80,0x00,0x90,0x04,0x90,0x08,0x88,0x10,0x84,0x20,0x82,0x20,0xA0,0x00,0x40,0x00,//乐4,

};

/*参数解释:drawBitmapP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t bitmap)
x:位图左上角的横坐标
y:位图左上角的纵坐标
cnt:在水平方向上的位图的字节数。该位图的宽度是cnt
8(1字节=8位)
h:位图的高
*bitmap:位图对象
*/

void draw(void) {
u8g.setColorIndex(1);
u8g.drawBitmapP ( 0 , 0 , 2 , 16 , bitmap_chang);
u8g.drawBitmapP ( 17 , 0 , 2 , 16 , bitmap_li);
u8g.drawBitmapP ( 34 , 0 , 2 , 16 , bitmap_gong);
u8g.drawBitmapP ( 51 , 0 , 2 , 16 , bitmap_kuai);
u8g.drawBitmapP ( 68 , 0 , 2 , 16 , bitmap_le);
}

void setup() {
for(int thisLED = 2; thisLED <= 9; thisLED++)
{
pinMode(LEDPins[thisLED], OUTPUT);//让2到9号接口输出电频
}
}

void loop() {
for(int num =2;num < 10; num++){
digitalWrite(LEDPins[num],HIGH);
}
for(int num =2;num < 10; num++){
digitalWrite(LEDPins[num],LOW);
delay(500);
digitalWrite(LEDPins[num],HIGH);
}
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
}

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
1LED-0805_R1,2,3,4,5,6,7,8,LED17,LED18LED0805_RED10
21k11,22,33,44,55,66,77,88,R17,R18R080510
30.96OLED_4POLED0.96OLED_4P1
4arduino unoU2ARDUINO-UNO1
5LED-0805_RLED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8,LED9,LED10,LED11,LED12,LED13,LED14,LED15,LED16LED0805_RED16

附件

序号文件名称下载次数
1
8354d7d7613147104ef6fd239a4a8070.mp4
2
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航