• Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Isadora Ferraz

Membros Plenos
  • Total de itens

    3.813
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

1.328

6 Seguidores

Sobre Isadora Ferraz

Informações gerais

  • Cidade e Estado Planeta Terra
  • Sexo Prefiro não dizer

Outros

  • Biografia projetos com eletrônica e programação C. 8051. pic. avr e etc
    Cad´s pcb
  • Ocupação projetos com eletrônica. Suporte técnico
  • Interesses energias alternativas. Simplicação da vida. Buscas constantes. Compartilhar conhecimento. Aliviar inquietações
  1. progresso... Seu terminal está configurado pra mostrar asc-ii. Tenta: x=8 putc(x+' ');//ou putc(x+0x30); Lembrando que é só pra você ver no terminal. Pra transmitir de um mc a outro não precisa (e nem deve) colocar +0x30 você pode também configurar seu terminal para ver em decimal (ou hex). Isto é o + correto
  2. @JGF tendi nada. você quer ajuda ou está tentando ajudar? No 2º caso você precisa passar mais informações. No 1º... tentou né. Agradecemos....
  3. Desistir de algo fácil??! Difícil viu!! Seus limites estão pequenos. Trate de pensar grande. Achar algo prontinho e personalizado para @marcmec deve ser 1 pouco difícil mas com quase menos de 1 clique no google e achei isso E lá dentro, isso Bem, mas isso... ...é exatamente o que você programou uai. são suas próprias "palavras" pra o que você quer seria algo como: for(;;){rodar_esquerda(); while(!S_1);while(S_1);} Hás de ser apresentado ao debouncing (google it) Me lembrei do site rogercom que falava sobre motor de passo. Nem sei se existe mais. Era bem legal. O google me retornou isso https://sites.google.com/site/suportearhte/controle-motor-de-passo
  4. oi. Penso que é tarefa relativamente fácil pra um programador mediano (ou+) do arduíno. Para ajudá-lo a te ajudar, você pode fornecer mais informações sobre o sensor escolhido. Algo como tipo de dado sai dele, tensão, corrente, se é digital e etc. Como o arduino é bem difundido e versátil, pode até ser que exista algo pronto. Também pode linkar o datasheet do seu sensor. Ajuda também se já existir algum produto comercial igual ao que queres projetar. Ele pode servir de base.
  5. Que bom... tudo bem... vejamos... Tenta ver se a interrupt ocorre com algo como portd.f3=^1; você deve deslocar bits numa variável e aplicá-la no PORTD. Tenta algo como unsigned char d=1; //... e na interrupt...(De fato, pra esta façanha nem precisa de interrupt, só do loop mesmo) //... PORTD=d; d<<=1; if (d>8) d=1; //... Dando certo, tenta entender. Dica0: nunca deixe a bobina acionada por muito tempo Tarefa/desafio: faça operar a meio passo. Dica1: duas bobinas ligadas ao mesmo tempo. Dica2: também nunca deixe acionado por muito tempo
  6. por gentileza não os confunda. São registros conectados mas totalmente diferentes ok? De fato (pra mim) ainda continua estático e sem movimento. Só a função parar()? Que "erro" que dá? você quer dar um passo a cada apertada do botão é isso? Se sim, não vejo isso no seu programa... Desculpe minha ignorância... A pergunta tradicional... Já fez um pisca led?
  7. ok. Tem que achar a origem do problema. Faça rotinas das quais você sabe o que vai sair delas e observe o terminal. P.ex. putc(1);putc(2);putc(3);putc(4); putc('A');putc('B');putc('C');putc('D'); ou for(;;) putc(a++); Configure corretamente o terminal para ascii ou hex e, claro, seu correto baud rate
  8. Estás no lugar certo... Vejamos... tem algo estranho aí. TMR0IF é um bit só. Penso que você confundiu. O certo seria TMR0=0x06, não? Outra, não consigo ver "movimento" no seu sw. Tá "estático". Cadê o movimento dos bits do motor de passo?
  9. Se não for trabalho de curso escolar, é um bom momento de se cogitar o uso/aprendizado sobre microcontroladores. Mais versátil-barato-fácil de achar e alguns indizíveis etc No seu caso pesquise por decodificador binário bcd e depois bcd pra 7 segmentos. Provavelmente é isso que seu professor quer.
  10. coloque outro monitor que suporte tal resolução e refaça o setup. Também pode colocar na saída av ou hdmi e usar a tv pra tal retorno. Também pode ver se ele tem algum botão de reset de fábrica. Obs: desconheço tal produto. Só intuições generalizadas
  11. talvez... Eu faria tudo com putc() e getc() no campo dos bytes mesmo sem o guloso printf(). De fato nem isso. Acessaria direto o hw do mc..., getc() trava o processamento esperando chegar algo. Mas esquece isso por hora. Vejamos se entendi seu protocolo... No 675: unsigned char a,b;//c,d nem precisa //... a=eeprom_read(x); b=eeprom_read(x+1); //... if (getc()=='C') { putc('0'); putc(a);putc(b);//putc(c);putc(d);...// pra variável int nem precisa de c e d ok? } //... no 628: unsigned int d; //... putc('C'); //... if (getc()=='0') { d=getc(); d<<=8; d|=getc(); } pronto: d é o conteúdo de 2 bytes da eeprom do 675
  12. Então não há dificuldade alguma. Anallise isto... unsigned int _INT16 putc('L');//ler _INT16=getc(E);//1o byte vai ser meu... _INT16<<=8; //...MSB _INT16=getc(E+1);//e o 2o no LSB Perceba que tens que ter 2 bytes de eeprom em 2 endereços sequenciais pra formar um int16. Penso que não há nescessidade de fechar. Pode ser que precise de + luz. (p.ex. pra escrever um int16 no 675) adicionado 13 minutos depois Ah sim... supõe-se que o argumento E da getc() será usado como endereço da eeprom_read() no 675. Portanto, deves criar sua própria getc(unsigned char).... cara tá ficando confuso kk... Mas a essência pra ler 1 int: leia 1 byte nele, desloque 8x pra esquerda, faça um OR com próxima leitura. Talvez isto te baste temporariamente.
  13. Sim esta é sua missão aqui na terra. Antes tarde do que nunca. Melhor ter este problema do que pifar seus equipamentos. Não use benjamin e use outro filtro ou simples régua de tomadas com fusível ou disjuntor apropriado. Sugiro com o dobro da capacidade máxima.
  14. Tenta algo como um protocolo qualquer. Por partes. P.ex. leiamos a eeprom do 675 -o 675 fica esperando um comando de leitura L e endereço E for(;;) { if (getc())=='L') { while (getc()!=E); \\espera endereço putc(eepromread(E)); } } -o 628 envia L e quer saber o que tem no E putc('L'); getc(E); É só um micro_start. Tem maneiras mais inteligentes e seguras pra tal façanha. Espero que abra portas e sua mente. A propósito, já fez um pisca led? Nada melhor que ele pra iniciar a dominação do micro_mundo.
  15. pra mim a primeira suspeita é que c2073 e/ou a940 estão em curto. Depois os d+, depois diodos e depois, capacitores. Mas se falar que a chave estava em 127 e ligou em 220,receba um cascudo