Offline
Newbie
Karma: 0
Posts: 14
|
 |
« on: March 14, 2013, 07:44:41 pm » |
Olá a todos
Estou para vos pedir uma ajudinha com um projecto escolar que eu estou a fazer e estou a utilizar um Arduino Uno. O projecto é um parque de estacionamento de 8 lugares com um indicador de parque livre e de parque completo e com uma entrada e uma saída (utilizando servos) e se possível um display de 7 segmentos (que indicá-se o número de vagas existentes no parque). A minha ideia era que quando um carro estivesse para entrar no parque a barreira abria durante 5 segundos e passado esse tempo a barreira fecha e é adicionado esse carro à contagem e na saída quando um carro está para sair a barreira abre e fecha passados 5 segundos e é retirado um carro à contagem. Quando o parque está cheio, acende a luz vermelha e logo que sai um carro a luz vermelha apaga-se e acende-se a luz verde.
Será que me podem dar uma ajudinha?
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 19
Posts: 2305
|
 |
« Reply #1 on: March 15, 2013, 12:50:06 am » |
O que é que já fizeste?
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #2 on: March 15, 2013, 05:20:45 am » |
Apenas fiz pequenos testes utilizando um programa de um parque de estacionamento que me deram, mas esse programa apenas é o indicador de parque livre e parque completo.
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 19
Posts: 2305
|
 |
« Reply #3 on: March 15, 2013, 05:35:37 am » |
Ok... Nota, nós não estamos aqui para fazer os teus trabalhos. Estamos aqui para tirar dúvidas. Quando te perguntei o que já tinhas feito era para ver se conseguia "arrancar" perguntas em concreto sobre o que tens dúvidas e poder ajudar-te dessa forma. Perguntar para te ajudarem num projecto sem dizeres o que já tens feito ou onde ficaste encalhado, vai ser mais um post aqui a ganhar pó. Vê o que te falta, o que não sabes em concreto e pergunta. Há por aqui imensa gente capaz de te responder. 
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #4 on: March 15, 2013, 05:53:33 am » |
Eu também não estou aqui para fazerem o trabalho por mim. Eu já fiz o programa, só que quando eu coloco para passar o programa para o Arduino ele dá me uns erros de variáveis. Em anexo coloco o programa do Arduino, para ver se alguém consegue ver de onde vem os erros.
P.S. Eu sou novo no mundo Arduino tenho 2 ou 3 semanas de experiencia, ainda não sei muito.
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 19
Posts: 2305
|
 |
« Reply #5 on: March 15, 2013, 06:03:58 am » |
Ninguém disse que estavas aqui para sermos nós a fazer o programa... mas a verdade é que não deste muita informação ou sequer questões para te podermos ajudar.
Coloca aqui os erros e o código que estás a usar para podermos ver onde está o erro.
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #6 on: March 15, 2013, 06:23:56 am » |
Aqui está o programa!!!
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 19
Posts: 2305
|
 |
« Reply #7 on: March 15, 2013, 07:34:41 am » |
O que esperas atingir com isto: const int One = 3 , 4;
const int Two = 2 , 3 , 5 , 6 , 8;
const int Three = 2 , 3 , 4 , 5 , 8;
const int Four = 3 , 4 , 7 , 8;
const int Five = 2 , 4 , 5 , 7 , 8;
?
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Full Member
Karma: 4
Posts: 243
|
 |
« Reply #8 on: March 15, 2013, 07:38:19 am » |
O que esperas atingir com isto: const int One = 3 , 4;
const int Two = 2 , 3 , 5 , 6 , 8;
const int Three = 2 , 3 , 4 , 5 , 8;
const int Four = 3 , 4 , 7 , 8;
const int Five = 2 , 4 , 5 , 7 , 8;
? Eu ia colocar a mesma questão, quando atualizei a página você tinha sido mais rápido 
|
|
|
|
|
Logged
|
|
|
|
|
'round the world...
Offline
Edison Member
Karma: 19
Posts: 2305
|
 |
« Reply #9 on: March 15, 2013, 07:49:34 am » |
Eu sou o flash do Fórum do Arduino. LOL Se calhar isto é sinal que passo demasiado tempo aqui... Por falar nisso, fiquem bem. Vou passar o fim de semana fora de casa.
|
|
|
|
|
Logged
|
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o. Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum). Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.
Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).
|
|
|
|
Offline
Full Member
Karma: 4
Posts: 243
|
 |
« Reply #10 on: March 15, 2013, 07:57:58 am » |
Eu sou o flash do Fórum do Arduino. LOL Se calhar isto é sinal que passo demasiado tempo aqui... Por falar nisso, fiquem bem. Vou passar o fim de semana fora de casa. Ok The Flash! kkkk Tirar uma folga é verdadeiramente bom!  Eu responderei a todas as pessoas e quando voltares tu corriges tudo o que eu disser, ok? rs
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #11 on: March 15, 2013, 08:34:24 am » |
essa linguagem era para o display de 7 segmentos.
|
|
|
|
|
Logged
|
|
|
|
|
Portugal
Offline
God Member
Karma: 9
Posts: 743
Tomorrow I will know a BIT more than yesterday
|
 |
« Reply #12 on: March 15, 2013, 05:38:16 pm » |
Ola vejo muitas coisas menos corretas. if(digitalRead(IncreasePin)==LOW&&COUNTER<maxCar) { COUNTER++; info(); delay(wait); } na loop tens isto, a intençao é boa mas o que irá acontecer se mantiveres o pino em baixo? A loop é mais rapida que tu ou o sensor e isso ira logo atingir o valor maximo mesmo antes do sensor ou botao ser solto. Tens de encravar a funçao para que isso nao aconteça O que te aconcelho é antes de partires para a programaçao desenharem numa folha um algoritmo de como o programa tem de funcionar e partires cada parte em pequenas funçoes,depois partes para o programa. Tipo funçao detecta carro, funçao verifica lugar parque, funçao semaforo ... No teu codigo que postaste estas a repetir muitas vezes a mesma coisa que pode ser reutilizada. Pensa primeiro nisso
|
|
|
|
|
Logged
|
Debian,Mint,Ubuntu Arduino Mega 2560 Arduino Nano Arduino Duemilanove MAC OS Montain Lion Raspberry PI Model B
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #13 on: March 15, 2013, 06:11:49 pm » |
como assim fazer o algoritmo no papel?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 4
Posts: 243
|
 |
« Reply #14 on: March 16, 2013, 01:53:46 pm » |
Tuba, O que o HugoPT quer dizer é que o loop corre muito rápido e se fizeres um teste apertando e soltando o botão, o teu count pode ser incorreto, pois o loop pode registrar o estado LOW mais de uma vez em um único pressionamento. dê uma olhada nesse exemplo, ele melhora o tratamento do pressionamento (ou do sensor que enviará o sinal): http://arduino.cc/en/Tutorial/ButtonStateChange Outro método que pode utilizar é esse: http://arduino.cc/en/Reference/AttachInterruptSobre o todo, como o HugoPT disse, faz cada parte isoladamente, testa o pressionamento do botão (ou disparo do sensor), depois a movimentação dos servos, o display, etc e depois junta todo o código gradativamente, esse é o caminho mais fácil e prático (digo por experiência própria ^^). sobre o código abaixo: O que esperas atingir com isto: const int One = 3 , 4;
const int Two = 2 , 3 , 5 , 6 , 8;
const int Three = 2 , 3 , 4 , 5 , 8;
const int Four = 3 , 4 , 7 , 8;
const int Five = 2 , 4 , 5 , 7 , 8;
? Presumo que desejavas era o que tem neste link: http://www.hacktronics.com/Tutorials/arduino-and-7-segment-led.html Se algo não funcionar ou se tiveres alguma dúvida, retorna aqui que tentamos te ajudar.
|
|
|
|
|
Logged
|
|
|
|
|
|