Ir ao conteúdo
  • Cadastre-se

vtrx

Membro Pleno
  • Posts

    4.395
  • Cadastrado em

  • Última visita

Tudo que vtrx postou

  1. Toda vez que trocar um yoke,tem que fazer a convergência,as borrachas de sustentação do Yoke são ajustadas na montagem,elas que controlam a convergência da borda da imagem. Posta uma foto da imagem em preto e branco(diminua toda a cor na TV) que posso te dizer se terá que fazer a convergencia dos anéis ,posição do Yoke ou os dois.
  2. Algumas observações: Sou novo no mundo Arduino,não me interessava pela plataforma até que encontrei duas Libs muito bem feitas para o ambiente Arduino que eu tentava otimizar de um código C para PIC ou AVR,uma das Libs é complexa e dedicada parar o Atmega32U4 e não encontrei referencia na internet para outros micros e apenas achei para Arduino Leonardo. Pensei em adaptar o código para outros compiladores/micro mas descobri que o Arduino usa linguagem C++,isso é um empecilho a mais para converter para C no meu caso. Quando comecei a programar para PC,escolhi C e Delphi e para minha falta de sorte,o Delphi usa Object Pascal ou C++ e resolvi aprender Object Pascal deixando o C++ de fora,eu poderia hoje em dia ter convertido um projeto Arduino rapidamente se tivesse escolhido C++ no Delphi. Só mencionei isto para explicar porque fiquei interessado em portar um projeto Arduino para C. Existe um inconveniente quando se porta um projeto do Arduino para AtmelStudio,o .hex fica maior. Procurando na internet descobri que a IDE do Arduino,na hora de compilar,não incluem as bibliotecas não usadas,porém o AtmelStudio as incluem mesmo se não for usadas,ficam 'paradas' no código,então a vantagem é que o projeto no AtmelStudio fica totalmente independente do Arduino instalado e expõe todas as Libs do Arduino para ler/alterar/examinar dentro do compilador em tempo de execução,o Arduino não. A programação dentro do ambiente Arduino não é eficaz em relação a execução de código,este é mais um motivo que me levou a portar o projeto,exemplo; Num projeto .ino a execução do programa passa por void setup() e roda dentro de void loop(). A estrutura com em C seria mais ou menos assim; /* * exemplo.c * * Created: 01/01/2022 06:55:41 * Author : ALL */ //DEFINIÇÃO DO CLOCK PARA REFERENCIA DE TEMPORIZAÇÕES// #ifndef F_CPU #define F_CPU 20000000UL // 20 MHz clock speed #endif //ARQUIVOS QUE SERÃO USADOS DEPENDENTE DO PROGRAMA #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdio.h> //------ DEFINIÇÕES ---------------------------------------------- //------- VARIAVEIS ---------------------------------------------- //-------- PROTÓTIPO DE ROTINAS/FUNÇÕES -------------------------- ... //-------- FUNÇÕES/ROTINAS --------------------------------------- //-------- INICIO/START/SETUP ------------------------------------ int main(void) { //INICIALIZAÇÃO DAS VARIAVEIS E HARDWARE// while(1) { //LOOP DE REPETIÇÃO DE ROTINAS VARIAS } } //FIM No Arduino,o arquivo .ino faz um salto para um pseudo 'main',mais ou menos assim; #include <Arduino.h> #include "Algum_arquivo.h" Bla,Bla,Bla etc... void setup() { //CONFIGUIRAÇÕES DE HARDWARE ETC... } void loop() { //REPETIÇÕES DAS ROTINAS ETC.. } Em #include <Arduino.h> não tem muito problema,ele configura o clock,os pinos,os includes Atmel e um monte de definição. Depois disso ele vai para o main{} 'padrão' iniciando variáveis etc e dentro deste main temos um looping normal,como mostrado,mas tem um detalhe. Dentro deste looping temos; loop(); if (serialEventRun) serialEventRun(); Isso significa que qualquer rotina dentro de void loop() no Sketch passa por uma chamada de rotina(loop();) e por uma comparação(if (serialEventRun) serialEventRun();). Olha o desperdício de recursos se voce apenas piscar um LED! Tem mais alguns detalhes de desperdício. Para setar um pino,exemplo pino 13:digitalWrite(13, 0); Olha o código gerado toda vez que voce setar o pino em HIGH/LOW; void digitalWrite(uint8_t pin, uint8_t val) { uint8_t timer = digitalPinToTimer(pin); uint8_t bit = digitalPinToBitMask(pin); uint8_t port = digitalPinToPort(pin); volatile uint8_t *out; if (port == NOT_A_PIN) return; // If the pin that support PWM output, we need to turn it off // before doing a digital write. if (timer != NOT_ON_TIMER) turnOffPWM(timer); out = portOutputRegister(port); uint8_t oldSREG = SREG; cli(); if (val == LOW) { *out &= ~bit; } else { *out |= bit; } SREG = oldSREG; } Imagine gerar pulso usando; digitalWrite(13, 0);//LOW digitalWrite(13, 1);//HIGH Ja da para ter uma ideia de desperdício de desempenho em pró a facilidade. Para importar um Sketch do Arduino para o Atmel Studio é simples,a própria IDE faz isso; Selecione o arquivo .ino,crie a nova pasta e o AtmelStduio faz o resto para voce. No meu caso eu baixei uma Lib,com exemplos,então voce deve copiar todos os .h e .cpp,que não fazem parte do Arduino,e colar na pasta criada pelo AtmelStudio com o nome de sua Sketch(onde fica a pasta Debug e Release). Pronto o AtmelStudio mostrara em sua IDE todos os arquivos que o Arduino usa,deste modo voce pode ler e verificar todos. A grande vantagem é que voce pode procurar algum erro facilmente pois pela IDE do AtmelStudio,basta selecionar o trecho de código com o mouse direito e clicar em Goto Implemation,deste modo voce vai direto a rotina ou definição do trecho do código onde estiver para voce poder verificar ou alterar livremente,eu mesmo ja 'travei' um projeto Arduino tentando fazer uma alteração e tive que reinstalar o Arduino. Outra vantagem é que o hex gerado estará na pasta padrão,que é Debug ou Release e voce pode até desinstalar o Arduino. Por enquanto é isso,ainda vou procurar mais facilidades desta importação. PS: Esqueci de mencionar. Depois de criado o novo projeto pelo AtmelStudio,dentro da pasta do projeto existe uma pasta .vs,ele é oculta voce tem que liberar a visualização de arquivos ocultos para poder ver,apague esta pasta antes da primeira recompilação,isto é,uma vez só,depois disso não precisa mais. É que pode haver mensagens de erro que dependem da versão do Arduino instalado,apagando esta arquivo o AtmelStudio substitui pela versão usada nele.
  3. Não é isso. Eu fiz de manhã no serviço quando ainda não tinha ninguém. Devo estar +- as 14:00 em casa e mostro o passa a passo. É bem simples,apenas a parte de desmembrar o Main que é chato. PS:Faltou eu dizer que como sou 'novato' em Arduino,esperei alguém comentar pois corria o risco de alguém 'comentar' que ja sabia a tempos isso.
  4. Aprendi como portar um projeto Arduino para ser compilado no compilador AtmelStudio 7,que é o que eu mais utilizo. Agora posso verificar todos os procedimentos 'oculto' usado na IDE do Arduino e deixar o projeto mais limpo e resolver rapidamente algum erro pois posso abrir qualquer tipo de arquivo no compilador,inclusive estou usando o Main.cpp direto e não indireto como na IDE do Arduino. Desinstalei e apaguei as pastas relacionadas a IDE do Arduino para verificar se ainda ficou dependente da plataforma e ficou totalmente independente.
  5. Toda vez que voce troca um yoke,voce tem que fazer a convergência.
  6. Se puder e souber,inicie o sistema com algum Linux bootável,sem instalar o sistema,e verifique se o problema some. se não acontecer mais,voce descarta problema de Hardware. Seria importante se voce puder gravar um vídeo com o defeito acontecendo,garanta que o audio do PC apareça bem na gravação,deste modo poderemos verificar o que ocorre com o HD.
  7. Compilador e trecho do código seria essencial.
  8. Voltando.... Foi só gravar o arquivo.hex (sem bootloader) e funcionou normalmente. A IDE não é boa,mas pelo menos compila o código que procurava que funciona,graças a comunidade. Bibliotecas completas,ja o compilador...não abre arquivos.h etc.
  9. Ta difícil. Qual compilador voce usou? Todo código que postou não simula no Proteus e a mudança de bancos é difícil. Não espere muito de mim.
  10. As bibliotecas não são diretamente compatíveis com a maioria dos compiladores,tem que fazer 'ajustes' para compilar,pelo menos as que eu li,é uma mistura de C,C++ e linguagem Arduínica. Se eu estiver errado,me corrijam,eu até ficarei feliz em entender.
  11. Eu ainda não instalei a IDE e nem chegou a placa,chegando posto o 'resultado'. É uma pena verificar que muitas bibliotecas 'interessante' estão disponíveis em C/C++/Arduino.
  12. Dei uma pesquisada e parece que é só gravar o hex na maneira convencional. Pensei que tinha que alterar alguma coisa no código,mas parece que não.
  13. Estou pesquisando um controle FFB e sempre encontro muito material para arduino,então vou comprar uma placa Arduino Leonardo para aprender a usar o firmware no microcontrolador diretamente. Minha questão é a seguinte,eu baixando a IDE do Arduino,instalando a Lib e compilando,é gerado um Hex comum que a maioria utiliza um Bootloader para carregar?então como não pretendo usar um Bootloader,esse hex gerado pode ser gravado diretamente no Micro ou é obrigatório o Bootloader?
  14. Olá. Se for sobre o tópico,é preferível continuarmos aqui para mais pessoas ajudarem. Fora do tópico não poderia ajudar pois tenho outras tarefas e não teria tempo. Uma dúvida seria,voce esta usando ASM por qual motivo? Suas dúvidas estão relacionadas a alguma tarefa de algum curso? Fora isso não vejo motivo de não utilizar o tutorial postado aqui usando outra linguagem,que no caso seria BASCOM que esta todo comentado no tutorial. A adaptação para o que voce quer fazer não serial um impedimento.
  15. Olá. Qual compilador usou? Posta o código completo,com botões,o que voce postou esta faltando a referencia ao MAIN. PS:De qualquer forma,tambem fiz usando matriz em ASM em 2012. È antigo,mal feito e nunca montei um hardware real e usa um 16F628a. voce estudo o código e adapta,e ele usa a mudança de bancos que falei pois de qualquer forma vai ter que alterar os bancos pelo tamanho do código que postou. leds.rar
  16. A troca de banco não é automática,lembre-se que em ASM voce é o comandante de todo o sistema/hardware. voce não teria esse projeto rodando no proteus para postar? Não sei que ponto esta seu projeto,mas em 2012 eu postei um exemplo em ASM/16F628 usando duas matrizes de 7 segmentos. voce pode dar uma olhando que o código esta bem comentado e usa interrupção no tempo,isso ajuda com menos erros de temporização,comece com dois módulos e vá aumentando e testando,ma ja adianto que conforme o código aumenta,terá que alterar o Program Counter pois tem o limite de páginas no PIC antes de mudar de banco. 7seg.rar
  17. Se voce tem experiência em ASM,talvez uma dica ajude. Não sei se é esse o caso mas PIC tem um limite de páginas,se ultrapassar tem que mudar de banco. OFF:Adorava programar tabelas em ASM.
  18. Mouse direito no link do arquivo que esta para download(Download link) e escolha 'salvar link como'.
  19. O problema de usar um ST é o tamanho dos Pads,a pcb é montada manualmente para economizar,ja pensei em usar o 74HC,mas continuaria em não substituir o PIC por um AVR 'diretamente'.
  20. No meu caso iria substituir o microcontrolador de uma interface que faço a anos por um AVR,mas a interface utiliza comunicação USB fullSpeed e as 30 IO,e neste caso o PIC ainda sai mais em conta. Aproveitando o assunto,alguém sabe me dizer o que acontece se eu tiver vários módulos Bluetooth (HC) conectado a varias interfaces iguais com a mesma senha e ID e eu conectar uma delas é possível ou todas vão responder?
  21. Bom isso. Sei de uma técnica que é ler e verificar se o byte é diferente antes de gravar,outra eu não sei. Pena que resolvi trabalhar com AVR tarde...é uma arquitetura muito eficaz,só não consegui substituto,em termos de tamanho e porta,para o 18F4550,o próximo seria o ATmega32U4,mas tem 25 IO e o 18F4550 30.
  22. Li bastante sobre a duração da Eeprom interna do Atmega,o datasheet dizendo que seria e média 100.000 Gravações/Apagamento,mas qual a duração média somente leitura?
  23. Não sei se percebeu, a menos que esteja usando duas seriais,não vejo como se comunicar com baud rate diferente... Deixa os dois baud rate com 9600.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!