系統架構:
手機取得指定粉絲專業的按讚次數之後,將個別位數透過藍牙以 byte array 方式傳送給 Arduino,再讓Arduino去驅動個別的 VFD 數字管。
最近都走有溫度的質感風~ 也慶祝一下 CAVEDU Facebook 粉絲頁有2800讚囉
參考:
[App Inventor] 取得粉絲專頁按讚數 V1.0
[雙A計劃]系列專文

Arduino code 在此,每種 VFD 的 library 不同,要注意喔
Arduino接收藍牙數字後控制 VFD
#include <SoftwareSerial.h>
#include <Wire.h>//引用二個函式庫SoftwareSerial及Wire
SoftwareSerial I2CBT(12,13);TX/RX
#include "VFDTube.h"
#define TUBE_COUNT 4
VFDTube tube(8, 9, 10, 11, TUBE_COUNT);
// DIN on pin #4, OE on pin #5, STCP on pin #6, SHCP on pin #7,
// TUBE_COUNT stands for sections count in serial
// Pin #5 is with PWM output on UNO, so the brightness is adjustable
char cmmd[20];
int insize;
int i;
int s=56;
void setup() {
Serial.begin(9600);
I2CBT.begin(9600); //藍牙鮑率:9600
tube.clear();
tube.setBrightness(0xf0);
}
void loop() {
tube.clear();
//tube.setBackgroundColor((Color) ((s) / 7));
// background color shift in every 7 seconds
while(1){
//讀取藍牙訊息
if ((insize=(I2CBT.available()))>0){
if(I2CBT.read()=='j'){
I2CBT.readBytes(cmmd,4);
for(i=0; i<4; i++){
Serial.print(char(cmmd[i]));//DEC to ASCII
if (s & 0x01)
tube.printf("%01d.%01d.%01d.%01d.", cmmd[0]-48, cmmd[1]-48,cmmd[2]-48,cmmd[3]-48);
else
tube.printf("%01d%01d%01d%01d", cmmd[0]-'0', cmmd[1]-'0', cmmd[2]-'0', cmmd[3]-'0');
tube.display();
}//for
}//if==j
}//if insize
}//while
///////////////藍牙接收///////////////
}//loop
Post Views: 794
請問一下 char cmmd[20]; 是代表甚麼意思?
您好,宣告一個名為 cmmd 的字元(char)陣列,長度為20。