#include <TM1637Display.h>
#define CLK1 10
#define DIO1 11
TM1637Display display1(CLK1, DIO1);
char ArtNetHead[8] = "Art-Net";
const int art_net_header_size = 17;
const int number_of_channels = 512; //512 for 512 channels, MAX=512c
byte buffer_dmx[number_of_channels]; //buffer used for DMX data
byte ArtDmxBuffer[(art_net_header_size + number_of_channels) + 10 + 1];
//int val;
int A = 3;
int B = 4;
int F1 = 14;
int F2 = 15;
int F3 = 16;
int F4 = 17;
int F5 = 18;
int F6 = 19;
int F7 = 20;
int F8 = 21;
int F9 = 22;
int F10 = 23;
int A_button1 = 6;
int A_button2 = 5;
int A_button3 = 2;
int S1_switch1 = 9;
int S1_switch2 = 8;
int S1_switch3 = 7;
int Last = 0;
int n = LOW;
int s = LOW;
int d = LOW;
int f = LOW;
int g = LOW;
int h = LOW;
int j = LOW;
int outPin13 = 13;
int outPin12 = 12;
void setup() {
pinMode (A, INPUT_PULLUP);
pinMode (B, INPUT_PULLUP);
pinMode (A_button1, INPUT);
pinMode (A_button2, INPUT_PULLUP);
pinMode (A_button3, INPUT_PULLUP);
pinMode (S1_switch1, INPUT_PULLUP);
Serial.begin (9600);
pinMode(outPin13, OUTPUT);
pinMode(outPin12, OUTPUT);
for (int i = 2; i <= 13; i++)
{
pinMode(i, INPUT_PULLUP); // pines como entradas
// pins as inputs
digitalWrite(i, HIGH); // activar resistencias pullup internas
// turn on pullup internal resistors
}
display1.setBrightness(1);
display1.clear();
}
void loop() {
check_arduino_inputs();
UP_DOWN_button();
button_A();
sw_A();
}
void sw_A()
{
digitalRead (9);
delay(40);
digitalRead (9);
g = digitalRead (9);
if (g == LOW){
Serial.print ("sw1_ON");
Serial.print ("/");
}
}
void button_A()
{
digitalRead (6);
delay(5);
digitalRead (6);
s = digitalRead (6);
if (s == LOW){
Serial.print ("push_A1");
Serial.print ("/");
}
digitalRead (5);
delay(5);
digitalRead (5);
d =digitalRead (5);
if (d == LOW){
Serial.print("push_A2");
Serial.print ("/");
}
digitalRead (2);
delay(5);
digitalRead (2);
f = digitalRead (2);
if (f == LOW){
Serial.print("push_A3");
Serial.print ("/");
}
}
void UP_DOWN_button()
{
digitalRead (A);
delay(5);
digitalRead (A);
n = digitalRead(A);
if (n == LOW) {
Last = (Last + 1) % 11;
digitalWrite(outPin13, LOW);
digitalWrite(outPin12, HIGH);
Serial.print (Last);
Serial.print ("/");
}
if (Last > 12){ //プラス方向
Last = 0;
}
digitalRead (B);
delay(5);
digitalRead (B);
n = digitalRead(B);
if (n == LOW) {
Last = (Last - 1) % 11;
digitalWrite(outPin12, LOW);
digitalWrite(outPin13, HIGH);
Serial.print (Last);
Serial.print ("/");
}
if (Last < 1){ //マイナス方向
Last = 11;
}
}
void check_arduino_inputs()
{
for (int i = 0; i < 11; i++) //チャンネル数
{
//temp_val = ((temp_val * 1.0) + (analogRead(i)*1.0));
//temp_val = analogRead(i); //anlog no.を読んでるとこ
buffer_dmx[i] = byte((analogRead(i)) / 4); //入力分解能を8ビットに変換
if (Last == 1){
digitalWrite (F1, HIGH);
digitalWrite (F2,LOW);
digitalWrite (F10,LOW);
display1.showNumberDec(buffer_dmx[0], 0, 4); // 7seg
}
if(Last == 2){
digitalWrite (F2, HIGH);
digitalWrite (F3,LOW);
digitalWrite (F1,LOW);
display1.showNumberDec(buffer_dmx[1], 0, 4); // 7seg
}
if(Last == 3){
digitalWrite (F3, HIGH);
digitalWrite (F4,LOW);
digitalWrite (F2,LOW);
display1.showNumberDec(buffer_dmx[2], 0, 4); // 7seg
}
if(Last == 4){
digitalWrite (F4, HIGH);
digitalWrite (F5,LOW);
digitalWrite (F3,LOW);
display1.showNumberDec(buffer_dmx[3], 0, 4); // 7seg
}
if(Last == 5){
digitalWrite (F5, HIGH);
digitalWrite (F6,LOW);
digitalWrite (F4,LOW);
display1.showNumberDec(buffer_dmx[4], 0, 4); // 7seg
}
if(Last == 6){
digitalWrite (F6, HIGH);
digitalWrite (F7,LOW);
digitalWrite (F5,LOW);
display1.showNumberDec(buffer_dmx[5], 0, 4); // 7seg
}
if(Last == 7){
digitalWrite (F7, HIGH);
digitalWrite (F8,LOW);
digitalWrite (F6,LOW);
display1.showNumberDec(buffer_dmx[6], 0, 4); // 7seg
}
if(Last == 8){
digitalWrite (F8, HIGH);
digitalWrite (F9,LOW);
digitalWrite (F7,LOW);
display1.showNumberDec(buffer_dmx[7], 0, 4); // 7seg
}
if(Last == 9){
digitalWrite (F9, HIGH);
digitalWrite (F10,LOW);
digitalWrite (F8,LOW);
display1.showNumberDec(buffer_dmx[8], 0, 4); // 7seg
}
if(Last == 10){
digitalWrite (F10, HIGH);
digitalWrite (F9,LOW);
digitalWrite (F1,LOW);
display1.showNumberDec(buffer_dmx[9], 0, 4); // 7seg
}
}
//--------------------------------------------------------------------------------------
}