聚豐項目 > 磁懸浮交互式藍牙音響
在無線供電模塊申請的過途中,隨著無線充電技術的了解,其能夠擺脫電線的特質讓我腦中自然聯想到了自己正感興趣的磁懸浮技術, 兩者都體現了擺脫束縛的自由感。在此基礎上,考慮到兩者的結合,為其設計了音響的應用場景。(本項目采用的是IDT 15W無線充電開發套件) 字數限制,建議先觀看演示視頻了解項目
kireeee
分享kireeee
團隊成員
王軍 學生
在無線供電模塊申請的過途中,隨著無線充電技術的了解,其能夠擺脫電線的特質讓我腦中自然聯想到了自己正感興趣的磁懸浮技術,
兩者都體現了擺脫束縛的自由感。在此基礎上,考慮到兩者的結合,為其設計了音響的應用場景,原因如下:
第一點,現在音響使用的場合中社交因素占很多比重,對于追求新潮的年輕一代酷炫的懸浮效果自然吸引眼球,磁懸浮的特點又體現了很強的科技感,對未來產品的定位以及發展都提供了很好的基礎。
第二點,結合藍牙模塊的使用,使得該作品最大程度上體現了擺脫線纜的特點,契合我想表達的主題。
藍牙音箱在我們的生活中并不少見,但該作品的創新除了實現了磁懸浮更在于完成了浮子的無線充電和通過動作浮子完成與音響的交互。
功能設計
器件選擇
1.1 支撐結構部分:
1.1.1:3D打印的外殼
1.2 控制部分:
1.2.1:Adruino
主要負責燈帶的驅動、adc的接受轉換、浮子動作的判斷、藍牙播放歌曲的切換和暫停播放。
1.2.2:藍牙模塊
負責歌曲的接收和播放
1.3 功放揚聲部分:
1.3.1:PAM功放板
負責將自信號源的微弱電信號進行放大以驅動揚聲器發出聲音。
1.3.2:5w揚聲器
把電信號轉變為聲信號。
1.4 燈光部分:
1.4.1: RGB燈帶
通過串口可以自由進行RGB發光,完成動態效果。
1.5 傳感器及各補充原件:
1.5.1霍爾傳感器
負責獲得浮子的位置,將浮子的磁場轉化為電壓值送給控制部分。
1.5.2電壓比較器
設定好閾值以實現按壓后將分流出的霍爾傳感器的電壓二分為高低電平已完成對單片機中斷的產生
1.5.3濾波電容
由獨石電容、瓷片電容組成負責過濾信號中的干擾,防止特別是藍牙模塊對功放的干擾。
1.5.4 穩壓二極管
防止下級電路對霍爾傳感器造成影響
1.6電源以及無線充電部分:
1.6.1 IDT 15WQi合規型發送器原型套件 (P9242-R-EVK) & 收器原型套件(P9025AC-R-EVK)
1.6.2 電源適配器(12v2A)
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUMPIXELS 16
#define Max 885 //浮子自然位置adc
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);//初始化RGB庫文件
int delayval = 500; //設置延遲時間
int pinInterrupt = 3; //為升級使用中斷預留
int Aver1;//adc采樣 平均
int Aver2;
int Aver3;
int Aver4;
int Aver5;
int Aver6;
int Aver7;
void setup() {
Serial.begin(115200);
printf_begin();
pinMode(A0,INPUT);
pinMode(A5,OUTPUT);
strip.begin();
strip.show();
}
void loop() {
rainbow(6);
//colorWipe(strip.Color(0, 255, 0), 1);
attachInterrupt( digitalPinToInterrupt(pinInterrupt), onChange, CHANGE); //電平變化進入中斷
digitalWrite(A5,HIGH);
Aver1=analogRead(A0);
delay(5);
Aver2=analogRead(A0);
delay(5);
Aver3=analogRead(A0); delay(5);
Aver4=analogRead(A0); delay(5);
Aver5=analogRead(A0); delay(5);
Aver6=analogRead(A0); delay(5);
Aver7=analogRead(A0); delay(5);
int k= ( Aver1+ Aver2+ Aver3+ Aver4+ Aver5+ Aver6+ Aver7)/7;
printf("%d\r\n",k);
int m=1;
if(k<=Max)
{
digitalWrite(A5,LOW); delay(200);digitalWrite(A5,HIGH);
colorWipe(strip.Color(255, 0, 0), 20);
printf("Q");//輸出電壓值以及觸發條件 調試時使用
colorWipe(strip.Color(0, 255, 0), 1);
while(m)
{
colorWipe(strip.Color(0, 255, 0), 1);
//等待中斷
}
}
// 0以下是rgb一級串口重定向調試實現必要函數0000000000000000000000000000
int serial_putc( char c, struct __file * )
{
Serial.write( c );
return c;
}
void printf_begin(void)
{
fdevopen( &serial_putc, 0 );
}
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
void rainbow(uint8_t wait) {//彩虹RGB變化
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}
void rainbowCycle(uint8_t wait) {//轉輪式彩虹RGB變化
uint16_t i, j;
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<10; j++) { //do 10 cycles of chasing
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c); //turn every third pixel on
}
strip.show();
delay(wait);
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}
void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on
}
strip.show();
delay(wait);
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
kingdomhua: 這個磁懸浮音箱在哪買的?表示很喜歡
回復
kireeee: hhh,等再完善完善就某寶上架
回復
757920300: 您好,我有磁懸浮項目,想和您合作,請加qq757920300,謝謝
回復
禾木創客: 您好,我是做3D打印的,我對您的項目很感興趣,想深入了解,我的QQ是1351294355,希望一起交流討論,謝謝!
回復
Dgh丶: 你好,請問藍牙模塊用的是什么呢?
回復