目次

メモリ管理, Arduino, ベクトル, OpenVPN

+
もしかして...
その他

コントローラー | Arduino

Arduinoを用いた電子工作でよく使うものの一つにスイッチがあります. 一つか二つのスイッチを使うのなら問題はないのですが、大量のスイッチを用いた電子工作となるとスイッチ一つに一つのピンを消費するわけにはいかなくなります.

例えば、ちょっとしたゲーム機を作るとしましょう. 十字キー、ABボタンなどで少なくとも6つぐらいのスイッチが必要となります. またグラフィック液晶との接続に13ピンほど使います.ピンが足りません.一つのピンで複数のスイッチ入力を読み取る必要があります.

また別の問題として仮に上の問題を解決―例えば抵抗による分圧方法によって解決―したとしても同時入力ができない問題があります. ゲーム機を作るとしてボタンの同時入力ができないのはかなり大きな問題でしょう.

このページではこれらの問題を解決する一つの方法を説明します。

このページで紹介する方法で以下のことができます。

  • 一ピンあたりボタン六個の入力が可能
  • 同時入力も可能
MelodyPlayerの関数一覧 | Arduinoでメロディーを鳴らす
関数
Begin MelodyPlayerの開始
End MelodyPlayerの終了
Play メロディー再生
Stop メロディー停止
IsPlaying 再生中かどうか
Enum
PLAY_MODE プレイモード
キャンバスの特徴 | Arduinoで2Dグラフィックを扱う

このキャンバスの特徴は大きく分けて4つあります.

  • 応用しやすい関数セット
  • 白紙のキャンバスに文字、画像、直線などを描くような操作
  • 高い移植性
  • 高い描画効率
キャンバスの関数, 変数一覧 | Arduinoで2Dグラフィックを扱う

関数

SetSize キャンバスの大きさ設定
Canvas コンストラクタ
SizeX キャンバスx方向の大きさ
SizeY キャンバスy方向の大きさ
Pos 描画位置の指定
Dot 点の描画
Line 直線の描画
VerticalLine 垂直直線の描画
Boxf 矩形の描画
Boxw ワイヤー矩形の描画
Celput 画像の表示
Mes 文字列の描画
PutChar 文字の描画

変数

color 色情報
posX 描画位置x座標
posY 描画位置y座標
Arduino標準機能との融合 | 仕組み

ここでは, OSの機能とArduino標準機能と融合していきます. 融合するものとしては, Arduino言語―setup(), loop()―, Arduino標準関数に影響するタイマー割り込み部分です.

キャンバスの使い方 | Arduinoで2Dグラフィックを扱う

ここでは, Canvasの基本的な使い方を説明します. 説明内容は以下のとおりです.

  • ファイルの配置
  • キャンバスの開始
  • 点を打つ
  • 文字を書く
  • 画像を描く
  • 最後に
MelodyPlayerの使い方 | Arduinoでメロディーを鳴らす

ここでは, MelodyPlayerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • 再生
  • メロディーの追加方法
Arduino | Welcome!

このページではArduinoをもちいた電子回路,プログラムなどに関する情報を扱います.

ArduinoでArduinoにスケッチ書き込み | Arduino

Arduinoにプログラムを書き込むにはパソコンが必要です. パソコンでプログラムを書きArduinoをパソコンに接続し、スケッチをマイコンボードに書き込みます. 別のプログラムを実行したいとき、またパソコンに接続してスケッチを書き込みます。これは大変労力かかると同時にパソコンなしではプログラムの変更は不可能です.

このページでは、それを解決する一つの方法を提案します。それは, Arduinoが別のArduinoへスケッチを書き込むということです. 詳しく言うと, スケッチをコンパイルした後に作成されるHexFileをSDカードに保存し, そのHexFileをある一つのArduinoが読み込み別のArduinoへスケッチを書き込むということです.

このページで紹介する方法で以下のことができます。

  • ArduinoでArduinoにスケッチ書き込み
  • 他機能の組み合わせで応用可能

"他機能の組み合わせで応用可能"の例ですが, ある端末を作ったとします。その端末にはグラフィック液晶ディスプレイ、コントローラーが付いています。使用者にグラフィック液晶でスケッチの選択をさせることで、一つの端末で複数のプログラムを実行することができます; パソコンでいちいちスケッチを書き込む必要はありません。

対応環境

ただし、以下の環境が必要です。

スケッチを書き込まれるArduinoにはブートローダー"optiboot"がかきこまれていること

optibootがかきこまれているArduinoは"Arduino UNO"です。このサイトでもこれを使用しています。

スケッチを書き込むArduinoは16MHzで動作していること

optibootとの通信には115200bpsのシリアル通信が用いられています。8MHzなどの低周波数で動作するArduinoではこの通信がうまくいきません。

MelodyPlayerの導入方法 | Arduinoでメロディーを鳴らす

MelodyPlayerの導入方法を説明します. 説明項目は以下のとおりです.

  • ダウンロード
  • ファイルの説明
  • インクルード
  • ピン接続
タスク管理 | 仕組み

ここでは, OSには必ずなくてはいけない機能の一つであるタスク管理について説明します.

タスク管理には非常に多くのことが関わっているため以下のように分けていきます.

  • タスクコントロールブロック(TCB)
  • メモリの構造
  • 状態リスト
  • コンテクスト
  • システム割り込み
SketchWriterの使い方 | SketchWriter

ここでは, SketchWriterの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • SketchWriterのしくみ
  • HexFileの入手
  • スケッチの送信
SketchWriterの関数, 変数一覧 | SketchWriter
関数
Begin SketchWriterの開始
End SketchWriterの終了
SetReaetPin リセット信号を出すピンの設定
ResetArduino Arduinoにリセットをかける
GetCh optibootからシリアルデータを受け取る
Wait optibootからの処理完了信号-STK_OK-待機
GetInSync optibootからのSTK_INSYNK信号待機
VerifySpace コマンド有効化
AppStart プログラムの開始
GetSync optibootと同期をとる
GetParameter optibootからOPTIBOOT_MAJVERまたはOPTIBOOT_MINVERを取得
SetAddress メモリのオフセット値を送信
SendData データの送信
SketchWrite スケッチの書き込み
SerialClear シリアルデータ削除
SetFileName 文字列’sketchName’にファイル名を代入
SketchLoad スケッチ-HexFile-の読み込み
SketchReload スケッチ-HexFile-の再読み込み
SketchClose スケッチ-HexFile-を閉じる
ReadHexVal HexFileから1Byteの数値を読み込む
ReadHexData HexData読み込み, 配列’hexData’に格納
変数
hexData[hexDataBufSize] 読み込んだHexData
fileEnded HexFile読み取り位置状態
sketchName ロードしたHexFile名
sendDataSize 一回でoptibootに送るデータサイズ
hexDataBufSize 配列’hexData’のサイズ
GLCDControllerの使い方 | GLCDControllerの紹介

GLCDControllerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • GLCDControllerのしくみ
  • ピン設定とGLCDControllerの開始
  • 文字の表示
  • 画像の表示
TerminalPro4の特徴 | 端末第四世代(TerminalPro4)

TerminalPro4の特徴としては以下があげられます.

  • ゲーム機として成り立つ必要最低限の機能
  • 迅速なアプリケーション切り替え
  • 簡単なソフトウェア開発
SketchWriterの導入方法 | SketchWriter

SketchWriterの導入方法を説明します. 説明項目は以下のとおりです.

  • ダウンロード
  • ファイルの説明
  • SDカード、操作したいArduinoと接続
  • インクルード, SketchWriterを開始
GLCDControllerの導入方法 | GLCDControllerの紹介

ここでは, GLCDControllerの導入方法を説明します. 説明項目は以下のとおりです.

  • ダウンロード
  • ファイルの説明
  • インクルード
GLCDControllerの関数, 変数一覧 | GLCDControllerの紹介
関数
Begin GLCDControllerの開始
Draw グラフィック液晶への描画
変数
canvas 描画空間
「https://contentsviewer.work/Master/:tagmap/メモリ管理,Arduino,ベクトル,OpenVPN?layer=ja」から取得