Pages: 1 [2]   Go Down
Author Topic: Parque de Estacionamento Utilizando o Arduino Uno  (Read 2383 times)
0 Members and 1 Guest are viewing this topic.
Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1544
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
como assim fazer o algoritmo no papel?
A minha sugestao e desenhares tipo com baloes e instruçoes de decisao num papel o diagrama que o teu programa tem de fazer e resolver mediante o desafio que tens.
Partes cada bocado num pequeno problema e vais criando funçoes para cada uma delas
Por exemplo no teu codigo que postaste estas a repetir a mesma coisa imensas vezes para ligares os leds com o numero de lugares no parque.Para contornar isso podes usar uma variavel de 8 bits e mandares essa variavel directamente no Porto onde tens os leds.Assim podes usar uma funçao para la escrever de uma forma simples:
Code:
void writeVariableToPortB(uint8_t valueToPort)
{
DDRB = 0x1F;        //seta os 5 bits menos significativos do porto B como outputs
PORTB = valueToPort;             //escreve valor na PortaB
}


Ve esta pequena tabela de verdade que fiz no excel sobre os valores que a variavel que passas para a funçao terá de ter:
Ou seja se quiseres ligar o led 5 passas para a funçao uma variavel com o valor de 32 por exemplo:
Code:

uint8_t portVariable = 1;

void setup()
{
 DDRB = 0x1F; //seta os 5 bits menos significativos do porto B como outputs 0b00011111
 /*O portB tem como pinos no Atmega328 a seguinte ordem:
 bit0 do PortoB ----->Pino 8 no arduino
 bit1 do PortoB ----->Pino 9 no arduino
 bit2 do PortoB ----->Pino 10 no arduino
 bit3 do PortoB ----->Pino 11 no arduino
 bit4 do PortoB ----->Pino 12 no arduino*/
}
void loop()
{
  for(uint8_t i = 0; i<=4;i++)
 {
   writeVariableToPortB(portVariable);
   portVariable = portVariable * 2;
   delay(1000);
   if(portVariable == 64)portVariable = 1;//Renicia o ciclo
 }

}
void writeVariableToPortB(uint8_t valueToPort)
{
PORTB = valueToPort;//Escreve o valor no PortoB
}
Este codigo deverá fazer correr os 5 leds e devera dar para resolveres essa repetiçao de codigo.Agora resolves os outros erros ...




* TabelaVerdade.png (9.74 KB, 600x270 - viewed 11 times.)
« Last Edit: March 16, 2013, 04:33:09 pm by HugoPT » Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Desculpa, mas não estou a perceber o isso dos valores decimais.
E isso do algoritmo é tipo isto:


* fluxograma parque estacionamento.bmp (18.21 KB, 533x240 - viewed 15 times.)
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1544
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Desculpa, mas não estou a perceber o isso dos valores decimais.
Esses valores em decimal e a conversao de binario para decimal.Se pegares numa calculadora em modo programaçao (usa a do windows) e colocares la 10000 no formato binario e carregaresm em DEC ele converte esse numero para decimal que é o mesmo valor mas numa representaçao diferente
Quote
E isso do algoritmo é tipo isto:
Nao bem, é mais algo assim:




* Fluxogranma02.gif (14.83 KB, 365x413 - viewed 14 times.)
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1544
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
desculpa estar a pedir te isto mas eu tou desesperado é que nao entregar esse projecto concluido no inicio do 3º periodo tenho que me inscrever para a recuperação do modulo e isso vai custar me 7 euros.
Nao vou fazer isso pois isso e contra tudo neste forum.Se pedires ajudar sim irei ajudar nas tuas DUVIDAS, mas nao irei fazer isso que me pedes.
Se eu te fizer isso nao vais perceber no final e nao vais ganhar nada nem aprender.Nao penses dessa forma,nao encares esse projecto como algo que tens de fazer a pressa e depois arrumou pra sempre.Da valor ao que estas a fazer e dedica-te a ele.
Acredita que eu no teu lugar preferia chumbar o modulo se quando o estivesse para apresentar nao entende-se o que la tinha feito
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tá bem mas eu depois de isso completo eu ia pedir que me ensinasses a fazer essas coisas, pois o professor diz que se eu fizer bem o trabalho me oferece o arduino.
E desculpa, por isto mas é que eu estou um pouco às cegas com o projecto, apenas tenho as ideias de o que queria que acontecesse no parque, mas nao percebo patavina da linguagem que deveria fazer, será que me podes ensinar a fazer a linguagem para este projecto?
Logged

Portugal
Offline Offline
Edison Member
*
Karma: 37
Posts: 1544
Pretending you know everything then you will learn nothing.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

O teu programa tem de correr de uma forma logica e estruturada.Quando digo faz o algoritmo é para meteres isso explicado em papel para entenderes o que estas a fazer e qual o proximo passo.Elabora um fluxograma com o que tens de fazer para controlar o parque.
Desenha com instruçoes de decisao
Logged

Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B


Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

vou fazer o fluxograma agora mesmo, podes me dar uma ajudinha a fazer o programa depois?
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3223
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

desculpa estar a pedir te isto mas eu tou desesperado é que nao entregar esse projecto concluido no inicio do 3º periodo tenho que me inscrever para a recuperação do modulo e isso vai custar me 7 euros.

Fazer a disciplina sem entenderes o que fizeste vai custar-te muito mais. smiley-sad

Que é que aprendeste de programação?
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 Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aprendi os Sistemas de Numeração, Circuitos Lógicos, Circuitos Combinatórios, Circuitos Sequenciais e um pouco da Arquitectura dos Microcontroladores.
Logged

Pages: 1 [2]   Go Up
Jump to: