Skip to content

gitoku/ledcube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ledcube

目次

  • 座標
  • サンプルスケッチ
    • お題:「座標(0,0,0)のLEDを点滅させる」
  • Cubeオブジェクト
    • 概要
    • 宣言
    • メソッド
    • コピー
    • LEDCUBEへ反映

座標

各方向それぞれ0~7の座標で表す

  • 原点
    • 正面からみて左上の手前
  • x方向
    • 原点から右方向
  • y方向
    • 原点から奥方向
  • z方向
    • 原点から下方向

サンプルスケッチ

基本的にledcube.inoのみ編集する.

お題:「座標(0,0,0)のLEDを点滅させる」

個別に指定

ledcube.ino

#include "ledcube.h"

void setup(){
	LEDCUBE::begin();
}

void loop(){
	LEDCUBE::set(0,0,0);	//ON
	delay(500);

	LEDCUBE::clr(0,0,0);	//OFF
	delay(500);
}
  • LEDCUBE::begin():LEDCUBEを開始( setup() に必ず書く)
  • LEDCUBE::set(x,y,z):座標(x,y,z)のLEDをON
  • LEDCUBE::clr(x,y,z):座標(x,y,z)のLEDをOFF

まとめて更新

  • Cubeオブジェクトを用いる
  • 推奨

ledcube.ino

#include "ledcube.h"

void setup(){
	LEDCUBE::begin();
}

void loop(){
	Cube cube;

	cube.set(0,0,0);
	LEDCUBE::update(cube);
	delay(500);

	cube.clr(0,0,0);
	LEDCUBE::update(cube);
	delay(500);
}
  • LEDCUBE::update(Cube):Cubeの内容をLEDCUBEに反映

Cubeオブジェクト

概要

  • 8*8*8の2値(HIGH or LOW)配列を持つ
  • Cubeオブジェクトを用いることで配列の計算が簡単にできる

宣言

  • 宣言時に自動で配列の中身がLOWに初期化される
Cube box;	//Cubeオブジェクトのインスタンスboxを生成

メソッド

  • set(x,y,z)
    • 座標(x,y,z)をHIGHで上書き
  • clr(x,y,z)
    • 座標(x,y,z)をLOWで上書き
Cube matrix;

matrix.set(0,0,0);	//(0,0,0)をHIGHに
matrix.clr(7,7,7);	//(7,7,7)をLOWに
  • clearAll()
    • 8*8*8すべてをLOWに上書き
Cube empty;

empty.clearAll();	//すべてLOWに
  • get(x,y,z)
    • 座標(x,y,z)の内容を返す(boolean)
Cube cube;
boolean data;

cube.set(3,5,1);	//(3,5,1)をHIGHに
data = cube.get(3,5,1);	//(3,5,1)の内容HIGHを返す
  • line(x,y,z,value)
    • 例えばline(LINE,3,4,HIGH)ならばz=4,y=4の直線上をHIGHで上書きする
    • line(7,LINE,1,LOW)ならばx=7,z=1の直線上をLOWで上書きする

コピー

Cubeオブジェクトは=でコピーできる

Cube a;
Cube b;
boolean c;

a.set(1,2,3);	//(1,2,3)をHIGHに
b = a;	//bにaをコピー
c = b.get(1,2,3);	//(1,2,3)の内容HIGHを返す
  • 処理に時間がかかるので、あまり多用しない

LEDCUBEへ反映

  • LEDCUBE::update(Cube)
    • Cubeの内容をLEDCUBEに反映
    • HIGH,LOWはそれぞれLEDのON,OFFとなる
  • LEDCUBE::pull(Cube)
    • LEDCUBEの現在の状態をCubeに複製
    • できるだけ使用しない(時間のかかる処理のため)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages