Jump to content
Sign in to follow this  
Zeroone

bricadeiras com PIC para 1o ROBOT

Recommended Posts

Zeroone

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

Share this post


Link to post
Share on other sites
QuickFire

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

Share this post


Link to post
Share on other sites
deathseeker25

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

Share this post


Link to post
Share on other sites
Trifasico

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

Share this post


Link to post
Share on other sites
Zeroone

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 :-)

Share this post


Link to post
Share on other sites
deathseeker25

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? :cheesygrin:

Share this post


Link to post
Share on other sites
Zeroone

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

Share this post


Link to post
Share on other sites
QuickFire

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 :)

Share this post


Link to post
Share on other sites
jorruivo

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

Share this post


Link to post
Share on other sites
NuGuN

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

Share this post


Link to post
Share on other sites
Narchotyck_Killer

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

Share this post


Link to post
Share on other sites
Trifasico

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

Share this post


Link to post
Share on other sites
Trifasico

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

Share this post


Link to post
Share on other sites
andronikus

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.