Ir ao conteúdo
  • Cadastre-se
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

  • 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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×