• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Zeroone

bricadeiras com PIC para 1o ROBOT

29 mensagens neste tópico

OLA, visto k tenho um grande interesse em ROBOTICA este ano comecei a construir um robo, visto ainda nao ter dado assembly comecei a programa-lo em C... torna-se mt simples O PIC em kestao é o 16F84

e entao comecei com as 1as bricadeiras, a 1º foi esta, um slide com 4 leeds.

http://rapidshare.de/files/14389299/MOV00006.3gp.html

CODIGO, mt simples.*********************************************

#include <pic.h>
/****************
* slide leeds   *
****************/

__CONFIG(XT & UNPROTECT & WDTDIS);

void delay(unsigned char a);

void main(){
unsigned char a;

TRISA=0b11111;//tudo entradas
TRISB=0b00000000;//tudo saidas

while(1){
PORTB=0b00000001;
delay(1);
PORTB=0b00000010;
delay(1);
PORTB=0b00000100;
delay(1);
PORTB=0b00001000;
delay(1);
PORTB=0b00000100;
delay(1);
PORTB=0b00000010;
delay(1);



}

}

void delay(unsigned char a)//delay procedimento atraso
{

unsigned char i,j,k;

for(k=0;k<a;k++)
	for(i=0;i<90;i++)
		for(j=0;j<90;j++)
			asm("nop");


}

*********************************************************

2ª bricadeira, Display com digitos de 0a9

http://rapidshare.de/files/14389843/MOV00007.3gp.html

CODIGO display 0a9*****************************

#include <pic.h>
/*****************
* display digital*
* 0 a 9          *
*****************/

__CONFIG(XT & UNPROTECT & WDTDIS);

void delay(unsigned char a);

void main(){
unsigned char a;

TRISA=0b11111;//tudo entradas
TRISB=0b00000000;//tudo saidas

while(1)
{              //DIGITOS
PORTB=0b11000000; //0
delay(1);
delay(1);
PORTB=0b11111001; //1
delay(1);
delay(1);
PORTB=0b10100100; //2
delay(1);
delay(1);
PORTB=0b10110000; //3
delay(1);
delay(1);
PORTB=0b10011001; //4
delay(1);
delay(1);
PORTB=0b10010010; //5
delay(1);
delay(1);
PORTB=0b10000010; //6
delay(1);
delay(1);
PORTB=0b11111000; //7
delay(1);
delay(1);
PORTB=0b10000000; //8
delay(1);
delay(1);
PORTB=0b10010000; //9
delay(1);
delay(1);




}

}

void delay(unsigned char a)//delay procedimento atraso
{

unsigned char i,j,k;

for(k=0;k<a;k++)
	for(i=0;i<250;i++)
		for(j=0;j<250;j++)
			asm("nop");


}

******************************************************

estes 1os sao so brincadeiras com as saidas, as entradas ficam pa mais tarde.....

Eu vou metendo mais coisas k fiz, ando no 2º ano e espero k ninguem critike o k fiz, pois ainda tou a dar os 1os passos neta area e so comecei a fazer estas brincadeiras á uma semana!!!!!!!!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado :D Com isto tudo vou começar a brincar com PICs :P Depois dou feedbacks :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Fizeste bem aquilo que te tinha indicado  :P Desde já o meu obrigado por contribuíres, quer postando os vídeos, quer com o código fonte.Ainda não visualizei os vídeos, mas vou fazê-lo de seguida.

Só quero avisar que, quando se posta código-fonte, temos cá no forum uma ferramenta chamada GeSHi que faz o highlight do código-fonte. Podes assim visualizar o código com cores e devidamente indentado, como fiz com o teu código.

Só esse pequeno pormenor. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito fixe mesmo! Eu não consegui foi ver os files, que estenção é essa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora podes pegar por exemplo no código do led, e em vez de usares a tabela com as saidas fazes um shift left ou right bit a bit, muito mais creativo :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora a 1ª entrada  que fiz......

mt simples, usando um infravermelho........

http://rapidshare.de/files/14444160/MOV00014.3gp.html

********************************************************
#include <pic.h>
/*****************
* 1º teste entradas*
* 0 a 1            *
*****************/

__CONFIG(XT & UNPROTECT & WDTDIS);


void main(){





TRISA=0b11111;//tudo entradas
TRISB=0b00000000;//tudo saidas

while(1)
  {    
       
       PORTB=0b11000000; //escreve 0 no display SEM OBSTACULO


  
     if(RA1=1)
      while(1){
      PORTB=0b11111001;//escreve 1 no display OBSTACULO DETECTADO
        }
             
   }
}   

*********************************************************       

Video ROBOT de um colega meu GRUTAD

http://rapidshare.de/files/14444762/MOV00004.3gp.html

.. pena pk este ja ta pa peças.....

O meu em fase de crescimento GRUTAD

http://fotos.sapo.pt/zeroone/pic/00003ypr/s500x500

http://fotos.sapo.pt/zeroone/pic/00004qb1/s500x500

http://fotos.sapo.pt/zeroone/pic/000057xs/s500x500

http://fotos.sapo.pt/zeroone/pic/00006hrc/s500x500

vai andando aos poucos :-)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O robot do teu amigo estava muito bom. Suponho que tivesse um sensor que determinasse quando estava um certo objecto a uma certa distância e mudar de direcção conforme a direcção que esse objecto se movesse em prol di sensor do robot. Muito bom.

O teu está muito fixe. A nível visual está muito porreiro.

Não queres chamar o teu amigo aqui para o forum? :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

foi o 1º  robot dele, ja pouco resta dele, tinha ums problemas nos sensores pk tava numa placa de ensaio e alem disso ainda tinha + alguns, é a vida aprende-se com os erros, vou falar com ele ......

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito bom :D

Adorei mesmo :D Cada vez me dá mais vontade de começar a brincar com essas coisinhas :)

Mas não sei mesmo por onde começar :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

olá

ainda nao vi os filmes, mas pela fotos ta muito fixe

eu gosto muito de robotica e gostava de começar a dar os meus primeiros passos nisto, ja li livros de assembler para pics e ainda nao consegui aprender a programar pics

será q o pessoal tem alguma coisa por onde eu possa estudar, de preferencia C porque assembler é do pior, eu nao sei nao de C, mas queria aprender mesmo.

sem mais

Mr_Jorge

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ta espetaculo !!!! continau com issu e vai dando noticias  :P eu tb tenho andado a fazer o meu primeiro robot.ou melhor ja esta feito! um dia destes posto aqui no foum uns videos e informações soubre ele  ;)

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também ja fiz um robot com uns colegas.Akilo foi feito mt a pressa pk foi p participar no robocup deste ano.

Ele segue uma linha preta,desvia-se de obstáculos,e distingue cores (verde e prateado).A programacao ficou a meu cargo,mx por falta de tempo o programa so fazia estritamente o essencial.

Ja tenho alguma experiência a trabalhar com microcontroladores,e sinceramente,os pic não são,definitivamente,chips bons para robotica. Dá para meter o robot a andar para a frente e responder as entradas de meia duzia de sensores,mas para analizar os dados dos sensores a sério (com cruzamento de dados, por exemplo de tres sensores) comecam a ser muito lentos, porque com o oscilador a 4mhz, o processador acaba por apenas ter 1mips. Ainda para mais, a arquitectura dos pics (os bancos de dados separados, em k é necessario usar os RP's, o único registo W, e apenas ter 35 instruções, ainda o torna mais lento.

Qualquer robot pequeno deve usar um avr. são chips praticamente ao mesmo preco.são mais faceis d programar com programador (não precisam da VPP de 13V). Apesar de alguns pics mais recentes ja premitirem a programacao em série,com o chip no circuito, todos os avr a permitem,para além d k um avr tem a volta de 100 instruções, 32registos,e tem a memoria num so banco de dados.Para além de ter stack. coisa k os pics so têm para os calls.Um avr com o oscilador a 4mhz, tem 4mips.o k é muito mais vantajoso.

Em resumo:

para comecar na robotica, os melhores chips sao sem duvida os avr da atmel. custam praticamente o mesmo que os pics da microchip(2-3 euros um chip normal) sao mais rapidos e mais eficientes.Para programar,qualquer um é facil para programar (o assembly daquilo aprende-se em 5min,e o C é normal). O programador é mais rápido de construir. (tres resistências chegam para os perguiçosos) e se no futuro quiserem adicionar qualquer funcionalidade ao robot mais arrojada,têm a garantia que o chip nao vos deixa ficar mal.

A robótica é um mundo viciante!e a electrónica também!

[ ]

Fotos:

http://fotos.sapo.pt/gambuzino/pic/00001ged

http://fotos.sapo.pt/gambuzino/pic/0000278q

O material foi da anpee, mas muita coisa acabamos por mudar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em robótica é usal usar-se os Hc12, da Motorola, mas apesar de serem rápidos e possuirem muitos portos, a programação é bastante mais complicada que as PICs

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não, é uma arquitectura propria da Motorola, segue grande parte a de Harvard

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está muito fixe este Robot....

Ja agora... Alguem conhece informação para a contrução de uma brincadeira destas? Ja tenho alguma experiencia em trabalho com PIC's uma vez que este ano tive de fazer um carregador de baterias... Queria agora dedicar me a um projecto destes mas precisava algo para começar... Se alguem puder ajudar... Agradeço

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao consigo compilar o programa dos leds .

eu uso a pic 18f252 e como sof. o dev ++ .

sou caloiro nestas coisas. :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A robótica é um mundo viciante!e a electrónica também!

[ ]

Fotos:

http://fotos.sapo.pt/gambuzino/pic/00001ged

http://fotos.sapo.pt/gambuzino/pic/0000278q

O material foi da anpee, mas muita coisa acabamos por mudar

Esse robot tem semelhanças com um que ajudei a construir para um concurso, que se realizou em Guimaraes ou em Braga, foi em junho de 2006, estava um bonequinho :cheesygrin: foi pena ter ganho a Universidade de Aveiro. Mas estava de mais ... :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, eu que sou um tosco em robos e ainda nao percebo nadita de programação devo ser o mais lerdo aqui

Ora por onde começo isto?

que material preciso?

os preços sao asseciveis?

alguem me pode ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas pessoal, este é o meu 1º post aqui no site e desde já quero dizer que está mesmo muito bom!!!

Ando em Eng. Electrotécnica e ando a começar a brincar com o HCs12. Já percebi que a maior parte de voçes usam mais  Pic´s.

Este mundo é de facto mesmo muito viciante e acima de td estimulante!

Já tive a brincar com os leds e tal, mas alguém por aqui sabe modificar a intensidade dum led seguindo uma onda sinusoidal?

Foi uma questão dum prof e já andei a pensar no assunto, mas inda não cheguei a muitas conclusões...

Um abraço e continuem por aqui a dar informações muito muito úteis!!!  :confused:

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora