





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 Due 含底殼 官方原廠授權經銷 義大利製
0 滿分 5 分NT$1,560 未稅Arduino Due 是基於Atmel SAM3X8E ARM Cortex-M3 CPU(數據表)的微控制器板。它是第一款基於32位ARM核心微控制器的Arduino板。Arduino DUE工作電壓為3.3V,具有54引腳數字I / O(12 PWM),12個模擬輸入,84 MHz時鐘,2個DAC(數模轉換)和一個JTAG,用於直接編程和調試。
-
Pro Mini 5V/16MHz 100%相容加強版 過電衝突保護 附排針需自焊
0 滿分 5 分Pro Mini是一個微控制器電路板 。它有14個數位輸入/輸出引腳 (其中6個可作為PWM輸出)8個模擬輸入,一個16MHz的諧振器,一個重定按鈕。在Arduino IDE的板子類型可選擇NANO、PRO MINI等使用ATMEGA328P晶片的板子,程式與UNO,NANO,duemilanove等相容。
NT$190NT$100 未稅 -
SparkFun Pro Micro-3.3V/8MHz 開發板 Sparkfun美國製
0 滿分 5 分Pro Micro與Pro Mini相似,除了板載ATmega32U4。32U4內部的USB收發器使我們能夠在板上添加USB連接,並消除笨重的外部USB接口。這個小巧的開發板可以完成熟悉的所有Arduino技巧:9個10位ADC通道,5個PWM引腳,12個DIO以及硬件串行連接Rx和Tx。
NT$810NT$680 未稅 -
Arduino Nano 33 BLE Rev2 藍牙開發板 | nRF52840 Cortex-M4 | BMI270+BMM150
0 滿分 5 分NT$1,200 – NT$1,280 未稅隆重介紹 Arduino Nano 33 BLE Rev2,這是一款採用 Nordic Semiconductors nRF52840 晶片的尖端開發板。開發板配備 32 位元 Arm® Cortex®-M4 CPU,運作頻率為 64 MHz,具備藍牙® LE 功能,可與其他支援藍牙® LE 的裝置無縫共享資料。此外,它還支援 MicroPython,從而增強了編程的靈活性。
-
高品質 UNO R3 相容開發板 (ATmega16U2) | 通過 FCC 認證 | 支援 HID 模擬 | 附1.3m傳輸線
0 滿分 5 分NT$400 未稅UNO R3 是的一款易用型開源控制器,硬體上與原廠的 Arduino UNO 相比並沒有大的變動,最大不同在於USB轉串口電路部分,改用的是一塊ATMega16U2單片機,由此成本也有所提高,軟體部分與之前一樣,沒有大的變化。
-
Seeed Studio Grove Starter Kit for Arduino v3 入門實驗套件 (免麵包板 / 含 RGB LCD 與 Base Shield)
0 滿分 5 分NT$1,500 未稅Grove Starter Kit v3 是專為 Arduino 初學者設計的模組化工具箱。採用類似樂高的「電子積木」概念,透過內附的 Base Shield v2 擴充板與標準化 Grove 接口,無需麵包板或焊接即可快速連接感測器。v3 版本升級了 LCD RGB 背光螢幕與多款感測器精度,並優化了收納盒設計。套件內含繼電器、蜂鳴器、溫濕度等 10 多種常用模組,是學習電子電路與程式設計的最佳起點。
-
Pro micro 5v/16MHz Atmega32U4 相容 Leonardo 附傳輸線
0 滿分 5 分Arduino Pro micro 已內建有Micro USB的介面,接上Micro-USB數據線就可直接編寫程式上傳。Pro micro和Leonardo開發板都是使用Atmega32u4來實現USB通信及控制。這種創新設計也大大地降低了成本, Atmega32u4除支援USB外還能讓開發板模擬成滑鼠或鍵盤來直接控制電腦。
NT$300NT$180 未稅 -
Arduino MKR NB 1500 物聯網開發板: 官方原廠,支援 NB-IoT/LTE 行動網路
0 滿分 5 分Arduino MKR NB 1500 是一款專為物聯網設計的開發板,採用 NB-IoT/LTE Cat M1 技術實現超低功耗和廣域無線連接。由 Microchip SAMD21 微控制器驅動,提供 22 個數位 I/O 和多種介面(I²S、I²C、UART、SPI),非常適合遠端監控、資產追蹤和智慧城市等應用。
-
SparkFun Pro Micro-5V/16MHz 開發板 Sparkfun美國製
0 滿分 5 分Pro Micro與Pro Mini相似,除了板載ATmega32U4。 32U4內部的USB收發器使我們能夠在板上添加USB連接,並消除笨重的外部USB接口。這個小巧的開發板可以完成熟悉的所有Arduino技巧:9個10位ADC通道,5個PWM引腳,12個DIO以及硬件串行連接Rx和Tx。
NT$762NT$680 未稅 -
Arduino Uno R3 – ATmega328P 官方原廠開發板 含底殼 附1.3米傳輸線 義大利製
0 滿分 5 分NT$880 未稅原廠義大利製 Arduino Uno R3 開發板,專為入門與專業應用打造。搭載 ATmega328P 核心與升級版 ATmega16U2 晶片,提供14個數位 I/O和6個類比輸入腳位。開源設計、即插即用,是教育、工業與物聯網專案的最佳選擇

















