シリアルが使いたい
先週の記事でATtiny85をとりあえず、動かすことはできましたが、もう少し試してみました。
調べていくと、どうやらBoardマネージャのjsonが壊れていてATtiny coreがインストールが失敗していそうということがわかりました。
以下、ATtiny coreのページを見て、Boardマネージャのjsonを以下に変更します。
[https://descartes.net/package_drazzy.com_index.json]
これでATtiny coreパッケージがインストールできます。

この状態で、書き込み機であるArduino UNOにArduinoISPを書き込みます。
続いて、Digispark Kickstarter Attiny85 にサンプルコード(Blink)を書き込みます。
これで、Clockが正しくなりました。
この状態でSoftware Serailを使ってみます。
このコードではDigispark Kickstarter Attiny85のP3とP4にシリアルを割り当てて、以下のようなUSBシリアルで接続します。
#include <SoftwareSerial.h> #define LED_BUILTIN 1 SoftwareSerial mySerial(3, 4); // RX,TXの割り当て void setup() { pinMode(LED_BUILTIN, OUTPUT); mySerial.begin(9600); } void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(100); // wait for a second mySerial.write("serial"); }
これで正しくSerial.printが表示されました。
まとめ
ATtiny coreをアップデートすることで、Clockが正しくなり、シリアルも正しく通信できるようになりました。
1度、正しいものを書き込んでしまえば、その後はATtiny coreがインストールされていないPCから書き込んでも大丈夫のようです。