LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: Alhiados em 15 de Março de 2010, 19:09
-
Boas, sou novo nestas andanças, newbie, e gostava de fazer o meu 1º projecto!! Gostava de fazer um carro telecomandado, a meu ver dever ser uma cena fácil, para alguns. Por isso peço ajuda aqui aos nerds da robótica uma mãozinha sobre as peças e materiais que devo usar. Aviso desde já que não tenho nenhum material ou ferramentas, por isso avisem me o que eu preciso de ter, mas tenho uma carteira pequena por isso nada muito caro!!!
Obrigadao!!!
Abraço!! ;)
-
Eu aconselho-te a começares por um carro só com duas rodas , uns servos e outros materiais básicos para um robô.
-
Era isso que eu tava a pensar, duas rodas, mas nao tinha a certeza. Mas agora, os materiais e o resto, é que nao sei do que preciso!!
Vou precisar de um Arduino?? Que mais???
-
Além do arduino e dos servos/motores dc precisas também de módulos para comunicar, isto depende do tipo de comunicação que queres, bluetooth, wireless, RF. Outro material já é mais relativo a dependências, como por exemplo resistências, etc. Se o quiseres bonitinho uns leds, mas tudo depende do que quiseres fazer.
-
O que eu quero fazer algo simples, como é o meu 1º projecto quero fazer algo que nao seja muito complicado, se me poderem dar umas dicas especificas do que eu preciso de ter e turtoriais!!!
-
Cinceramente eu acho que devias começar com um robo progamado previamente , assim seria muito mais fácil para um iniciante . ;) :D
-
Começa por comprar um arduino e um starter pack, e mete o LED a piscar, depois de umas brincadeiras, e quando já dominares mais de código, logo fazes coisas mais complexas.
para fazeres um rover RC, precisas de dois ''cérebros'' (arduinos por exemplo) Módulos RF, Ou até, se quiseres fazer apenas para indoor podes até usar infra vermelhos...
Se não tens ferramentas, precisas no minimo dos minimos, ferro de soldar (25watt), solda, chupa soldas(dá muito jeito quando se faz erros) e solda obviamente ;D
arranja uma(s) breadboard(s) antes de soldar numa PCB estas possibilitam testar o circuito sem usar solda e muito rápidamente ter aquilo a funcionar, mas, não são ideais para ter o circuito lá montade permanentemente, pois com vibrações, e manuseamento os fios vão se soltando...
O starter pack vem com uma.
enfim, o starter pack vem com coisas suficientes para umas brincadeiras simples, depois quando estiveres mais ambientado ao código, compras o segundo arduino(ou picaxe, para aprenderes mais uma ''lingua'' :P ) , e o resto do material, quando estiveres mais ambientado saberás exactamente o material que precisas 8)
Boa sorte!
-
Obrigadao amando96, era mesmo de uma resposta destas que eu precisava. Mas podias dar-me o link de um site onde possa comprar uns kits para iniciantes, desse tipo que disseste???
Abraço!!!
-
O arduino: http://loja.lusorobotica.com/microcontroladores/10-arduino-duemilanove-com-atmega328.html (http://loja.lusorobotica.com/microcontroladores/10-arduino-duemilanove-com-atmega328.html)
O kit de iniciação: http://loja.lusorobotica.com/arduino/30-kit-workshop-base-level-without-arduino.html (http://loja.lusorobotica.com/arduino/30-kit-workshop-base-level-without-arduino.html)
Com este kit fazes muita coisa e quando vires que as coisas não te chegam, já dominas o básico e não só.
-
Obrigadao SONIC_, ja mandei vir ;)!!!
-
Bem, vou levantar o kit amanha!! Agora eu gostava de saber truques, dicas e sugestões de coisas fixes que da para fazer com o arduino e com um kit de iniciante (http://loja.lusorobotica.com/arduino/30-kit-workshop-base-level-without-arduino.html (http://loja.lusorobotica.com/arduino/30-kit-workshop-base-level-without-arduino.html))!!!
-
Boas, eu estive a fazer os passos do Arduino passo-a-passo (http://lusorobotica.com/index.php/topic,22.0.html (http://lusorobotica.com/index.php/topic,22.0.html)), mas os LEDs ficaram um pouco fracos, o TigPT diz que deve ser da resistência muito alta, mas eu ainda não percebo nada disso, tive a ver nos tutoriais e não encontrei!
Se me puderem dar um link onde eu possa perceber mais um pouco sobre isto agradecia!!!
-
foi por aqui que eu comecei, e recomendo:
http://todbot.com/blog/bionicarduino/ (http://todbot.com/blog/bionicarduino/)
quando terminares passa para este:
http://todbot.com/blog/spookyarduino/ (http://todbot.com/blog/spookyarduino/)
-
Ainda só vi um pouco do primeiro site mas parece ser muito bom!!!
Obrigadao guibot!!
-
Eu fiz um pouco diferente do vídeo, do tutorial passo-a-passo Blink2, mas ficou fixe na mesma!!!
Mesmo com o codigo que o TigPT me fez a pressa, alterei um pouco mas ficou fixe!!
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fphotos-e.ak.fbcdn.net%2Fhphotos-ak-ash1%2Fhs437.ash1%2F24129_1212719892351_1659411484_464748_3614322_n.jpg&hash=f6076107c9b3540151854180004d62c4d3507992)
Este foi o codigo que usei:
int led1 = 9; // LED connected to digital pin 9
int led2 = 10; // LED connected to digital pin 10
int led3 = 11; // LED connected to digital pin 11
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(led1, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(led2, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(led3, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(led1, LOW); // set the LED off
delay(1000); // wait for a second
digitalWrite(led2, LOW); // set the LED off
delay(1000); // wait for a second
digitalWrite(led3, LOW); // set the LED off
delay(1000); // wait for a second
}
-
Eu agora gostava de adicionar um botão, para que as luzes se acenderem só quando se carrega no botão. E gostava de saber onde devo por o botao na Breadboard, e o que devo adicionar no codigo e onde!!!
-
Bem eu hoje tive a mostrar +- aquilo que eu fiz ao meu professor e ele me deu a ideia de usar aquilo que eu tinha feito e acrescentar um botao para que os LEDs só façam a sequência de luzes se eu carregar do botão!! E foi o que eu fiz, tive um pouco de ajuda da parte do amando96 que me deu o link de um site onde tem um exemplo de como ligar um botão (http://www.arduino.cc/en/Tutorial/Pushbutton (http://www.arduino.cc/en/Tutorial/Pushbutton)), e eu me orientei a partir dai.
Arduino Duemilanove c/ Atmega328 Com 3 LEDs e um botão (http://www.youtube.com/watch?v=Sww4CJv9z24&feature=player_embedded#)
E o código que usei, usei como base a do tutorial do Arduino passo-a-passo part3 (http://lusorobotica.com/index.php/topic,22.0.html (http://lusorobotica.com/index.php/topic,22.0.html)), e tentei juntar parte do código do site que o amando96 me deu, e resultou bem. Foi uma dor de cabeça mas la cheguei, isso é que importa!!!
int led3 = 11; // choose the pin for the LED
int led2 = 10; // choose the pin for the LED
int led1 = 9; // choose the pin for the LED
int inPin = 1; // choose the input pin (for a pushbutton)
int val = 0; // variable for reading the pin status
void setup() {
pinMode(led3, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(inPin, INPUT); // declare pushbutton as input
}
void loop(){
val = digitalRead(inPin); // read input value
if (val == HIGH) { // check if the input is HIGH (button released)
} else {
digitalWrite(led3, HIGH); // turn LED ON
delay(1000);
digitalWrite(led2, HIGH); // turn LED ON
delay(1000);
digitalWrite(led1, HIGH); // turn LED ON
delay(1000);
digitalWrite(led3, LOW); // turn LED OFF
delay(1000);
digitalWrite(led2, LOW); // turn LED OFF
delay(1000);
digitalWrite(led1, LOW); // turn LED OFF
delay(1000);
}
}
Deixo desde ja um grande obrigado ao pessoal que me tem ajudado 8) ;) 8)!!!
-
Parabéns, vais ver que foi um passo importante ;)
-
;) Obrigado metRo_, não ta mal. Mas agora eu quis fazer algo mais elaborado e complicado, em relação a programação. Como no kit que mandei vir só tem 5 LEDs eu pus os 5. Fiz a programação igual ao outro vídeo, mas ontem decidi fazer um código elaborado então fiz este.
Arduino Duemilanove c/ Atmega328 Com 5 LEDs e um botão (http://www.youtube.com/watch?v=x2NReQSBYaI#)
Pode não ser grande coisa mas para mim foi um grande feito, fiquei ai uns 30 mins a tentar arranjar uma sequência engraçada, e mais uns 30 mins a tentar fazer com que resultasse. Ocupei quase toda a memoria do Arduino, uma dor de cabeça!!!
Aqui esta o código para quem esta interessado!!
int led1 = 11;
int led2 = 10;
int led3 = 9;
int led4 = 8;
int led5 = 7;
int inPin = 1;
int val = 0;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(inPin, INPUT);
}
void loop(){
val = digitalRead(inPin);
if (val == HIGH) {
} else {
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(0100);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led4, HIGH);
delay(0100);
digitalWrite(led4, LOW);
delay(0100);
digitalWrite(led5, HIGH);
delay(0100);
digitalWrite(led5, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(0100);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led4, HIGH);
delay(0100);
digitalWrite(led4, LOW);
delay(0100);
digitalWrite(led5, HIGH);
delay(0100);
digitalWrite(led5, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led5, HIGH);
delay(0100);
digitalWrite(led5, LOW);
delay(0100);
digitalWrite(led4, HIGH);
delay(0100);
digitalWrite(led4, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(0100);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led5, HIGH);
delay(0100);
digitalWrite(led5, LOW);
delay(0100);
digitalWrite(led4, HIGH);
delay(0100);
digitalWrite(led4, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(0100);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
digitalWrite(led5, HIGH);
delay(0100);
digitalWrite(led5, LOW);
delay(0100);
digitalWrite(led4, HIGH);
delay(0100);
digitalWrite(led4, LOW);
delay(0100);
digitalWrite(led3, HIGH);
delay(0100);
digitalWrite(led3, LOW);
delay(0100);
digitalWrite(led2, HIGH);
delay(0100);
digitalWrite(led2, LOW);
delay(0100);
digitalWrite(led1, HIGH);
delay(0100);
digitalWrite(led1, LOW);
delay(0100);
}
}
-
De certeza que ocupou quase toda a memória?!
Binary sketch size: 2668 bytes (of a 30720 byte maximum)
-
lol Esquece, pareceu-me ver que a memoria máxima fosse 3 mil e tal, não reparei bem!!
-
Boas, estou a precisar de uma ajudinha!!
Eu agora decidi fazer um pequeno teste, ligar um display de 7 segmentos, tentei ligar e usar o codigo deste tutorial (http://lusorobotica.com/index.php/topic,277.0.html (http://lusorobotica.com/index.php/topic,277.0.html)), no qual nao dá para ver a imagem, por isso nao sei como montar na breadboard!!!
Podem me dizer o que devo fazer??
-
Boas!!
Bem, enquanto eu estava a espera da resposta de alguém decidi tentar fazer sozinho, e por acaso consegui fazer!!
Usei como base para montar as peças este primeiro vídeo (de um brasileiro), não mostra como se monta mas deu-me uma pequena ideia de como tentar montar o meu, e usei uma imagem que um professor (que me tem ajudado e dando ideias) me deu, e que vem aqui anexado, é um pinout do display, que me ajudou muito ao montar na breadboard. Depois foi o código, eu usei como base o codigo deste tutorial (http://lusorobotica.com/index.php/topic,277.0.html (http://lusorobotica.com/index.php/topic,277.0.html)), mas dava um erro que o C.Ramos falou nesse post, e eu tentei alterar da maneira que eu pensei que desse certo, e deu!!! Se tiver alguma coisa a mais ou a menos avisem-me, que eu estou aqui para aprender ;) !!!
Primeiro vídeo!!
tutorial display 7 segmentos (2/3) (http://www.youtube.com/watch?v=mf30XPnVKkQ&feature=related#)
Este segundo vídeo é como ficou no final!!
Display de 7 segmentos (http://www.youtube.com/watch?v=s-eGVvguKWw#)
E este foi o código que eu usei, foi meio feito há pressão mas deu resultado!!!
int b=7, a=8, f=3, g=2, dp=9, c=6, d=5, e=4;
int pins[7] = {b, a, f, g, c, d, e};
void setup() {
pinMode(pins[7], OUTPUT);
}
void loop()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(f, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(f, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
delay(1000);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(a, HIGH);
digitalWrite(g, HIGH);
digitalWrite(d, HIGH);
digitalWrite(b, HIGH);
digitalWrite(e, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(g, LOW);
digitalWrite(e, LOW);
digitalWrite(d, LOW);
digitalWrite(b, LOW);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(g, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(g, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
delay(1000);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(a, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(a, HIGH);
digitalWrite(f, HIGH);
digitalWrite(e, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(g, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
delay(1000);
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}