Project 14 Teller
1. Beschrijving
Arduino 4-bit digitale buisteller kan getallen binnen 0~9999 registreren. Het beschikt over aanpasbare weergavesnelheid, telmodus en resetfunctie. Deze module wordt veel toegepast in realtime tellers (zoals knopdrukken en DC-motordraaitellingen), gaming en experimentele apparatuur.
2. Stroomschema

3. Aansluitschema

4. Testcode
/*
keyestudio ESP32 Inventor Learning Kit
Project 14 Counter
http://www.keyestudio.com
*/
#include "TM1650.h" //Upload TM1650 library file
int item = 0; //Displayed value
#define CLK 22 //pins definitions for TM1650 and can be changed to other ports
#define DIO 21
TM1650 DigitalTube(CLK,DIO);
int res = 17; //Reset button
int subtract = 18; //minus button
int add = 19; //plus button
void setup(){
//set the pin connecting with button to input
pinMode(res,INPUT);
pinMode(add,INPUT);
pinMode(subtract,INPUT);
for(char b=0;b<4;b++){
DigitalTube.clearBit(b); //DigitalTube.clearBit(0 to 3); Clear bit display.
}
}
void loop()
{
DigitalTube.displayFloatNum(item);//Digital tube displays item value
int red_key = digitalRead(res); //Red button is the reset button
int yellow_key = digitalRead(subtract); //Yellow button is minus 1
int green_key = digitalRead(add); //Green button is plus 1
if(green_key == 0)
{
item++; //operate to add 1, item = item + 1
delay(200);
}
if(yellow_key == 0)
{
item--; //operate to reduce 1, item = item - 1
delay(200);
}
if(red_key == 0)
{
item = 0;
delay(200);
}
if (item > 9999)//return to zero when greater than 9999(excessing the display range)
{
item = 0;
}
}
4. Testresultaat
Na het aansluiten van de bedrading en uploaden van de code, druk op de groene knop om 1 op te tellen, geel om 1 af te trekken en rood om te resetten. Houd de knop ingedrukt en de weergegeven waarde zal blijven toenemen of afnemen.