Hola a todos,
Me gustaria poder mostrar el numero de revoluciones de un ventilador a traves de un display de 7 segmentos. Buscando por la WEB me encontre este codigo pero no me compila:
#include "SevenSegment.h"
SevenSegment seg7(19,16,15,13, // 1,2,3,4
18,14,11,9,8,17,12,10); // A,B,C,D,E,F,G,DP
unsigned long lastPulseTime;
unsigned long pulseInterval;
void senseRotation( void ) {
unsigned long cur = micros ();
unsigned long dif = cur - lastPulseTime;
pulseInterval = (pulseInterval - (pulseInterval >> 2)) + (dif >> 2);
lastPulseTime = cur;
}
void setup () {
lastPulseTime = 0;
pulseInterval = 0;
attachInterrupt (0, senseRotation, FALLING );
seg7. begin ();
}
unsigned long lastUpdateTime;
void loop () {
if (seg7. update ()){
unsigned long cur = millis ();
if (cur - lastUpdateTime > 60){
uint16_t rpm = 60000000 / (pulseInterval * 2);
seg7. print (rpm);
lastUpdateTime = cur;
}
}
}
Esta es la libreria que utilizan en el proyecto, pero como digo no me compila:
http://code.google.com/p/arms22/downloads/detail?name=SevenSegment-001.zip&can=2&q=
Los errores que me lanza son los siguientes:
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp: In member function 'void SevenSegment::begin()':
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:46: error: 'OUTPUT' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:46: error: 'pinMode' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:47: error: 'LOW' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:47: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:50: error: 'OUTPUT' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:50: error: 'pinMode' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:51: error: 'LOW' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:51: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp: In member function 'void SevenSegment::digitOn()':
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:64: error: 'LOW' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:64: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp: In member function 'void SevenSegment::digitOff()':
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:69: error: 'HIGH' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:69: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp: In member function 'void SevenSegment::updateDigit()':
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:81: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp: In member function 'bool SevenSegment::update()':
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:88: error: 'micros' was not declared in this scope
C:\Program Files\Arduino\libraries\SevenSegment\SevenSegment.cpp:92: error: 'delayMicroseconds' was not declared in this scope
Alguien seria tan amable de decirme cual es el problema?
Gracias por molestaros en leer el post.