Difference between revisions of "4-Digital Display"

From
Jump to: navigation, search
m (Protected "4-Digital Display" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
(Grove - 4-Digital Displays (Seeed-Studio))
Line 20: Line 20:
 
=== Voltage ===
 
=== Voltage ===
 
3.3V ~ 5.5V
 
3.3V ~ 5.5V
 +
 +
=== Code Exemple->DigitalTube->ClockDisplay ===
 +
<pre>
 +
//  Author:Frankie.Chu
 +
//  Date:9 April,2012
 +
 +
#include <TimerOne.h>
 +
#include "TM1637.h"
 +
#define ON 1
 +
#define OFF 0
 +
 +
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
 +
unsigned char ClockPoint = 1;
 +
unsigned char Update;
 +
unsigned char halfsecond = 0;
 +
unsigned char second;
 +
unsigned char minute = 0;
 +
unsigned char hour = 12;
 +
 +
 +
#define CLK 2//pins definitions for TM1637 and can be changed to other ports   
 +
#define DIO 3
 +
TM1637 tm1637(CLK,DIO);
 +
 +
void setup()
 +
{
 +
  tm1637.set();
 +
  tm1637.init();
 +
  Timer1.initialize(500000);//timing for 500ms
 +
  Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine:TimingISR 
 +
}
 +
void loop()
 +
{
 +
  if(Update == ON)
 +
  {
 +
TimeUpdate();
 +
tm1637.display(TimeDisp);
 +
  }
 +
 
 +
}
 +
void TimingISR()
 +
{
 +
  halfsecond ++;
 +
  Update = ON;
 +
  if(halfsecond == 2){
 +
second ++;
 +
if(second == 60)
 +
{
 +
  minute ++;
 +
  if(minute == 60)
 +
  {
 +
hour ++;
 +
if(hour == 24)hour = 0;
 +
minute = 0;
 +
  }
 +
  second = 0;
 +
}
 +
halfsecond = 0; 
 +
  }
 +
// Serial.println(second);
 +
  ClockPoint = (~ClockPoint) & 0x01;
 +
}
 +
void TimeUpdate(void)
 +
{
 +
  if(ClockPoint)tm1637.point(POINT_ON);
 +
  else tm1637.point(POINT_OFF);
 +
  TimeDisp[0] = hour / 10;
 +
  TimeDisp[1] = hour % 10;
 +
  TimeDisp[2] = minute / 10;
 +
  TimeDisp[3] = minute % 10;
 +
  Update = OFF;
 +
}
 +
 +
 +
</pre>
  
 
==== Liens internes ====
 
==== Liens internes ====

Revision as of 00:42, 5 January 2018

Grove - 4-Digital Displays (Seeed-Studio)

Caractéristiques

Grove compatible interface (3.3V/5V)
4 digit red alpha-numeric display
8 adjustable luminance levels

Support

4-Digital Display recto.jpg 4-Digital Display verso.jpg 4-digit display interface.jpg

Drivers

chip - TM1637

Librairies

TimerOne library
4-Digit Display library
Four-Digit Display Suli Library

Voltage

3.3V ~ 5.5V

Code Exemple->DigitalTube->ClockDisplay

	//  Author:Frankie.Chu
	//  Date:9 April,2012

	#include <TimerOne.h>
	#include "TM1637.h"
	#define ON 1
	#define OFF 0

	int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
	unsigned char ClockPoint = 1;
	unsigned char Update;
	unsigned char halfsecond = 0;
	unsigned char second;
	unsigned char minute = 0;
	unsigned char hour = 12;


	#define CLK 2//pins definitions for TM1637 and can be changed to other ports    
	#define DIO 3
	TM1637 tm1637(CLK,DIO);

	void setup()
	{
	  tm1637.set();
	  tm1637.init();
	  Timer1.initialize(500000);//timing for 500ms
	  Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine:TimingISR  
	}
	void loop()
	{
	  if(Update == ON)
	  {
		TimeUpdate();
		tm1637.display(TimeDisp);
	  }
	  
	}
	void TimingISR()
	{
	  halfsecond ++;
	  Update = ON;
	  if(halfsecond == 2){
		second ++;
		if(second == 60)
		{
		  minute ++;
		  if(minute == 60)
		  {
			hour ++;
			if(hour == 24)hour = 0;
			minute = 0;
		  }
		  second = 0;
		}
		halfsecond = 0;  
	  }
	 // Serial.println(second);
	  ClockPoint = (~ClockPoint) & 0x01;
	}
	void TimeUpdate(void)
	{
	  if(ClockPoint)tm1637.point(POINT_ON);
	  else tm1637.point(POINT_OFF); 
	  TimeDisp[0] = hour / 10;
	  TimeDisp[1] = hour % 10;
	  TimeDisp[2] = minute / 10;
	  TimeDisp[3] = minute % 10;
	  Update = OFF;
	}


Liens internes

index wiki arduino
OLED Display 0.96 inches
OLED Display 1.12 inches


Liens externes

wiki ou http://www.seeedstudio.com/wiki/Grove_-_4-Digit_Display