Ir ao conteúdo
  • 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.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
André Sampaio

Qual a diferença da programação entre arduino e pic em C?

Recommended Posts

Olá, como ja venho postando minhas questões no fórum, espero que vocês possam me ajudar novamente.

Bom, estou fazendo um tcc e nele irei usar um HC SR04(Sensor ultra sonico) que pode ser programado por pic ou arduino. Eu achei uma programação relacionada com o que terei que fazer, porém ela esta programada para arduino, queria saber se tem diferença, pois talvez usarei algumas linhas de programação como auxilio para o meu trabalho.

Irei programar um PIC 18F4550, quero fazer com que o pic libere a passagem de tensão em uma de suas portas apenas quando o sensor detectar uma interrupção no seu campo referente a distancia programada, no caso do código 20 a 60.

Aqui estão as linhas de código.

 

//Programa : HC-SR04 - Distancias minima e maxima


//Autor : Adilson Thomsen

#include

//Define os pinos do Arduino ligados ao Trigger e Echo
#define PINO_TRG 7
#define PINO_ECHO 6

//Distancias em centimetros
float distancia_minima = 20;
float distancia_maxima = 60;

//Pino a ser acionado em caso de deteccao
int pino_saida = 10;

//Inicializa o sensor ultrasonico nos pinos especificados
Ultrasonic ultrasonic(PINO_TRG, PINO_ECHO);

void setup()
{
//Inicializa a serial
Serial.begin(9600);
pinMode(pino_saida, OUTPUT);
}

void loop()
{
//Variaveis para guardar os valores em
//cm (cmSec) e polegadas (inMsec)
float cmMsec, inMsec;

//Le os valores do sensor ultrasonico
long microsec = ultrasonic.timing();
//Atribui os valores em cm ou polegadas as variaveis
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);

if (cmMsec > distancia_minima && cmMsec < distancia_maxima)
{
//Aciona a porta de saida
digitalWrite(pino_saida, HIGH);
}

delay(1000);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

@André Sampaio,

 

São duas coisas a considerar : primeiro, os compiladores C são bem diferentes. Na verdade , a linguagem de programação nativa do Arduíno é bem pareçida com C, mas não é C !

 

Segunda, o hardware. Os pinos e respectivas funções são diferentes entre uma família e a outra. Terá de dar uma boa lida e achar os pinos com funcões semelhantes no Arduíno e no Pic.

 

Paulo

Editado por aphawk
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@André Sampaio,

 

São duas coisas a considerar : primeiro, os compiladores C são bem diferentes. Na verdade , a linguagem de programação nativa do Arduíno é bem pareçida com C, mas não é C !

 

Segunda, o hardware. Os pinos e respectivas funções são diferentes entre uma família e a outra. Treá de dar uma boa lida e achar os pinos com funcões semelhantes no Arduíno e no Pic.

 

Paulo

Nossa Paulo obrigado por me lembrar dos pinos, tinham me dito isso a muito tempo e eu esqueci completamente, vou verificar agora mesmo.

Obrigadão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só para complementar a observação do amigo, depende também de qual compilador você vai usar, eu particularmente uso o XC8 junto no mplab x, ele usa um C mais ANSI, o que deixa o código bem mais portável, verifique também as rotinas de delay, e registradores. no seu código do arduino ele esta usando uma lib serial, deve-se atentar a isso também, pois as funções de R/W e init são um pouquinho diferente.

Tem também a forma de setar os bits (digitalWrite) também muda. qualquer duvida estamos ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×