发帖
1 0 0

【电子DIY作品】电子相册

wukong50
论坛元老

19

主题

408

回帖

7520

积分

论坛元老

积分
7520
电子DIY 30 1 昨天 23:58

大家好,此次DIY,我做了一个电子相册

先上一波图片

微信图片_20250524233118.jpg

微信图片_20250524233115.jpg

微信图片_20250524233112.jpg

微信图片_20250524233107.jpg

项目介绍

外壳部分

这次外壳,嗯。。。他就是一个简单外壳

尺寸是我手量画出来的 刚好可以把屏幕放进去,周围还有一个小卡边

模型就不展示了

源码

项目结构

image.png

main.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <FreeRTOS.h>
#include <task.h>
#include "board.h"
#include "log.h"
#include "lv_user_config.h"
#include "ui.h"
#include "lv_port_fs.h"

#define DBG_TAG "MAIN"

int main(void)
{
    board_init();
    if (0 != rfparam_init(0, NULL, 0))
    {
        LOG_E("PHY RF init failed!\r\n");
        return 0;
    }

    lv_init();
    lv_port_disp_init();
    lv_port_indev_init();
    ui_init();
    xTaskCreate(lvgl_tick_task, (char *)"lvgl", 1024 * 10, NULL, 2, NULL);
    vTaskStartScheduler();
}



ui.c

// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.4.1
// LVGL version: 8.3.11
// Project name: SquareLine_Project

#include "ui.h"
#include "ui_helpers.h"

///////////////////// VARIABLES ////////////////////


// SCREEN: ui_Screen1
void ui_Screen1_screen_init(void);
void ui_event_Screen1(lv_event_t * e);
lv_obj_t * ui_Screen1;


// SCREEN: ui_Screen2
void ui_Screen2_screen_init(void);
void ui_event_Screen2(lv_event_t * e);
lv_obj_t * ui_Screen2;


// SCREEN: ui_Screen3
void ui_Screen3_screen_init(void);
void ui_event_Screen3(lv_event_t * e);
lv_obj_t * ui_Screen3;


// SCREEN: ui_Screen4
void ui_Screen4_screen_init(void);
void ui_event_Screen4(lv_event_t * e);
lv_obj_t * ui_Screen4;
lv_obj_t * ui____initial_actions0;
const lv_img_dsc_t * ui_imgset_[4] = {&ui_img_001_png, &ui_img_002_png, &ui_img_003_png, &ui_img_004_png};

///////////////////// TEST LVGL SETTINGS ////////////////////
#if LV_COLOR_DEPTH != 16
    #error "LV_COLOR_DEPTH should be 16bit to match SquareLine Studio's settings"
#endif
#if LV_COLOR_16_SWAP !=0
    #error "LV_COLOR_16_SWAP should be 0 to match SquareLine Studio's settings"
#endif

///////////////////// ANIMATIONS ////////////////////

///////////////////// FUNCTIONS ////////////////////
void ui_event_Screen1(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);
    lv_obj_t * target = lv_event_get_target(e);
    if(event_code == LV_EVENT_CLICKED) {
        _ui_screen_change(&ui_Screen2, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_Screen2_screen_init);
    }
}
void ui_event_Screen2(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);
    lv_obj_t * target = lv_event_get_target(e);
    if(event_code == LV_EVENT_CLICKED) {
        _ui_screen_change(&ui_Screen3, LV_SCR_LOAD_ANIM_MOVE_LEFT, 500, 0, &ui_Screen3_screen_init);
    }
}
void ui_event_Screen3(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);
    lv_obj_t * target = lv_event_get_target(e);
    if(event_code == LV_EVENT_CLICKED) {
        _ui_screen_change(&ui_Screen4, LV_SCR_LOAD_ANIM_OVER_TOP, 500, 0, &ui_Screen4_screen_init);
    }
}
void ui_event_Screen4(lv_event_t * e)
{
    lv_event_code_t event_code = lv_event_get_code(e);
    lv_obj_t * target = lv_event_get_target(e);
    if(event_code == LV_EVENT_CLICKED) {
        _ui_screen_change(&ui_Screen1, LV_SCR_LOAD_ANIM_MOVE_RIGHT, 500, 0, &ui_Screen1_screen_init);
    }
}

///////////////////// SCREENS ////////////////////

void ui_init(void)
{
    lv_disp_t * dispp = lv_disp_get_default();
    lv_theme_t * theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED),
                                               false, LV_FONT_DEFAULT);
    lv_disp_set_theme(dispp, theme);
    ui_Screen1_screen_init();
    ui_Screen2_screen_init();
    ui_Screen3_screen_init();
    ui_Screen4_screen_init();
    ui____initial_actions0 = lv_obj_create(NULL);
    lv_disp_load_scr(ui_Screen1);
}

其他代码 请参考附件

最初设想

最初,我是想这个相册至少实现两个功能

一个,就是目前这样,展示功能

另外一个,借助M61 8M Flash 可以实现上传图片的效果

可是,折腾了很久,一加 web sever 代码老是报错

我暂时先按这个参加活动吧

虽然,我这个项目不算太好。。。

──── 0人觉得很赞 ────

使用道具 举报

5 小时前

源码
上传的附件: R2.zip (1.05 MB, 下载次数: 0)

您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28808 个
  • 话题数: 41160 篇