- 商品說明
商品說明
CJMCU ATtiny85 微型單片機開發板 ATtiny85 微型單片機 arduino 穿戴裝置開發板系列
愛特梅爾公司(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; }
相關商品
-
Scratch for Arduino 互動學習 Arduino工具組 NANO 與 Scratch 學習套件 附贈教學光碟
0 滿分 5 分目前有許多學校使用Scratch教學程序語言概念,其實也可將 Arduino與 Scratch結合,讓學生自撰寫Scratch程控Arduino做出各種動作,或是由Arduino取得外部傳感器偵測到的數值。我們提供了SCRATCH板和一塊 NANO 328 控制板,裡面有滑動電阻器、按鍵、光敏電阻、和麥克風語音模塊,結合S4A軟件,我們可以從Arduino取得可變電阻的變化,轉換成數值後再讀取到Scratch程序中,控制畫面中的貓旋轉,讓學生可以自己創作不同交互式人機效果。我們也為套件製作了配套資料,借助這些資料愛動手的你肯定可以玩轉它們。
NT$1,429NT$1,140 未稅加入購物車Quick View -
加入購物車Quick View
美國原廠官方授權經銷 Arduino Nano V3 義大利製 ATmega328
0 滿分 5 分Arduino Nano V3 義大利正廠原裝進口 ATmega328(Arduino Nano 3.x)
Arduino Nano 是一款小巧、全面、基於ATmega328(Arduino Nano 3.x)、試驗電路板友好的電路板。它或多或少具有一些與Arduino Duemilanove相同的功能,但封裝不同。它只少1個DC電源插座,採用Mini-B USB電纜
加入購物車Quick View -
Arduino Pro Mini 328 – 3.3V/8MHz SparkFun原廠
0 滿分 5 分NT$400NT$360 未稅加入購物車Quick View -
美國原廠官網指定經銷代理 Arduino MKR WIFI 1010 義大利製 原MKR1000升級版
0 滿分 5 分MKR WIFI 1010是MKR 1000 WIFI的重大改進。它配備了由U-BLOX製造的ESP32模塊。該板旨在通過ESP32模塊的靈活性和低功耗來加速和簡化基於WiFi的物聯網應用的原型設計。
NT$1,714NT$1,500 未稅加入購物車Quick View -
Lilypad Arduino 開發板 Mega328A-PU 16M 穿戴裝置設計專用
0 滿分 5 分Lilypad Arduino 開發板 Mega328A-PU 16M 穿帶裝置設計專用
LilyPad Arduino是一塊基與Arduino開放原始代碼的Simple i/o平台,並且具有使用類似java,C語言的開發環境。讓您可以快速使用Arduino語言與Flash或Processing…等軟件,作出互動作品。Arduino可以使用開發完成的電子元件例如Switch或Sensors或其他控制器、LED、步進電機或其他輸出裝置。Arduino也可以獨立運作成為一個可以跟軟件溝通的平台,例如說:flash processing Max/MSP VVVV 或其他互動軟件…,Arduino開發IDE界面基於開放原始碼原則,可以讓您免費下載使用開發出更多令人驚奇的互動作品。
NT$171NT$152 未稅加入購物車Quick View -
Motor Pack 舵機工具包 for Arduino seeed原廠
0 滿分 5 分NT$667NT$560 未稅加入購物車Quick View -
加入購物車Quick View
美國官方原廠授權經銷 Arduino Mega2560 R3 含底殼 (Made in Italy) 附1.3m長傳輸線
0 滿分 5 分Arduino Mega2560 R3 是一塊以 ATmega2560 為核心的微控制器開發板,本身俱有54組數字I/O input/output端(其中14組可做PWM輸出),16組模擬比輸入端,4組UART(hardware serial ports),使用16 MHz crystal oscillator。由於具有bootloader,因此能夠通過USB直接下載程序而不需經過其他外部燒寫器。供電部份可選擇由USB直接提供電源,或者使用AC-to-DC adapter及電池作為外部供電。
加入購物車Quick View -
加入購物車Quick View
DFRduino UNO R3 開發板 DFRobot原廠 附贈1.3m長傳輸線
0 滿分 5 分Uno R3是基於ATmega328P 的單片機開發板。該開發板由14路數字輸入/輸出引腳(其中6路可以用作PWM輸出)、 6路模擬輸入、1個16MHz的石英晶體振盪器、一個USB接口、1個電源接頭、1個ICSP數據頭以及1個複位按鈕組成。Uno包含了單片機運行所需的所有要素,只需用USB連接線將其連接到計算機,或利用AC-DC適配器或電池供電後即可啟動。Uno的特色在於將ATmega16U2編程為一個USB-to-serial轉換器,以便能簡單、輕鬆和自由地安裝驅動程序。
加入購物車Quick View -
加入購物車Quick View
NANO V3.0 FT232RL 副廠/相容 Arduino 原裝晶片非大陸晶片 附傳輸線
0 滿分 5 分Arduino NANO V3.0 FT232RL原裝晶片非大陸晶片
Arduino Nano 是 Arduino Uno的 微型版本。和Uno一樣,核心為 Atmel ATmega328 微處理器,具有14組數位輸出/入腳位,
以及8組類比腳位,可以用來控制周邊、監測感應器數值,並透過USB和運行Windows/Mac OSX/Linux的個人電腦連接;甚至能夠透過模擬方式作為HID(鍵盤、滑鼠或其他周邊)與電腦互動。超迷你的Nano,可以直接插在麵包板,或是您自定的電路板上,應用更加方便,甚至加速您的產品原型開發 。在Arduino IDE上傳程式開發板處理器需設定為ATmega328p(Old Bootloader)
加入購物車Quick View -
NANO V3.0 Atmega328p 副廠/相容 Arduino CH340改進版 附傳輸線
0 滿分 5 分Nano 是 Uno的 微型版本。和Uno一樣,核心為 Atmel ATmega328 微處理器,具有14組數位輸出/入腳位,以及8組類比腳位,可以用來控制周邊、監測感應器數值,並透過USB和運行Windows/Mac OSX/Linux的個人電腦連接;甚至能夠透過模擬方式作為HID(鍵盤、滑鼠或其他周邊)與電腦互動。
超迷你的Nano,可以直接插在麵包板,或是您自定的電路板上,應用更加方便,甚至加速您的產品原型開發 。注意:Nano主板若無法燒錄請在工具選單裡的處理器設定為ATmega328P(Old Bootloader)即可
NT$238NT$200 未稅加入購物車Quick View