聚豐項(xiàng)目 > 磁懸浮交互式藍(lán)牙音響
在無(wú)線供電模塊申請(qǐng)的過(guò)途中,隨著無(wú)線充電技術(shù)的了解,其能夠擺脫電線的特質(zhì)讓我腦中自然聯(lián)想到了自己正感興趣的磁懸浮技術(shù), 兩者都體現(xiàn)了擺脫束縛的自由感。在此基礎(chǔ)上,考慮到兩者的結(jié)合,為其設(shè)計(jì)了音響的應(yīng)用場(chǎng)景。(本項(xiàng)目采用的是IDT 15W無(wú)線充電開(kāi)發(fā)套件) 字?jǐn)?shù)限制,建議先觀看演示視頻了解項(xiàng)目
kireeee
分享kireeee
團(tuán)隊(duì)成員
王軍 學(xué)生
在無(wú)線供電模塊申請(qǐng)的過(guò)途中,隨著無(wú)線充電技術(shù)的了解,其能夠擺脫電線的特質(zhì)讓我腦中自然聯(lián)想到了自己正感興趣的磁懸浮技術(shù),
兩者都體現(xiàn)了擺脫束縛的自由感。在此基礎(chǔ)上,考慮到兩者的結(jié)合,為其設(shè)計(jì)了音響的應(yīng)用場(chǎng)景,原因如下:
第一點(diǎn),現(xiàn)在音響使用的場(chǎng)合中社交因素占很多比重,對(duì)于追求新潮的年輕一代酷炫的懸浮效果自然吸引眼球,磁懸浮的特點(diǎn)又體現(xiàn)了很強(qiáng)的科技感,對(duì)未來(lái)產(chǎn)品的定位以及發(fā)展都提供了很好的基礎(chǔ)。
第二點(diǎn),結(jié)合藍(lán)牙模塊的使用,使得該作品最大程度上體現(xiàn)了擺脫線纜的特點(diǎn),契合我想表達(dá)的主題。
藍(lán)牙音箱在我們的生活中并不少見(jiàn),但該作品的創(chuàng)新除了實(shí)現(xiàn)了磁懸浮更在于完成了浮子的無(wú)線充電和通過(guò)動(dòng)作浮子完成與音響的交互。
功能設(shè)計(jì)
器件選擇
1.1 支撐結(jié)構(gòu)部分:
1.1.1:3D打印的外殼
1.2 控制部分:
1.2.1:Adruino
主要負(fù)責(zé)燈帶的驅(qū)動(dòng)、adc的接受轉(zhuǎn)換、浮子動(dòng)作的判斷、藍(lán)牙播放歌曲的切換和暫停播放。
1.2.2:藍(lán)牙模塊
負(fù)責(zé)歌曲的接收和播放
1.3 功放揚(yáng)聲部分:
1.3.1:PAM功放板
負(fù)責(zé)將自信號(hào)源的微弱電信號(hào)進(jìn)行放大以驅(qū)動(dòng)揚(yáng)聲器發(fā)出聲音。
1.3.2:5w揚(yáng)聲器
把電信號(hào)轉(zhuǎn)變?yōu)槁曅盘?hào)。
1.4 燈光部分:
1.4.1: RGB燈帶
通過(guò)串口可以自由進(jìn)行RGB發(fā)光,完成動(dòng)態(tài)效果。
1.5 傳感器及各補(bǔ)充原件:
1.5.1霍爾傳感器
負(fù)責(zé)獲得浮子的位置,將浮子的磁場(chǎng)轉(zhuǎn)化為電壓值送給控制部分。
1.5.2電壓比較器
設(shè)定好閾值以實(shí)現(xiàn)按壓后將分流出的霍爾傳感器的電壓二分為高低電平已完成對(duì)單片機(jī)中斷的產(chǎn)生
1.5.3濾波電容
由獨(dú)石電容、瓷片電容組成負(fù)責(zé)過(guò)濾信號(hào)中的干擾,防止特別是藍(lán)牙模塊對(duì)功放的干擾。
1.5.4 穩(wěn)壓二極管
防止下級(jí)電路對(duì)霍爾傳感器造成影響
1.6電源以及無(wú)線充電部分:
1.6.1 IDT 15WQi合規(guī)型發(fā)送器原型套件 (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庫(kù)文件
int delayval = 500; //設(shè)置延遲時(shí)間
int pinInterrupt = 3; //為升級(jí)使用中斷預(yù)留
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); //電平變化進(jìn)入中斷
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");//輸出電壓值以及觸發(fā)條件 調(diào)試時(shí)使用
colorWipe(strip.Color(0, 255, 0), 1);
while(m)
{
colorWipe(strip.Color(0, 255, 0), 1);
//等待中斷
}
}
// 0以下是rgb一級(jí)串口重定向調(diào)試實(shí)現(xiàn)必要函數(shù)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) {//轉(zhuǎn)輪式彩虹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: 這個(gè)磁懸浮音箱在哪買的?表示很喜歡
回復(fù)
kireeee: hhh,等再完善完善就某寶上架
回復(fù)
757920300: 您好,我有磁懸浮項(xiàng)目,想和您合作,請(qǐng)加qq757920300,謝謝
回復(fù)
禾木創(chuàng)客: 您好,我是做3D打印的,我對(duì)您的項(xiàng)目很感興趣,想深入了解,我的QQ是1351294355,希望一起交流討論,謝謝!
回復(fù)
Dgh丶: 你好,請(qǐng)問(wèn)藍(lán)牙模塊用的是什么呢?
回復(fù)