Jhonatan Serafim

Respostas no Fórum

Visualizando 15 posts - 301 até 315 (de 548 do total)
  • Autor
    Posts
    • 10/12/2019 às 00:00 #40003305559

      Seja o primeiro a fazer uma pergunta sobre esta questão.

        10/12/2019 às 00:00 #40003305560

        Seja o primeiro a fazer uma pergunta sobre esta questão.

          10/12/2019 às 00:00 #40003305561

          Seja o primeiro a fazer uma pergunta sobre esta questão.

            10/12/2019 às 00:00 #40003305562

            Seja o primeiro a fazer uma pergunta sobre esta questão.

              10/12/2019 às 00:00 #40003305592

              Olá Marcos.

              Qual seria sua dificuldade em fazer está atividade ou conflito que ocorre na atividade que informou, para que possamos te ajudar?

              As atividades podem ser feitas com diversas técnicas e lógicas como bem sabe, por isso precisamos que informe em qual trecho do código está com dificuldade ou qual técnica deseja ter mais informações. Recomendo que entre para o grupo do Telegram do M5 (https://t.me/joinchat/DZVYlkOIdyOoPdrPGwGEjA) e por lá podemos trocar informações com os outros alunos de quais técnicas e lógicas usaram para a atividade e ainda temos o Professor Ricardo que pode nos auxiliar de uma forma mais amigável.

              Em questão aos modos dos botões veja que no enunciado declara que ao chegar em 10% de bateria automaticamente deve entrar em modo de manutenção com isso entra em um outro estado.

              Um abraço.

                09/12/2019 às 00:00 #40003305593

                Seja o primeiro a fazer uma pergunta sobre esta questão.

                  09/12/2019 às 00:00 #40003305594

                  Seja o primeiro a fazer uma pergunta sobre esta questão.

                    06/12/2019 às 00:00 #40003303754
                    Citação de Ronaldo Correia de Melo Correia de Melo em 05/12/2019, 21:32

                    Boa Noite ! seria 2,5 us  ?

                    Fala Ronaldo.

                    Não seria 2,5us.
                    Me permita apresentar algumas das fórmulas que foi ensinada na aula 1 deste módulo.

                    A primeira fórmula apresentada período/tempo:

                    T = 1 / f  ou f = 1 / T

                    T= Tempo
                    f = Freqüência

                    A segunda fórmula que é a que usamos para fazer esse exercício tem duas partes:

                    Fint = Fext / 4

                    Tcym = 1 / Fint

                    Fint = Freqüência Interna

                    Tcym= Tempo do Ciclo de Máquina

                    Fext= Frequencia Externa

                    Espero que agora consiga solucionar esse tipo de exercício.
                    Bons estudos.

                     

                      05/12/2019 às 00:00 #40003304893
                      Citação de Marcos Tadeu de Brazio em 04/12/2019, 14:36

                      Olá,

                      Quando se executa o código em alguns momentos quando se aperta o botão aparentemente acontece bounce, como tratar isso sendo que na ocorrência da interrupção não dá pra usar rotinas de tratamento de debounce visto que são momentos diferentes (várias ocorrências da mesma interrupção)?

                      Grato,

                      Marcos

                      Essa é uma excelente pergunta, solicitei auxilio do Professor Ricardo para contribuir com a resposta.

                      1-) as oscilações de bounce costumam ser bastante rápidas. Se as instruções de tratamento levarem mais tempo para serem executadas do que o período de oscilação do bounce, isso não se torna um problema.

                      2-) Se sua aplicação for de alta criticidade e ou RTOS (aplicações em real time), uma boa prática seria o seguinte:
                      Sempre que a interrupção for chamada, a primeira instrução recomendada seria a “desabilitação” da mesma. Desta forma garantirá que qualquer evento de bounce não tenha influência no processo enquanto a interrupção está sendo tratada.
                      Obs: evidentemente que uma instrução de “reabilitação” da interrupção se faz necessário logo após seu tratamento ou período que julgar necessário para implementação de sua lógica.

                      3-) a previsibilidade do bounce deve ser feita pelo programador e eliminada quando julgar necessário. Um simples capacitor em paralelo com o botão dado como exemplo na pergunta, já minimizaria este probleminha.

                      4-) Também vale destacar que botões eletromecânicos são utilizados em experimentos e projetos onde não se exige essa característica de “robustez”. Pois a interrupção externa, a qual faz parte do questionamento feito, pode ser acionada por qualquer sensor digital com controle de bounce. Ou mesmo por botões com tecnologias específicas, como um capacitivo, por exemplo.

                      Enfim, percebe-se que cada caso é um caso e que as especificidades do projeto é que determinarão o melhor caminho técnico a seguir.

                      Grande abraço.

                        05/12/2019 às 00:00 #40003304956
                        Citação de Marcos Tadeu de Brazio em 04/12/2019, 19:30

                        Olá,

                         

                        Acredito que o código está errado, não é só trocar o valor para 5, precisa mudar a atribuição da variável i para 1.

                        Veja que a variável é inicializada como 1 e depois é atribuído o valor 0 a cada execução.

                        Fiz a simulação trocando para 5 e não dá certo.  Desta forma não tem resposta correta.  Poderia verificar?

                         

                        Grato,

                        Marcos

                        Olá Marcos.

                        1- De fato essa questão apresentava um erro. Porém não é o que informou o erro apresentado era sintaxe que já foi corrigido. Foi alterado o parâmetro do ultimo comando output do código onde estava RELE foi alterado para pin_b7 que é o LED4 no kit neutrino.

                        2- No código é inicializado a variável i como 1 mesmo e dentro do segundo while ela não deveria ser zerada pois estando assim ela só funcionaria uma vez , e referente a isso alteramos o código sendo assim no fim de cada etapa i voltará a ser 1.

                        3- O número 5 será usado no calculo dentro do while afim de executar as 4 alterações de estádo do LED4.

                        Veja o funcionamento:

                        1- LED4 está apagado
                        apertando B3
                        acende LED4

                        2- apaga LED4
                        acende LED4

                        3-apaga LED4
                        acende LED4

                        4- apaga LED4

                        O código alterado:

                        int i = 1;
                        while(TRUE){
                        if(!input(pin_b1)){
                        delay_ms(250);
                        output_d(0x01);
                        }
                        else{
                        output_d(0x00);
                        }
                        if(!input(pin_b2)){
                        while(i<4){
                        output_toggle(pin_b7);
                        delay_ms(300);
                        i++;
                        }
                        i=1;                                      //Alterado a variável para 1.
                        output_low(pin_b7);      //Alterado D0 para b7
                        }
                        }
                        }

                        Faça essa alteração em seu código e veja o resultado e caso queira faça uso do debug utilizando o stimullus.

                        Será adicionado 3 pontos para você por auxiliar nesta questão.

                        Grande abraço.

                          04/12/2019 às 00:00 #40003304934
                          Citação de Marcos Tadeu de Brazio em 04/12/2019, 09:23

                          Olá,

                           

                          Não entendi o que está pedindo, o que seria estado normal? seria colocar um resistor de pull-up para garantir o estado lógico alto durante o estado normal?

                          Grato

                          Olá, Marcos.

                          De fato é adicionar um resistor de pull-up. Sabe-se que o estado dito “normal” é aquele estado onde a entrada está em repouso, ou seja, sem a transição gerada pela comutação. Estado normal é o estado de repouso do elemento que irá comutar (inverter seu estado), pós evento.
                          Esses estados são estudados no Módulo 2. E abordado sobre pull-up e pull-down na aula 4 do M5. Caso queira rever o conteúdo.

                          Grande Abraço.

                            04/12/2019 às 00:00 #40003305139

                            Seja o primeiro a fazer uma pergunta sobre esta questão.

                              04/12/2019 às 00:00 #40003305140

                              Seja o primeiro a fazer uma pergunta sobre esta questão.

                                04/12/2019 às 00:00 #40003305141

                                Seja o primeiro a fazer uma pergunta sobre esta questão.

                                  04/12/2019 às 00:00 #40003305142

                                  Seja o primeiro a fazer uma pergunta sobre esta questão.

                                Visualizando 15 posts - 301 até 315 (de 548 do total)