Ir ao conteúdo
  • Cadastre-se

Projeto propeller clock.


Posts recomendados

Ola galera,estarei postando mais adiante ,fotos e explicaçoes q quem quiser montar o projeto,meu transformador rotativo esta funcioando e esta em fase de testes,mais estarei postando o programa pra gerar pwm 20khz,mais fotos do transformador,que é a base principal do relogio.ateeeeeee.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Amigos como vão,meu transformador rotativo ta gerando pouca tensão,so acende um led

e quando ponho a placa ,devido ao peso a rotaçao cai e nao gera tensão.Vou aumentar o enrolamento do secundario ,assim elevo a tensão.Segue ai o programa para quem quiser ajudar a concluir e foto do transformador.

#include <16f628a.h>

#fuses intrc_io,nowdt,noprotect,put,nobrownout,mclr,nolvp,nocpd
#use delay(clock=4000000)
#use fast_io(
int n,hour,min,sec, ch1, ch2, chr;
int16 q;
//Tabelas de numeros

const unsigned char table[11][5] = {{ 0xC1,0xBE,0xBE,0xBE,0xC1 }, // 0
{ 0xFF,0xDE,0x80,0xFE,0xFF }, // 1
{ 0xDE,0xBC,0xBA,0xB6,0xCE }, // 2
{ 0xBD,0xBE,0xAE,0x96,0xB9 }, // 3
{ 0xF3,0xEB,0xDB,0x80,0xFB }, // 4
{ 0x8D,0xAE,0xAE,0xAE,0xB1 }, // 5
{ 0xE1,0xD6,0xB6,0xB6,0xF9 }, // 6
{ 0xBF,0xB8,0xB7,0xAF,0x9F }, // 7
{ 0xC9,0xB6,0xB6,0xB6,0xC9 }, // 8
{ 0xCF,0xB6,0xB6,0xB5,0xC3 }, //9
{ 0xFF,0xC9,0xC9,0xFF,0xFF }}; //:



#int_TIMER1 //Interrupção do Timer1
void temp1s(void) //Funcão. O que deverá ser feiro a cada interrupão.
{
q++;
sec=q/2;

if (sec==60)
{
q=0;
sec=0;
min++;
}

if (min>59)
{
min=0;
hour++;
}

if (hour>23)
{

hour=0;
}
set_timer1 (3036); //Preload do Timer1
}



void caracter(chr) { //chr contem os 2 digitos (hh,mm o ss)

ch1 = (chr/10); //pegamos as dezenas
ch2 = (chr-(ch1*10)); // aqui a unidade
for (n=0;n<=5;n++) { //imprimimos primeiro digito
output_b(table[ch1][n]);
delay_ms(1); //
}
output_b(0x40);
delay_ms(2); //pausa entre digitos

for (n=0;n<5;n++) {
output_b(table[ch2][n]);
delay_ms(1);
}
output_b(0x40);
delay_us(2);
}

void doispontos() {

for (n=0;n<5;n++) {
output_b(table[10][n]);
delay_ms(1);
}
output_b(0x40);
delay_us(2);
}

void main() {

setup_timer_1 (T1_INTERNAL | T1_DIV_BY_8); //Configuração do Timer1 para clock interno = 1E6 dividido por 8
set_timer1 (3036);
enable_interrupts(INT_TIMER1); //Habilita interrupção timer1
enable_interrupts(global); //habilita interrupcão global
set_tris_b(0);

hour = 17;
min = 03;
sec = 10;
q = 0;

while (1) {


while(!input(pin_a4)) {
//delay_ms(5);

caracter(hour);
doispontos();
caracter(min);

}
}
}

Link para o comentário
Compartilhar em outros sites

fala ae galera,obtive algum progresso


#include <16f628a.h>

#fuses intrc_io,nowdt,noprotect,put,nobrownout,mclr,nolvp,nocpd

#use delay(clock=4000000)
#use fast_io(

#bit tmr1f = 0x0c.0// flag de estouro timer1 )
int n;
int h=12;
int m=0;
int s=0;
int dezena, unidade, digito;
int16 q;
//Tabela com os digitos
const unsigned char table[11][5] = { {0xC1,0xBE,0xBE,0xBE,0xC1}, // ;"O"
{0xFF,0xDE,0x80,0xFE,0xFF}, //;"1"
{0xDE,0xBC,0xBA,0xB6,0xCE}, //;"2"
{0xBD,0xBE,0xAE,0x96,0xB9}, // ;"3"
{0xF3,0xEB,0xDB,0x80,0xFB}, // ;"4"
{0x8D,0xAE,0xAE,0xAE,0xB1}, // ;"5"
{0xE1,0xD6,0xB6,0xB6,0xF9}, // ;"6"
{0xBF,0xB8,0xB7,0xAF,0x9F}, // ;"7"
{0xC9,0xB6,0xB6,0xB6,0xC9}, // ;"8"
{0xCF,0xB6,0xB6,0xB5,0xC3}, // ;"9"
{0xFF,0xC9,0xC9,0xFF,0xFF}, // ;":"
};

#int_TIMER1 //Interrupção do Timer1
void temp1s(void) //Funcão. O que deverá ser feiro a cada interrupão.
{
q++; //Variável q incrementada a cada estouro do Timer1
set_timer1 (3036); //Preload do Timer1
}


void caracter(digito) { //chr contiene los 2 digitos (hh,mm o ss)

dezena = (digito/10); //obitemos as dezenas
unidade = (digito-(dezena*10)); //e as unidades

for (n=0;n<=5;n++) { //vamos leyendo la tabla para el primer digito
output_b(table[dezena][n]);
delay_ms(1); //160useg cada pixel horizontal
}
delay_us(500); //pausa entre digitost
output_b(0xff);
delay_us(500); //pausa entre digitos

for (n=0;n<5;n++) {
output_b(table[unidade][n]); //lo mismo con las unidades
delay_ms(1);
}
delay_us(500); //pausa entre digitos
output_b(0xff);
delay_us(500); //pausa entre digitos
}

void doispontos() { //los 2 puntos son el bit 7 del puerto

for (n=0;n<5;n++) {
output_b(table[10][n]); //lo mismo con las unidades
delay_ms(1);
}
delay_us(500); //pausa entre digitos
output_b(0xff);
delay_us(500); //pausa entre digitos
}

//void mensagem()

void main() { //bucle principal

setup_timer_1 (T1_INTERNAL | T1_DIV_BY_8); //Configuração do Timer1 para clock interno = 1E6 dividido por 8
set_timer1 (3036);
enable_interrupts(INT_TIMER1); //Habilita interrupção timer1
enable_interrupts(global); //habilita interrupcão global
set_tris_b(0);



while (1) { //esto quiere decir que es un bucle infinito
s=q/2; //A variável Q incrementa a 2Hz, então os segundos
//devem ser a metade.
if (s==60) //Se for igual a 60, reset em Q e S. M incrementa.
{
q=0;
s=0;
m++;
}

if (m>59)
{
m=0;
h++;
}

if (h>23) //Se H(horas) for maior q 23, reset. DIA DA SEMANA
{ //e DIA DO MÊS incrementam.
h=0;
}

while(!input(pin_a4)) { //esperamos al indice de rotacion
delay_ms(75);
//No EE protection
caracter(h);
doispontos();
caracter(m);
doispontos();
caracter(s);
}
}
}


Link para o comentário
Compartilhar em outros sites

Fala jorgeletronico beleza.

Cara muito interessante esse projeto se desse pra você postar o circuito seria legal e mais uma coisa como você faz para sincronizar com o motor, porque tem que ser de um sincronizo bem preciso para acender os leds no momento certo.

Link para o comentário
Compartilhar em outros sites

pow caroline ,senhor nao ne kkkkkkkkkkk.Sim ,você é competente certamente ira conseguir sim.Irei postar o circuito pra todos ok.Kabça o sincronismo é feito atraves de um sensor ,um fototransistor,toda vez q passa pelo led infravermelho ele dispara a sequencia de acendimento.

O circuito é esse,so foi trocado o circuito no pino ra4,onde foi colocado um fototransistor q leva a zero o pino ra4 quando passa frente ao led ir.

Obs: Nao montem os leds proximo ao centro rotativo,pois os numeros tendem a expixarem kkkkkk. Postarei o circuito do pwm amanha,pois ainda tenho q desenhar,e postarei o codigo tbem.Ate mais gente!

Link para o comentário
Compartilhar em outros sites

vou tentar postar danilo.Amigo o custo ,tipo usei muita sucata ,tipo ventoinha,os fio pra o enrolamento das bobinas tirei de transformadores de sucata,os led sao de uma placa ,q foi descartada,so comprei o pic e a placa pra soldar os componetes.A tá esqueci

q sao dois pics,mais pode obtar em gerar o pwm com um 555,eu usei um pic 16f873a q tinha aqui,usei o ad pra controlar o pwm,bom é disperdicio mais pra mim tanto faz ate porque fica aqui jogada na minha caixa no fim estraga e nao uso kkkkkkkkkkkkkkkk.Estarei postando o material completo amanha,to indo dormir agora .Mais ainda sera implementado um controle remoto no relogio ,frases etc.... aguardem... hum tenho uma ja q é eu te amo kkkkkkkk,vou ver como vai ficar kkkkkkkk.abraços.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!