IoTを色々いじっていると、電気が思った通りに変化しているか、電圧の波形を見たいことがある。つまり、可視化。 ということで、Arduinoで何とか測定装置、要するにオシロスコープはできないだろうか、できそうではないか、一定時間間隔で電圧を測定して記録さえできれば、あとは表示するだけだ。 といっても、オシロスコープを自分で考えるのはとても面倒である。 折角のインターネット時代なので、ちょっとインターネットで検索してみたら、こんなサイトが見つかった。 Arduino簡易オシロスコープ|国立大学法人 九州工業大学情報工学部【飯塚キャンパス】で作り方が公開されているのだった。 ソフトウエアもダウロードできるようになっていて、これはもう作るしかない。 Arduino1台と、簡単な回路を作ることと、パソコン側にProcessingという最近流行りのプログラミング言語をインストールしてオシロスコープの画
7.内蔵CR発振器でArduino互換機を動かす 7-1.内蔵CR発振器について ATmega328Pには、8MHzのクロック信号を発生するためのCR発振器を内蔵しています。これを利用すると、水晶振動子やセラミック発振子を使わずに、ATmega328Pを8MHzのクロックで動作させる事ができます。ただし、内蔵CR発振器を利用すると、周波数の精度が悪く、最大で10%の誤差が生じます。 水晶振動子、セラミック発振子、および内蔵CR発振器を使った場合の周波数精度は、それぞれ、0.1%、1%、10%程度となっています。(水晶振動子やセラミック発振子を使った場合の周波数精度は、正確にはそれぞれのデータシートを参照してください。) 内蔵CR発振器は、周波数精度が悪いので、正確なタイミングが要求される用途には利用できません。しかし、電子サイコロなら、10%程度、動作速度に誤差が出ても、全く問題がありませ
このページは2011年8月より更新しておりません。 このページでレポートした方法はAVRDUDEに取り込まれ標準搭載機能として提供されています。"AVRDUDE FT232 bitbang" で検索すると最新の情報が得られます。 Arduino Diecimilaにブートローダを書き込むとき,DiecimilaのICSPにAVRライタを接続して書き込みますが,今回,外部にAVRライタを接続しないでDiecimila自身でブートローダを書き込む方法を見つけました。(Arduino NG,Arduino Duemilanove でも実行可能です) Arduino Uno はこの方法でブートローダを書くことはできません。 2008年7月に外付けAVRライタを用いずにArduino Diecimila自身でブートローダを書込む方法を発表しました。 これはWindowsの「コマンドプロンプト」からの
Arduinoのブートローダ書き込み済みのチップがスイッチサイエンスで360円で売られているので試してみました。 Arduinoブートローダ書き込み済みATMega328P-PU(内蔵CR発振8MHz版) 何かに組み込むときには小さいし安いし便利そうです。何となくチップの周りにたくさん部品を取り付けないと動かないような気がしていましたが、コンデンサ2個と抵抗を付けてあげるだけで本当にシンプルです。 Arduino Pro Miniなどで使うUSB-シリアル変換基板を使ってスケッチを書き込んでしまえば大部分のケーブルは取り外すことができます。 FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) FTDI USBシリアル変換アダプターの6pin(下の左側)をチップに接続します。 DTR <<>> リセット (VCCにプルアップして0.1μFを介してDTR) RX <<>>
AVRには外部クロックがなくても動作するように、ICの内部にRC発振回路によるクロックを内蔵しています。 工場出荷時に規定の周波数(基本的に8MHz)になるように校正されていますが、データシートによると10%までの誤差がある可能性があり、シリアル通信では致命傷になります。 そこで、個別に調整できるようにOSCCAL(発振校正レジスタ)が存在します。このレジスタをプログラム実行時に書き換えることで発振周波数を変更できます。OSCCALが大きいほど高い周波数で、小さいほど低い周波数で動作します。 AVRはヒューズビットのCKOUTをプログラム(0)することにより、CLK0端子からシステムクロックが出力されます。これを測定機器で観測しながらOSCCALレジスタを操作することによりクロックを調整します。 校正 手元にあったATmega88を8Mhzに校正してみました。今回は周波数の測定には周波数カ
ArduinoのハードはスイッチサイエンスのブレッドボードArduino(互換機)キットを購入しました。 購入してから気付いたのですが、説明はなく組み立て方法などの説明書などはついてきません。部品数が少ないので完成図の写真やArduino ProやArduino Duemilanoveの回路図(Schemantics)を参考にすると簡単に組み立てることができます。 商品の説明によるとArduino開発環境のboards.txtに以下を足す必要があります。 diecimila_8mhz.name=Arduino ATmega328P 8MHzRC diecimila_8mhz.upload.protocol=stk500 diecimila_8mhz.upload.maximum_size=30720 diecimila_8mhz.upload.speed=57600 diecimila_8
調べてみるとdigitalWriteは実行するのに44サイクルかかるらしいです。 他にもdigitalReadやpinModeなんかも結構遅い感じでした。 そこでAVR寄りの書き方にすることで自分なりに高速化することにしました。 高速化の原理? 高速化するといっても簡単にいえばArduinoの冗長なプログラムを短くするだけです。 Arduinoはご存知の通り、ATmega328Pが搭載されています。 そのATmega328PとArduinoのピンの対応付けは次の図のようになっています。 ICの11番ピンのPD5はArduinoのディジタル5番ピンに割り当てられています。 AVRのプログラムの場合はレジスタを制御することによってこういうピンの状態をHIGHにしたりLOWにしたりできるのです。 Arduinoはレジスタ制御をうまいこと隠すことによってわかりやすいプログラムになっており、互換性の
このページは非常に古いページです https://ws.tetsuakibaba.jpに情報は移行されました Arduino のSleep機能 ArduinoにはSleep機能があります.例えば電池駆動をしている状況下ではこのスリープ機能を実装しておかないと,2,3日で電池交換,充電の必要がでてしまい,制作物のユーザビリティが著しく低下してしまいます.ここではC言語ライブラリで提供されている一般的な機能から,0.4uAまで消費電流をさげる所謂Deep Sleep機能に関してAtmega328を具体例として解説します.なお,Deep Sleepに関する記事はideea lab工場長の須田氏による解説になります. Sleepとは ノートパソコンやスマートフォン等でもSleep機能は頻繁にユーザは利用しています.パソコンを使い終わったら電源を切る,スマートフォンを使い終わったら電源を切る.このよ
●概要 Arduino対応、8ビット、ILI9325 ●仕様・機能 Arduino UNO対応液晶シールドの完成品、ピンヘッダなどは完全実装済みなのですぐ使用できる、NXP社製レジスタチップ74HC245搭載、2.4インチTFT液晶パネル、解像度:240x320、搭載コントローラチップ:ILI9325、8ビットパラレルデータ信号バス、マイクロSDソケット実装済み、動作電源:3.3V、基板寸法:72x53mm、表記価格:1(※4線抵抗膜型タッチスクリーンが付いているが、接続が行われていないので使用できません) ●詳細を見る ●動作について Arduino UNO+Adafruit_TFTLCDで非常に快適に動作することを確認しております。Adafruit_TFTLCDライブラリに添付されたスケッチgraphicstestは編集が必要なくデフォルトで動作します。 #include < Adaf
※検索性向上のためタイトル変更しました(旧:Arduinoに慣れたら小さくて安くて最高な生AVRも使ってみてはいかがでしょうか) Arduinoに入ってるマイコンあるじゃないですか、あれがAVRです。逆にいうとAVRの周りにいろんな部品がついたのがArduinoです。 いろんな部品がついてるおかげでいろいろ便利になってるわけですが、普通にスイッチでLEDの制御するとかサーボ動かすだけとかの用途であれば、あのへんの部品はべつに要らないんですね。 なのでAVRだけで使いたいわけです。 上からArduino Uno、Arduino Nanoの互換品、AVR(ATmega88) Arduinoを買うと3000円くらいしますがAVRだけなら150~250円くらいで買えます。金額的にArduinoだと使い回し前提の使い方になりますが、AVRならマイコンごと基板にはんだ付けしちゃっても惜しくないです。
【2018/12/23】 なぜかこの方法でできんくなった.ブートローダー書き込むところでエラーが出る.おっかしいなぁ,前までこの方法で出来てたはずなのに.ぎんなん. 【同日15:37 追記】 いやこれ,手元の328Pをいくつか試してみたところ下記の方法ができるATMega328Pと出来ないATMega328Pがあるっぽい.ロットや工場出荷状態の設定によって違うんかもしれん.後ほど検証します. 現段階で言えることは下記の方法で書き込みが出来る328Pと出来ない328Pがあり,それらは買ってみないとわからない運ゲーであるということです. サイトによって書いてること違いすぎ。 当たり前ですが,手法 (Arduinoブートローダーを焼くか否か) や,ArduinoIDEのバージョンによってやり方がバラバラで,本当に自分に必要だった情報を見つけるのにクソ手間取ったため忘備録として残しときます。 結
概要 QMKの検証用途で、やっつけでplanckモドキを作ってみました。 回路 オリジナルのplanckの回路図 github.com を参考にして、コントローラはProMicro(互換機)を使い、オリジナルのGPIOのうち使用できないポートがあるのでその辺を変更しました。キー部分が2つに分割されていますが単に流用しただけですので、planckを作るということにおいては意味はありません。 またキーマトリクス以外のLEDやスピーカー等については考慮していません。 2017/07/22 変更:キーマトリクスのIOポートがスピーカーのIOポートと被っているので、キーマトリクスのポートをPC6からPD7に変更しました。 下記の写真では 5x10配列のものと兼用するように一部修正をしてあります。 QMK 回路図に合わせてポート定義を変更しました。 2017/07/22 変更:キーマトリクスのIOポー
今回はかなり手間取りました。 なにしろ、ネットではライブラリを使う情報ばかりですから・・・ しかし、これらのライブラリは物凄く重いんですよね。 プログラムの動作が遅いんです。 特に、オーディオレベルメーターなどを表示させると使い物になりません。 そこで、AdafruitさんのページにあったSSD1306のデータシート https://www.adafruit.com/products/326 とにらめっこして、ようやく自作プログラムで8バイトのビット列を表示することができました。 こんな感じです。 これ、ネットで出ているライブラリより、各段に速度が速くなりました!! 上下左右がパッと見わかる8バイトのビットマップを繰り返し水平垂直に表示させました。 ハッキリ言って、データシートを見てもなかなか意味が分からず、何度もトライしてみて確かめた次第です。 このディスプレイの表示方法はビット列の表示
こんな方にオススメなお話 無線通信したいけど、 XBee(*1)さんは¥2,500くらいして安くなったにせよ大量につかうと割高だし、 ESP-WROOM-02さん(*2)は¥1,000以下で安いけどWifiでネットワーク組むほどは... とよくばりなアナタに。 消費電力おさえめで、ネットワーク組むほど賢いのは不要、 ついでにいうと送信だけとかでもokですよ!って方には恐らくベストな選択肢、 315MHzさんのお話です。 ※ あとは通信速度もとめてたり、通信距離求めている場合は微妙かも。 ひつようなもの Arduino UNO x 2 https://www.switch-science.com/catalog/789/ 送信モジュール(315MHz) [RF315-TX5-R] http://www.aitendo.com/product/4138 VCC 1.8 - 3.6V
Johnny-Five is the JavaScript Robotics & IoT Platform. Originally created by Rick Waldron in 2012, Johnny-Five is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem. The Johnny-Five Inventor's Kit: The only kit designed for getting started with Johnny-Five! The
1. はじめに 2010年に発表されたArduino UNOは、USBまわりの設計が変更されました。 これまではUSB専用のチップが採用されていましたが、Unoでは汎用的なマイクロプロセッサに変更になりました。この変更によって、USB処理の柔軟性を増すことが出来るようになりました。 これまではUSB-シリアル変換処理を行う専用チップであるFTDI 社FT232RLによって、パソコン側はシリアルポートとして処理を行っていました。UnoでUSB処理用に新しくAtmel社のMega8U2(or 16U2)が導入されました。Mega8U2はこれまでと同様にシリアルポートの処理を行うようにプログラムさせています。しかし、Mega8U2/16U2のプログラムを変更する(ファームウエアを入れ替える)ことによって、例えばマウスやキーボードなどのHuman Interface Device(HID)などの処
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く