#include "TM1637.h"
int actor1Plus1=8;
int actor1Minus1=9;
int actor2Minus1=10;
int actor2Plus1=11;
#define ON 1
#define OFF 0
int actor1Life=20;
int actor2Life=20;
int8_t LifeDisp[] = {0x00,0x00,0x00,0x00};
#define CLK 2//pins definitions for TM1637 and can be changed to other ports
#define DIO 3
TM1637 tm1637(CLK,DIO);
void setup()
{
pinMode(actor1Plus1,INPUT);
pinMode(actor1Minus1,INPUT);
pinMode(actor2Minus1,INPUT);
pinMode(actor2Plus1,INPUT);
digitalWrite(actor1Plus1,LOW);
digitalWrite(actor1Minus1,LOW);
digitalWrite(actor2Minus1,LOW);
digitalWrite(actor2Plus1,LOW);
tm1637.set();
tm1637.init();
tm1637.point(ON);
}
void loop()
{
if(digitalRead(actor1Plus1)==HIGH)
{
actor1Life++;
}
if(digitalRead(actor1Minus1)==HIGH)
{
actor1Life--;
}
if(digitalRead(actor2Minus1)==HIGH)
{
actor2Life--;
}
if(digitalRead(actor2Plus1)==HIGH)
{
actor2Life++;
}
ShowActorLife();
delay(300);
}
void ShowActorLife()
{
LifeDisp[0] = actor1Life / 10;
LifeDisp[1] = actor1Life % 10;
LifeDisp[2] = actor2Life / 10;
LifeDisp[3] = actor2Life % 10;
tm1637.display(LifeDisp);
}
实物连线图如下: