





CJMCU LilyTiny 穿戴式 LED 控制板 (ATtiny85 / Micro USB 供電 / 預載 4 種特效)
NT$300 未稅
CJMCU ATtiny85 是一款基於 Atmel 公司低功耗 AVR 微控制器的單片機開發板。內建 8KB 快閃記憶體,支援 SPI 與 TWI (I2C 相容) 通訊。該款開發板採用 Atmel 專利的 picoPower 技術,工作電壓範圍廣(1.8V 至 5.5V),可透過軟體調整時鐘頻率以平衡性能與功耗。
尚有庫存
- 詳細資訊
商品說明
愛特梅爾公司(Atmel Corporation) 宣布其低功耗的ATtiny 10/20/40微控制器(MCU) 系列,針對按鍵、滑塊和滑輪等觸控感應應用予以優化。這些器件包括了AVR MCU 及其專利的低功耗picoPower技術,是對成本敏感的工業和消費電子市場上多種應用,如汽車控制板、LCD電視和顯示器、筆記本電腦、手機等的理想選擇。
ATtiny MCU系列介紹
愛特梅爾ATtiny 新型單片機集成有愛特梅爾的AVR 微控制器,以及包括1KB至4KB 的閃存,帶有32 KB至256 KB 的SRAM。此外,這些器件支持SPI 和TWI (具備I2C-兼容性) 通信,提供最高靈活性和1.8V至5.5V的工作電壓。ATtinyAVR使用愛特梅爾專利的picoPower技術,耗電極低。通過軟件控制系統時鐘頻率,取得系統性能與耗電之間的最佳平衡,同時也得到了廣泛應用。
https://github.com/sparkfun/LilyTiny_LilyTwinkle
Arduino 範例碼
/******************************************************************************
LilyTiny (ATtiny85, internal 8 MHz clock)
Emily Lovell
Controls the behavior of up to four LEDs, depending on pin:
Pin 0: fades in and out
Pin 1: heartbeat
Pin 2: blinks on and off
Pin 3: twinkles randomly
******************************************************************************/
// Constant definitions
#define maxBrightness 255.0
#define maxTimeOn 9999
#define blinkTime 125
// Variables and constants for fading pin. Needs to be a pin with PWM hardware
// available; on the Tiny85 that's pin 0 and pin 1 only.
#define fadePin 0 // Redefine the pin name to something
// application specific.
int fadeDirection = 1; // 1 is brighter, -1 is dimmer
int fadeStep = 1;
int fadeBrightness = 1;
// Variables and constants for fading pin. Needs to be a hardware PWM pin; on
// Tiny85 that's pin 0 and pin 1 only.
#define HEARTPIN 1 // Redefine the pin name to something
// application specific.
int heartStage = 0;
float heartBrightness = 0;
float heartCounter = 0;
// variables for blink pin (pin 2)
int blinkPin = 2;
int blinkDelay = blinkTime;
int blinkState = false;
// variables for twinkle pin (pin 3)
int twinklePin = 3;
int timeOn = 0;
float currentBrightness = 0;
int targetBrightness = 0;
float timeToBright = 0;
float stepToBright = 0;
void setup()
{
pinMode(twinklePin, OUTPUT);
startOver();
pinMode(blinkPin, OUTPUT);
}
void loop()
{
// calculate brightness for twinkle pin (determined
// by how much time the LED is on vs. off)
timeOn = calcTimeOn(currentBrightness);
digitalWrite(twinklePin, HIGH);
delayMicroseconds(timeOn + 1);
digitalWrite(twinklePin, LOW);
delayMicroseconds(maxTimeOn - timeOn);
// recalculate brightness for twinkle pin
currentBrightness += stepToBright;
timeToBright--;
if(timeToBright == 0)
startOver();
// calculate brightness for heartbeat pin (by cycling
// through phases of pulse pattern)
heartCounter++;
if (heartCounter > 144) {
heartStage = (heartStage + 1) % 4;
heartCounter = 0;
}
else {
switch(heartStage) {
case 0:
analogWrite(HEARTPIN, heartBrightness);
heartCounter += 144/12.0;
heartBrightness += 255/12.0;
if (heartBrightness > 255)
heartBrightness = 255;
break;
case 1:
analogWrite(HEARTPIN, heartBrightness);
heartCounter += 144/24.0;
heartBrightness -= 255/24.0;
if (heartBrightness < 0)
heartBrightness = 0;
break;
case 2:
analogWrite(HEARTPIN, heartBrightness);
heartCounter += 144/12.0;
heartBrightness += 255/12.0;
if (heartBrightness > 255)
heartBrightness = 255;
break;
case 3:
analogWrite(HEARTPIN, heartBrightness);
heartCounter += 144/72.0;
heartBrightness -= 255/72.0;
if (heartBrightness < 0)
heartBrightness = 0;
break;
}
}
// drive blink pin high or low, depending on how much time has passed
blinkDelay--;
if (blinkDelay == 0) {
blinkDelay = blinkTime;
blinkState = !blinkState;
digitalWrite(blinkPin, blinkState);
}
// increase/decrease brightness of fade pin in steady incremental steps
analogWrite(fadePin, fadeBrightness);
fadeBrightness += fadeStep * fadeDirection;
if (fadeBrightness >= 255) {
fadeBrightness = 255;
fadeDirection = -1;
}
if (fadeBrightness <= 0) {
fadeBrightness = 0;
fadeDirection = 1;
}
}
// calculate ratio of time LED is on/off to acheive particular brightness
int calcTimeOn(int desiredBrightness) {
return desiredBrightness / maxBrightness * maxTimeOn;
}
// restart a new twinkle
void startOver(){
if (random(0, 1) == 1)
targetBrightness = currentBrightness + random(100, 200);
else
targetBrightness = currentBrightness - random(100, 200);
if (targetBrightness < 0)
targetBrightness = maxBrightness + targetBrightness;
targetBrightness %= (int)maxBrightness;
timeToBright = random(10, 30);
stepToBright = (targetBrightness - currentBrightness) / timeToBright;
}
相關商品
-
Arduino UNO R3 SMD 官方原廠開發板 含底殼 附1.3米傳輸線 義大利製
0 滿分 5 分NT$940 未稅官方 Arduino Uno Rev3 SMD 版:專業級貼片 ATmega328P,提供穩固抗震的專案運行可靠度。100% 相容所有 Uno 功能與 Shield,是進階部署首選。Arduino UNO Rev3 SMD 與 Arduino UNO Rev3 差異:只是晶片封裝方式不同,Uno SMD =表面貼裝328p晶片,標準Uno = DIP雙排腳針封裝328p晶片。
-
Arduino Nano V3 ATmega328 開發板 原廠正品公司貨 義大利製
0 滿分 5 分NT$800 未稅Arduino Nano 是一款小巧、全面、基於ATmega328(Arduino Nano 3.x)、試驗電路板友好的電路板。它或多或少具有一些與Arduino Duemilanove相同的功能,但封裝不同。它只少1個DC電源插座,採用Mini-B USB電纜
-
ATTINY85 USB開發板 Digispark Kickstarter USB開發板 相容Arduino
0 滿分 5 分NT$160 未稅Digispark Micro 使用Micro USB介面,可直接使用Micro USB 線(長度比較長,比較方便)連接USB介面進行程式調試燒錄,無需USB轉序列介面模組。
-
Motor Pack Arduino 機器人動力全能學習套件包 (含直流馬達/步進馬達/舵機)
0 滿分 5 分專為 Arduino 初學者與 STEM 教育設計的動力學習懶人包!無需四處尋找零件,一包搞定機器人開發所需的三大動力來源:
NT$667NT$560 未稅 -
SparkFun Arduino Pro Mini 328 開發板 – 3.3V / 8MHz | ATmega328P | 超迷你低功耗版
0 滿分 5 分該板直接連接到FTDI Basic Breakout板並支持自動復位。 Arduino Pro Mini也可以使用FTDI電纜,但FTDI電纜不會帶出DTR引腳,因此自動復位功能不起作用。板上有一個電壓調節器,因此它可以接受高達12VDC的電壓。如果您向電路板提供未經調節的電源,請務必連接到非VCC上的“RAW”引腳。
NT$400NT$340 未稅 -
Arduino Nano V3.0 相容板 (FT232RL) ATmega328P | 支援Old Bootloader 附傳輸線
0 滿分 5 分NT$160 未稅這是一款基於開放原始代碼的超小 Simple I/O 平臺,採用高品質 FTDI FT232RL USB 轉串口晶片,相較於一般版本,擁有更佳的驅動相容性與穩定性。Nano 的體積優勢使其非常適合插在麵包板上進行開發,或嵌入到體積受限的專案中。雖然體積迷你,但它擁有與 Uno 幾乎相同的功能,甚至多出了 2 個類比輸入端 (共 8 個 A/D),非常適合互動媒體、機器人製作與各類 DIY 專案。
-
Arduino MKR WiFi 1010 開發板 – SAMD21 32位元, 雙模 WiFi+藍牙 (BLE), 內建 ECC508 加密與鋰電池充電
0 滿分 5 分Arduino MKR WiFi 1010 是入門級物聯網和微微網路應用設計的入門選擇。開發板的主處理器採用低功耗 Arm® Cortex®-M0 32 位元 SAMD21 架構。 WiFi 和藍牙® 連接採用 u-blox 的 NINA-W10 模組,這是一款工作頻率為 2.4GHz 的低功耗晶片組。
NT$1,800NT$1,500 未稅 -
義大利製 Arduino GSM Shield 2 內建集成天線
0 滿分 5 分Arduino GSM Shield 2 擴展板可以利用GPRS無線網絡將Arduino連至網際網路。只需將該擴充版插到Arduino板上,插入來自於提供GPRS業務的運營商的SIM卡,按照幾個簡單的步驟即可開始通過網際網路控制您的世界。您還可以撥打/接聽語音電話(您需要1個外部揚聲器和麥克風電路)和發送/接收SMS信息。
NT$3,900NT$3,500 未稅 -
Arduino Uno R3 – ATmega328P 官方原廠開發板 含底殼 附1.3米傳輸線 義大利製
0 滿分 5 分NT$1,000 未稅原廠義大利製 Arduino Uno R3 開發板,專為入門與專業應用打造。搭載 ATmega328P 核心與升級版 ATmega16U2 晶片,提供14個數位 I/O和6個類比輸入腳位。開源設計、即插即用,是教育、工業與物聯網專案的最佳選擇
-
LilyPad Arduino 328 主控板 (相容板) – 穿戴式電子開發首選 / 8MHz 3.3V
0 滿分 5 分本款 LilyPad 採用低功耗的 ATmega328V 晶片,運行於 8MHz 和 3.3V,體積輕薄且背面平整,穿戴時不會有異物感。無論是想製作會發光的 Cosplay 服裝、會唱歌的絨毛玩具,或是監測溫度的智慧衣,LilyPad 都是最完美的起點!
NT$180NT$160 未稅




















