LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: kerwac em 01 de Dezembro de 2010, 15:17
-
Estou a tentar fazer codigo para a dot matrix da sure. Mas acontece que esta me sempre a dar erro.
Parece me ser libraries.
Alguem me dpode ajudar a descodificar este erro?
Em anexo esta o erro.
Obrigado
-
leds da quê?
Provavelmente precisas de colocar nessa directoria do projecto o ficheiro com a classe ou fazeres um include.
-
Uma matrix de leds, provavelmente uma destas:
http://shop.ebay.com.au/i.html?_nkw=0832+led+dot+matrix+display+information+&_sacat=0&_trksid=p3286.m270.l1313&LH_AvailTo=15&_dmpt=AU_Business_Industrial_Retail_Shop_Fitting_Supplies&_odkw=led+matrix+0832&_osacat=0 (http://shop.ebay.com.au/i.html?_nkw=0832+led+dot+matrix+display+information+&_sacat=0&_trksid=p3286.m270.l1313&LH_AvailTo=15&_dmpt=AU_Business_Industrial_Retail_Shop_Fitting_Supplies&_odkw=led+matrix+0832&_osacat=0)
Se mostrasses o código que estás a usar e o erro que dá, ajudava um bocadinho que hoje a minha bola de cristal está poeirenta.
-
Boa noite peço desculpa por nao ter mostrado o código.
Código:
#include <ht1632.h>
#include <MHV_io_ArduinoDuemilanove328p.h>
void * operator new(size_t size);
void operator delete(void * ptr);
void * operator new(size_t size) {
return malloc(size);
}
void op e rator delete(void * ptr) {
free(ptr);
}
HT1632 *matrix;
void setup ()
{
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
matrix = new HT1632( MHV_ARDUINO_PIN_4,MHV_ARDUINO_PIN_8,MHV_ARDUINO_PIN_10,MHV_ARDUINO_PIN_9, HT1632::pmos_16commons );
}
void loop ()
{
// fill the display using consecutive writes
matrix->set_mode( HT1632::write_mode );
matrix->send_address( 0 );
for( int i = 0; i < 0x5E; ++i ) {
matrix->send_data(0xF);
}
delay(1000);
//blank the display using consecurtive writes
matrix->set_mode( HT1632::write_mode );
matrix->send_address( 0 );
for( int i = 0; i < 0x5E; ++i ) {
matrix->send_data(0x0);
}
delay(1000);
// chase a single LED by overwriting memory pages
for( int i = 0; i < 0x5E; ++i ) {
for( int j = _BV(0); j < _BV(4); j<<=1 ) {
matrix->write_to_address( i, j );
delay(25);
}
matrix->write_to_address( i, 0 );
}
delay(1000);
// randomly toggle bits
for( int i = 0; i < 0x5E; ++i ) {
int addr = (int)random(0x5E);
matrix->set_mode( HT1632::write_mode );
matrix->send_address( addr );
uint8_t bits = matrix->read_nibble();
bits ^= 1 << (int) random(4);
matrix->send_data( bits );
delay(100);
}
}
[/quote][/quote]
-
Então e tens as bibliotecas que estás ai a incluir no código na pasta ../Arduino/libraries/ ?
E normalmente usa-se "ht1632" e não <ht1632>
-
Boa noite senso
Sim tenho.Meti manualmente, conforme se faz habitualmente.
Estranho, mas está e dar cabo da minha cabeça
-
Então ele diz que aquilo não está declarado, procura por outro código de exemplo ou de outras bibliotecas para isso
Vê este tópico:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225239439/0 (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225239439/0)
-
troca o <ht1632.h> por "ht1632.h"
-
qual a diferença?
-
O <> é para o compilador procurar nas pastas dele e o outro é para procurar nas pastas em que está o ficheiro, ou uma coisa assim parecida, experimenta mudar e lê o link que te dei.
-
Sempre a aprender.
Obrigado vou testar.