• Welcome to LusoRobótica - Robótica em Português.
 

Carro telecomandado, Newbie!!

Started by Alhiados, 15 de March de 2010, 19:09

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Alhiados

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

Alhiados

#16
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), e eu me orientei a partir dai.
Arduino Duemilanove c/ Atmega328 Com 3 LEDs e um botão

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

metRo_

Parabéns, vais ver que foi um passo importante ;)

Alhiados

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

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);
    }
}

metRo_

De certeza que ocupou quase toda a memória?!
QuoteBinary sketch size: 2668 bytes (of a 30720 byte maximum)

Alhiados

lol Esquece, pareceu-me ver que a memoria máxima fosse 3 mil e tal, não reparei bem!!

Alhiados

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), no qual nao dá para ver a imagem, por isso nao sei como montar na breadboard!!!
Podem me dizer o que devo fazer??

Alhiados

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

Este segundo vídeo é como ficou no final!!
Display de 7 segmentos

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);
  }