基于stm32搞怪的盒子設計
前言:
最近我看到一個極具創意的搞怪盒子,設計得相當有意思。作為一個熱衷于電子DIY的狂熱愛好者,怎能錯過這樣一個有趣的項目呢?于是,我決定親自動手,設計一個屬于自己的、獨一無二的搞怪盒子。下面是我設計的詳細過程和思路,希望能夠為你帶來一些啟發。
動手DIY一個搞怪盒子不僅能滿足我的創作欲望,還能在家中增添一抹樂趣。每當看到家人或朋友因為它的搞怪動作而哈哈大笑,我就感到無比的滿足和成就感。如果你也對電子DIY感興趣,不妨動手試試,說不定你會發現更多有趣的創意呢!
一、設計目的:
以上設計目的是創造一個能夠吸引人們注意并帶來樂趣的互動設備,通過集成多種傳感器和輸出設備,如舵機、OLED屏幕和撥動開關,實現多種搞怪效果。設計中包含了六種不同的搞怪模式,每種模式都有獨特的機械動作和屏幕顯示,為大家提供多樣化的娛樂體驗。此外,設備還具備休眠功能,以節省能源,同時設計時也考慮了設備的穩定性和耐用性,確保長期可靠運行。整體設計旨在通過互動性和趣味性,為用戶帶來輕松愉快的體驗。
?
二、實現功能:
這個基于STM32的搞怪盒子設計通過使用STM32F103C6T6微控制器、MG995舵機、0.96英寸OLED屏幕、撥動開關等組件,實現了多種有趣的互動功能。主要功能包括:1. 通過舵機控制機械動作,如打開/關閉蓋子、移動物體等,以實現不同的搞怪效果。2. 利用OLED屏幕顯示文字、圖像或動畫,增加互動性和視覺效果。3. 通過撥動開關控制設備的電源或切換不同的搞怪模式。4. 設計了六種不同的搞怪模式(type_1到type_6),每種模式都有獨特的動作和屏幕顯示,如直接開、快開、挨打、偷看、調戲和快速開關等,為用戶帶來多樣化的娛樂體驗。此外,設備還具備休眠功能,通過OLED_OFF()和OLED_ON()函數實現屏幕的開關,以節省能源。整體設計注重互動性和趣味性,同時考慮了設備的穩定性和耐用性。
?
2.1 機械動作控制:
利用MG995舵機來控制盒子的機械動作,例如打開和關閉蓋子,或者移動盒子內部的物體。通過編寫代碼,我們可以讓這些動作變得更加生動和搞怪,讓人捧腹大笑。
2.2 顯示界面:
使用0.96英寸OLED屏幕顯示文字、圖像或動畫。屏幕的內容可以與機械動作相呼應,比如打開蓋子時顯示“Surprise!”的文字,或者做出一些搞怪的表情。
2.3 電源和模式控制:
通過撥動開關,不僅可以控制整個設備的電源,還能在不同的搞怪模式之間切換。每種模式都有其獨特的魅力和互動效果。
2.4 多種搞怪模式:
我設計了六種不同的搞怪模式(type_1到type_6),每種模式都有獨特的動作和屏幕顯示。例如:
type_1(直接開):舵機直接打開蓋子,屏幕顯示“Hello!”。
type_2(快開):舵機快速打開蓋子,屏幕顯示快速變化的動畫。
type_3(挨打):模擬被打擊的動作,屏幕顯示“別打我!”。
type_4(偷看):蓋子緩慢打開一點,屏幕顯示“偷看中…”。
type_5(調戲):蓋子反復開關,屏幕顯示“調戲模式啟動!”。
type_6(快速開關):蓋子快速多次開關,屏幕顯示“快開快關!”。
2.5 節能休眠功能:
考慮到節能環保,我還加入了休眠功能。通過OLED_OFF()和OLED_ON()函數,實現屏幕的開關功能。當盒子不使用時,屏幕會自動關閉,進入休眠狀態,減少能源消耗。
?
整個設計過程中,我非常注重互動性和趣味性,力求每個細節都能給用戶帶來愉快的體驗。同時,也考慮到了設備的穩定性和耐用性,確保在長期使用中依然能保持良好的性能。?
三、項目概述
這個搞怪盒子的核心在于STM32F103C6T6微控制器,它是整個項目的“大腦”。除此之外,還需要一些關鍵組件:MG995舵機、0.96英寸OLED屏幕、撥動開關等。通過這些組件的組合,我們可以實現多種有趣的互動功能。
3.1 MG995舵機(2個):
每個12元,共24元。
這些舵機是機械動作的核心,它們能夠精確控制盒子的開合和內部物體的移動。通過編程,我們可以讓它們執行各種搞怪動作,如快速開關、緩慢移動等,為盒子增添生動的互動性。
3.2 0.96英寸OLED屏幕:
10元。
這款小巧的OLED屏幕是展示搞怪內容的關鍵。它能夠顯示文字、圖像和簡單的動畫,與舵機的動作同步,為用戶帶來視覺上的驚喜和樂趣。屏幕雖小,但足以傳達豐富的信息和表情。
3.3 撥動開關:
5元。
這個簡單的撥動開關不僅控制電源,還允許用戶在不同的搞怪模式之間輕松切換。它的存在使得操作更加直觀和便捷,讓用戶能夠隨時選擇自己喜歡的互動方式。
3.4 C6T6核心板:
6元。
作為整個項目的大腦,STM32F103C6T6核心板負責處理所有的邏輯和控制任務。盡管價格親民,但它提供了足夠的性能和靈活性,確保盒子能夠穩定運行并實現各種創意功能。
3.5 3D打印:
180元。
3D打印部分是盒子的外殼和結構支撐。通過定制設計,我們可以打造出獨一無二的外觀和內部布局,使盒子不僅實用,還具有個性化的外觀。雖然這部分成本較高,但它為整個項目增添了獨特的質感和視覺吸引力。
部件 | 數量 | 單價(元) | 總價(元) |
---|---|---|---|
MG995舵機 | 2 | 12 | 24 |
0.96 OLED屏幕 | 1 | 10 | 10 |
撥動開關 | 1 | 5 | 5 |
C6T6核心板 | 1 | 6 | 6 |
3D打印 | 1 | 180 | 180 |
總計 | 235 |
?盡管這些硬件看似簡單,但正是它們的巧妙組合和應用,使得這個搞怪盒子充滿了趣味和創意。通過合理的設計和編程,我們能夠將這些基礎組件轉化為一個充滿互動性和娛樂性的設備,為用戶帶來無盡的歡樂。這種“以簡馭繁”的設計理念,正是電子DIY的魅力所在。
這個搞怪盒子的硬件配置并不復雜,沒有使用特別高端或昂貴的材料,但這正是其魅力所在。通過巧妙地組合和利用這些基礎組件,我們能夠創造出意想不到的互動效果和樂趣。
四、電路接線設計
括電源、控制信號和數據傳輸線路的連接方式。這些接線設計確保了STM32F103C6T6微控制器與各個外設(如MG995舵機、OLED屏幕、撥動開關等)之間的正確通信和功能實現。
4.1?電源輸入:
????????使用外部5V電源適配器,通過電源插座連接到電路板上。
????????電源正極(VCC)連接到電路板的5V引腳。
????????電源負極(GND)連接到電路板的GND引腳。
4.2??舵機電源:
????????兩個MG995舵機的電源線(紅色線)連接到電路板的5V引腳。
????????兩個MG995舵機的地線(棕色線)連接到電路板的GND引腳。
4.3??控制信號接線
????????舵機控制信號:
????????第一個MG995舵機的信號線(橙色線)連接到STM32F103C6T6的TIM1_CH1(PA8)引腳
????????第二個MG995舵機的信號線(橙色線)連接到STM32F103C6T6的TIM1_CH2(PA9)引腳。
4.4 撥動開關:
????????撥動開關的一端連接到STM32F103C6T6的GPIO引腳(例如PA0)。
????????撥動開關的另一端連接到電路板的GND引腳。
????????在GPIO引腳和GND之間連接一個10kΩ的上拉電阻,確保在開關斷開時GPIO引腳為高電平。
4.5 數據傳輸接線:
????????OLED屏幕:
????????OLED屏幕的VCC引腳連接到電路板的5V引腳。
????????OLED屏幕的GND引腳連接到電路板的GND引腳。
????????OLED屏幕的SCL引腳連接到STM32F103C6T6的I2C1_SCL(PB6)引腳。
????????OLED屏幕的SDA引腳連接到STM32F103C6T6的I2C1_SDA(PB7)引腳。
4.6?其他接線
????????LED指示燈:
????????LED的正極連接到STM32F103C6T6的GPIO引腳(例如PA1)。
????????LED的負極通過一個220Ω的限流電阻連接到電路板的GND引腳。
4.7 按鍵:
????????按鍵的一端連接到STM32F103C6T6的GPIO引腳(例如PA2)。
????????按鍵的另一端連接到電路板的GND引腳。
????????在GPIO引腳和GND之間連接一個10kΩ的上拉電阻,確保在按鍵未按下時GPIO引腳為高電平。
在實際布線和焊接過程中,為了確保STM32F103C6T6微控制器與各個外設之間的穩定連接和高效通信,我們應當采取一系列細致的措施。首先,所有連接點都應進行牢固的焊接,確保電氣接觸良好,避免因接觸不良導致的信號丟失或不穩定。其次,為了避免短路和虛焊現象,我們應當在焊接前仔細檢查電路設計圖,確保每個元件的引腳都正確無誤地連接到相應的電路節點上。
考慮到長期使用的穩定性和可靠性,設計并制作一塊定制的PCB(Printed Circuit Board,印刷電路板)是一個極佳的選擇。PCB不僅能夠提供更加整潔和緊湊的電路布局,還能夠通過其精密的制造工藝,確保每個連接點的穩定性和耐久性。在PCB設計過程中,我們應當充分考慮信號的完整性和抗干擾能力,合理規劃電源和地線的布局,以及信號線的走線方式,從而最大限度地減少電磁干擾和信號衰減。
在PCB的制作過程中,選擇高質量的材料和先進的制造工藝也是至關重要的。例如,使用FR-4等級的玻璃纖維增強環氧樹脂板作為基材,能夠提供良好的機械強度和電氣絕緣性能。同時,采用精細的銅箔走線和精確的孔位加工,可以確保每個元件的引腳都能夠準確無誤地插入到PCB的焊盤上,從而實現穩固的電氣連接。
通過精心設計的接線方案和高質量的PCB制作,我們不僅能夠確保STM32F103C6T6微控制器與各個外設之間的正確連接和通信,還能夠提升整個系統的穩定性和可靠性,為后續的功能實現和性能優化奠定堅實的基礎。
五、軟件設計
5.1?初始化階段:
????????初始化延時函數 `DelayInit()`。
????????配置I2C接口 `I2C_Configuration()`。
????????初始化OLED屏幕 `OLED_Init()`。
????????配置LED GPIO `LED_GPIO_Config()`。
????????初始化PWM定時器 `TIM1_PWM_Init(199, 7199)`,設置PWM周期為20ms。
????????配置按鍵 `KEY_Config()`。
????????點亮LED `LED(ON)`。
5.2 主循環:
????????關閉OLED屏幕 `OLED_OFF()`。
????????點亮LED `LED(ON)`。
????????設置等待標志 `wait=1`。
????????延時1500ms `SysTick_Delay_Ms(1500)`。
????????檢查等待標志 `if(wait==0)`。
????????打開OLED屏幕 `OLED_ON()`。
????????根據變量 `a` 選擇不同的動作類型 `switch(a)`。
????????執行相應的動作函數 `type_1()` 到 `type_6()`
????????重置等待標志 `wait=1`。
????????關閉OLED屏幕 `OLED_OFF()`。
????????遞增變量 `a`,并在達到7時重置為1。
5.3??動作類型函數設計
(1). 設置舵機角度:通過 `TIM_SetCompare1(TIM1, value)` 和 `TIM_SetCompare2(TIM1, value)` 設置舵機的PWM占空比,從而控制舵機的角度。
(2). 顯示OLED圖像:通過 `OLED_DrawBMP(0, 0, 128, 8, (unsigned char *)BMPx)` 在OLED屏幕上顯示相應的位圖。
(3). 延時:通過 `SysTick_Delay_Ms(duration)` 進行延時,控制動作的持續時間。
5.4?具體動作類型函數
(1). type_1() - 直接開:
????????設置舵機角度并顯示OLED圖像。
????????通過一系列的延時和角度調整,模擬舵機的運動。
(2). type_2() - 快開:
????????設置舵機角度并顯示OLED圖像。
????????通過較短的延時和快速的角度調整,模擬快速運動。
(3). type_3() - 挨打:
????????設置舵機角度并顯示OLED圖像。
????????通過多次快速的角度調整和圖像切換,模擬被打擊的效果。
(4). type_4() - 偷看:
????????設置舵機角度并顯示OLED圖像。
????????通過較長的延時和緩慢的角度調整,模擬偷看的行為。
(5). type_5() - 調戲:
????????設置舵機角度并顯示OLED圖像。
????????通過多次快速的角度調整和圖像切換,模擬調戲的行為。
(6). type_6() - 其他動作:
????????設置舵機角度并顯示OLED圖像。
????????通過一系列的延時和角度調整,模擬其他特定的動作。
5.5 main函數代碼實現:
#include "stm32f10x.h"
#include "bsp_led.h"
#include "bsp_SysTick.h"
#include "bsp_pwm.h"
#include "bsp_key.h"
#include "OLED_I2C.h"
#include "delay.h"void type_1(void);
void type_2(void);
void type_3(void);
void type_4(void);
void type_5(void);
void type_6(void);extern const unsigned char BMP1[];
extern const unsigned char BMP2[];
extern const unsigned char BMP3[];
extern const unsigned char BMP4[];
extern const unsigned char BMP5[];
extern unsigned char wait;int main(void)
{ unsigned char a=0; DelayInit();I2C_Configuration();OLED_Init();LED_GPIO_Config();TIM1_PWM_Init(199,7199);//(7200*200)/72000000=0.02=20msKEY_Config();LED(ON);while(1){ OLED_OFF();//測試OLED休眠LED(ON);wait=1;SysTick_Delay_Ms(1500);if(wait==0){OLED_ON();switch(a){case 1:type_1();break;case 2:type_2();break;case 3:type_3();break;case 4:type_4();break;case 5:type_5();break;case 6:type_6();break;}wait=1;OLED_OFF();a++;if(a==7){a=1;}}}}//直接開
void type_1(void)
{TIM_SetCompare1(TIM1,184); //45度,1msOLED_DrawBMP(0,0,128,8,(unsigned char *)BMP3);//測試BMP位圖顯示SysTick_Delay_Ms(1500);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(1000);TIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(200);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(800);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(1000); TIM_SetCompare1(TIM1,177); //90,1.5msTIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(2000);
}//快開
void type_2(void)
{OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP5);//測試BMP位圖顯示TIM_SetCompare1(TIM1,183); //45度,1msTIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(1000);TIM_SetCompare2(TIM1,174);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(500); TIM_SetCompare1(TIM1,177); //90,1.5msSysTick_Delay_Ms(2000);
}//挨打void type_3(void)
{TIM_SetCompare1(TIM1,184); //45度,1msOLED_DrawBMP(0,0,128,8,(unsigned char *)BMP3);//測試BMP位圖顯示SysTick_Delay_Ms(700);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(700);TIM_SetCompare1(TIM1,184);SysTick_Delay_Ms(200);TIM_SetCompare1(TIM1,182);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//測試BMP位圖顯示SysTick_Delay_Ms(170);TIM_SetCompare1(TIM1,184);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP5);//測試BMP位圖顯示SysTick_Delay_Ms(200);TIM_SetCompare1(TIM1,182);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//測試BMP位圖顯示SysTick_Delay_Ms(170);TIM_SetCompare1(TIM1,184);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);//測試BMP位圖顯示SysTick_Delay_Ms(200);TIM_SetCompare1(TIM1,182);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//測試BMP位圖顯示SysTick_Delay_Ms(170);TIM_SetCompare1(TIM1,184);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);//測試BMP位圖顯示SysTick_Delay_Ms(200);TIM_SetCompare1(TIM1,182);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//測試BMP位圖顯示SysTick_Delay_Ms(170);TIM_SetCompare1(TIM1,184);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);//測試BMP位圖顯示SysTick_Delay_Ms(200);TIM_SetCompare1(TIM1,182);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP1);//測試BMP位圖顯示SysTick_Delay_Ms(170);TIM_SetCompare1(TIM1,184);TIM_SetCompare2(TIM1,186);SysTick_Delay_Ms(1500);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP4);//測試BMP位圖顯示TIM_SetCompare2(TIM1,186);TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(600);TIM_SetCompare2(TIM1,186);SysTick_Delay_Ms(500);TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(300);TIM_SetCompare2(TIM1,186);SysTick_Delay_Ms(500);TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(300);TIM_SetCompare2(TIM1,186);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP5);//測試BMP位圖顯示SysTick_Delay_Ms(500);TIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(300);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(600); TIM_SetCompare1(TIM1,177); //90,1.5msSysTick_Delay_Ms(2000);
}//偷看void type_4(void)
{TIM_SetCompare1(TIM1,182); //45度,1msOLED_DrawBMP(0,0,128,8,(unsigned char *)BMP4);//測試BMP位圖顯示SysTick_Delay_Ms(2000);TIM_SetCompare1(TIM1,184);SysTick_Delay_Ms(1000);TIM_SetCompare1(TIM1,179);TIM_SetCompare2(TIM1,176);SysTick_Delay_Ms(1500);TIM_SetCompare1(TIM1,183);TIM_SetCompare2(TIM1,190);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP3);//測試BMP位圖顯示SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(700);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(600);TIM_SetCompare1(TIM1,177); //90,1.5msSysTick_Delay_Ms(5000);
}//調戲
void type_5(void)
{OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP3);//測試BMP位圖顯示TIM_SetCompare1(TIM1,183); //45度,1msSysTick_Delay_Ms(1500);TIM_SetCompare2(TIM1,187);SysTick_Delay_Ms(1500);OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP4);//測試BMP位圖顯示TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(500);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(300);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,190);SysTick_Delay_Ms(100);TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(1300);TIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(400);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(600);TIM_SetCompare1(TIM1,177);SysTick_Delay_Ms(2000);}void type_6(void)
{OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP5);//測試BMP位圖顯示TIM_SetCompare1(TIM1,183); //45度,1msTIM_SetCompare2(TIM1,192);SysTick_Delay_Ms(1000);TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(500); TIM_SetCompare1(TIM1,177); //90,1.5msSysTick_Delay_Ms(2000); TIM_SetCompare1(TIM1,183); //45度,1msTIM_SetCompare2(TIM1,191);SysTick_Delay_Ms(500); TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,189);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,188);SysTick_Delay_Ms(200); TIM_SetCompare2(TIM1,187);SysTick_Delay_Ms(500); TIM_SetCompare2(TIM1,174);SysTick_Delay_Ms(500); TIM_SetCompare1(TIM1,177); //90,1.5msSysTick_Delay_Ms(2000);
}
整個軟件設計的核心是通過PWM控制舵機的角度,結合OLED屏幕的圖像顯示和延時函數,實現一系列預定義的動作。通過主循環中的變量 `a` 來切換不同的動作類型,使得系統能夠循環執行不同的動作序列。每個動作類型函數都精心設計了舵機的運動軌跡和OLED圖像的顯示。
六、3D模型的設計
對于3D模型ice.stl
、觸手.STL
、觸手輔助.stl
、舵機支架x2.STL
、合葉.stl
、盒子.stl
、盒子蓋子.stl
的設計,首先需要明確每個模型的用途和功能,然后根據實際需求選擇合適的3D打印材料,如PLA、ABS、PETG等。對于ice.stl
,確保尺寸符合需求并設計必要的支撐結構;觸手.STL
和觸手輔助.stl
應考慮功能性、靈活性和穩固的連接點;舵機支架x2.STL
需確保兼容性、穩定性和合適的安裝孔;合葉.stl
要考慮承重、活動范圍和耐用性;盒子.stl
和盒子蓋子.stl
則需確保尺寸匹配、密封性和美觀性。此外,所有STL文件應確保格式正確無誤,打印前進行小批量測試以驗證設計的可行性和打印質量。
6.1?ice.stl
在設計ice.stl
時,作為底部零件。根據用途選擇合適的3D打印材料,如PLA、ABS、PETG等,這些材料各有特點,適用于不同的環境和需求。確保模型的尺寸精確,符合實際應用的要求。如果模型包含懸空或復雜的幾何結構,需要設計支撐結構以確保打印過程中的穩定性和最終的打印質量。
6.2 觸手.STL
`觸手.STL`是一個3D模型文件,設計用于實現類似觸手的功能,用于機器人的手臂,在設計`觸手.STL`時,需要考慮其功能性,如移動、抓取或其他特定動作,并確保模型能夠實現這些功能。為了增加觸手的靈活性,可以考慮使用柔性材料或設計可活動的關節,以便于觸手在不同方向和角度上的運動。同時,設計穩固的連接點是關鍵,以確保觸手能夠與其他部件(如舵機支架)牢固連接,從而保證整個系統的穩定性和可靠性。在選擇材料和打印設置時,應考慮到觸手的使用環境和預期壽命,以選擇最合適的3D打印材料和參數。
6.3 觸手輔助.stl
觸手輔助.stl
是一個3D模型文件,作為觸手.STL
的輔助部件,增強觸手的功能性或穩定性。在設計觸手輔助.stl
時,與主觸手模型的兼容性和協同工作能力,包括額外的支撐結構、連接件或功能性組件,以提升觸手的整體性能。例如,如果主觸手需要額外的支撐以防止彎曲或斷裂,輔助部件可以提供這種支持。或者,如果觸手需要執行特定任務,如抓取或旋轉,輔助部件可以包含相應的機械接口或傳感器安裝點。選擇合適的材料和打印參數對于確保輔助部件的耐用性和功能性至關重要,同時也要確保其設計能夠適應主觸手的運動范圍和操作需求。?
6.4 舵機支架x2.STL
舵機支架x2.STL
是一個包含兩個舵機支架的3D模型文件,設計用于固定和支撐兩個舵機,以便它們可以安裝在機器人、模型或其他自動化設備上。確保支架的尺寸和形狀與所使用的舵機型號相匹配,以提供穩固的安裝基礎。支架應具備足夠的強度和剛性,以承受舵機運轉時的扭矩和振動。同時,設計應考慮到易于安裝和拆卸,可能包括螺絲孔、定位銷或其他固定機制。為了確保支架與設備的其他部分協調工作,可能需要進行精確的對齊和調整。選擇合適的3D打印材料和參數對于確保支架的耐用性和可靠性至關重要,同時也要考慮到支架的重量和成本效益。
6.5 合葉.stl
合葉.stl
是一個設計用于3D打印的模型文件,它代表了一個合頁,即兩個物體連接并允許它們之間進行旋轉的機械裝置。在3D建模過程中,這個文件會詳細描繪合頁的各個組成部分,如銷釘、連接臂和安裝座,保證它們協同工作來實現平滑的開合動作。合頁設計需要確保足夠的強度以承受反復運動導致的磨損,并考慮如何通過螺絲或其他方式將其固定在兩個旋轉相連的表面上。此外,設計還應該考慮3D打印過程中材料的選擇和打印方向,以確保合頁的耐久性和功能性
6.6??盒子.stl
盒子.stl
是一個專為3D打印設計的模型文件,制作一個用于容納和保護搞怪機器人的外殼。這個盒子設計考慮了機器人的尺寸、形狀和功能需求,確保其內部空間足以容納所有必要的電子元件和機械結構,同時提供足夠的保護和美觀的外觀。設計中可能包括開口、切口或蓋子,以便于訪問機器人的控制面板、傳感器和其他組件。此外,盒子可能還具備創意的外觀設計,以增強搞怪機器人的趣味性和吸引力。在3D打印時,選擇合適的材料和打印參數對于確保盒子的結構強度和耐用性至關重要,同時也要考慮到打印成本和時間效率。
6.7
盒子蓋子.stl
蓋子.stl
是一個為3D打印定制的模型文件,它設計用于覆蓋和封閉一個盒子或其他容器,以保護內部物品免受外部環境的影響。這個蓋子模型考慮了與盒子的精確匹配,確保緊密貼合以防止灰塵、水分或其他污染物進入。設計中可能包括把手、扣環或磁鐵等固定機制,以便于打開和關閉蓋子。此外,蓋子可能還具有裝飾性元素,以提升整體外觀和用戶體驗。在3D打印過程中,選擇適當的材料和打印設置對于確保蓋子的密封性、耐用性和美觀性至關重要。
詳細資料:基于stm32單片機搞怪盒子設計.zip資源-CSDN文庫
資料詳情?:
code
models??
README.md
?材料清單:
?
?mg995舵機x2 ,12*2元
?
?0.96oled屏幕,10元
?
?撥動開關,5元
?
?c6t6核心板,6元
?
?3d打印,180元
?
?總計,235元
?待優化點:
?
?1.電池供電?
?
?2.板子整合,后面畫個板子集成電路
?
?視頻地址:基于stm32搞怪的盒子設計_嗶哩嗶哩_bilibili
?
?參考資料:https://www.bilibili.com/video/BV18h411d74v