Boa noite garagistas! É um prazer participar de um site com pessoas totalmente focadas em ajudar em projetos envolvendo a plataforma Arduino, e Obrigado a equipe do Laboratório de garagem por me deixar paticipar. Pois bem, indo ao que interessa,venho tentando fazer um projeto para um restaurante, uma ideia simples, gostaria de utilizar para mostrar a proposta ao dono do restaurante um lcd 16x2 e um arduino uno.

A ideia é a seguinte, preciso escrever no LCD a seguinte mensagem "Mesa/Prato", o que eu ja consegui fazer de forma fixa através do código "lcd.println("Mesa / Prato")" ,foto anexada abaixo, e abaixo a numeração da mesa de um lado do LCD e do outro a numeração do prato (esta ultima atravéz do monitor serial ou seja, ao vivo).

Por ser um restaurante pequeno, para mostra da ideia eu gostaria de fazer assim  porem mais pra frente pretendo fazer com a utilização de um android o qual ja fiz o APP mas n possuo o dominio de programação ainda para utilizar o app com o arduino via bluetooth .

Comecei a programar o arduino e consegui gerar no lcd de forma fixa a mensagem de Mesa/ Prato, porem não estou conseguindo fazer a programação para o serial monito escrever nas coordenadas corretas no lcd, e então peço ajuda de todos, abaixo segue o código e as fotos:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int incomingByte, x, y;
void setup() {
lcd.begin(16, 2);//tamanho do lcd
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0,0);//definindo a localidade do cursor
lcd.println("Mesa / Prato");

}
void loop() {

if (Serial.available() > 0) {
incomingByte = Serial.read();
lcd.print(char(incomingByte));
x = x + 1;
y = y + 1;
if(x > 1){
lcd.setCursor(0,1);
x = 0;
}
}
if(y > 31){
lcd.setCursor(0,0);
y = 0;
x = 0;

}
}

Exibições: 813

Anexos

Responder esta

Respostas a este tópico

Não entendi o objetivo de escrever Mesa /Prato . 

Esse display ficará em cima de cada mesa ? Ou ficará na saída da cozinha ?

Ao invés de numerar o prato, porque não descrevê-lo , como por exemplo 

- filé com fritas, etc .

Todo restaurante tem mesas numeradas que os garçons já conhecem...

Boa Noite, Obrigado por responder.

Creio não ter me expressado muito bem e sua pergunta meu deu um norte aqui...

O projeto funcionará da seguinte maneira, o garçom receberá o pedido do cliente e escreverá no monitor serial e o pedido aparecerá pelo LCD dentro da cozinha, para o chef de cozinha assim, conseguir realiza-los na ordem correta.

Quanto a ideia de escrever os pratos, realmente pensei em escrever o nome deles, porem por não consegui encaixar corretamente o nome no LCD, e por ser um restaurante pequeno com uma média de dois PF's por dia, pensei em numera-los para assim conseguir, porem ainda sem exito aki.

O projeto que gostaria de realizar de forma mais complexa seria através de um app de android o qual chegaria os pedidos armazenados em menus via aplicativo no lcd e o chef somente iria clicando e visualizando quais os pedidos a fazer, e todos eles de forma escrita e não enumerados.

Quanto as mesas, o chef estava precisando de fazer o controle das mesas, mais pela logistica do lugar.

Obrigado

Ficarei grato se puderem me ajudar.

Restaurante com dois Prato feitos por dia ?

E precisa de um sistema desses ?

Um display serial poderá conter pouca informação sobre o prato. 

Imagine se um cliente pedir o bife ao ponto e com cebolas...

O sistemas de restaurante que eu já vi, os pedidos são controlados através de palm top. 

Ou um smartphone acho .

Exatamente José, são poucos pratos, e um sistema assim resolveria muito, por motivos de agora estar sem um ajudante geral no restaurante.

Decorrente desse fator eu propus essa ideia, tanto pela urgencia quanto pelo meu aprendizado em arduino (afinal é um pequeno projeto).

O display realmente não possui números de caracteres para uma informação a mais, creio talvez ter de arrumar um display um pouco maior.

Quanto ao sistema controlado por palm, eu cheguei a fazer um aplicativo para o android, pelo site "App Inventor" porem  não sei programa-lo da maneira correta.

A ideia seria pelo android, porem como não possuo ainda o conhecimento necessario, por isso resolvi fazer via serial monitor, o que também não ficou muito bom.

Eu gostaria de saber se pelo serial monitor, pode ser guardado a informação pelo arduino e assim ser repassada essas informações pelo monito LCD com botões para o chef ir acessando aos pedidos ao longo deles estarem sendo feito.

Obrigado

sugestão: comece simples, depois vc incrementa o teu sketch

o que é começar simples? é começar usando apenas o lcd 16x2, dominar a exibição de textos nas posições onde vc desejar. Por exemplo, comece imprimindo seu nome na primeira linha e as horas na segunda linha. Depois desloque o seu nome pra ficar alinhado à direita e as horas também alinhadas a direita. Quando vc entender como funciona a exibição de textos no lcd, aí sim vc parte pra outra fase.

Não comece já de cara com laços, posicionamentos via incremento de variáveis, condicionais, etc... Isso só dificulta sua  aprendizagem.

Boa noite, Obrigado pela sugestão.

Por ser de Urgência, procurei o Laboratório de Garagem para me dar o caminho das pedras ( ou se preferir, fazer junto comigo esse projeto me ajudando a programa-lo), por isso utilizei uma programação existente em apostilas de arduino, os quais são explicativas mas realmente me trouxeram dúvidas sim.

Esse projeto é uma ajuda que eu quero dar a esse chef, percebendo que através do Arduíno existe uma gama de oportunidades para executa-lo de uma maneira eficiente e anexando ao projeto uma estética agradável, utilizando também o que sei fazer de melhor, modelagem Tridimensional e impressão 3D.

Obrigado.

imhugo, conseguir fazer atravéz do modo como você falou, porem não sei como seria para alguém que não possui nenhum entendimento, por isso o garçom ao acessar, o ideal era ele escrever via monitor serial, (dentro do que consigo fazer porque o ideal mesmo é via um smartphone)

Abaixo segue o resultado: 

legal, ao menos já conseguiu dominar o posicionamento de textos num lcd. Mas ouça o que o amigo Murta está tentando te alertar, esse seu projeto vai dar zebra, um lcd 16x2 vai trazer vulnerabilidades na funcionalidade. Como o chef saberá em qual sequência os pedidos foram lançados? Não vi nenhuma referência sua quanto a isso.

Vc já viu o monitor que mostra a fila de pedidos no mcdonalds? Será que vc não teria que projetar algo como aquilo?

imhugo, bom dia, estou pesquisando mais monitores LCD, talvez eu pegue um 128x64, porem não sei se é a mesma configuração deste lcd que possuo, vou pesquisar aqui.

Obrigado

ai está, só acertar os espaços para ficar como vc quiser: (obs: o recebimento do valor da serial está simplicaifado; vc tem que trabalhar  os if como vc já vem fazendo):

mesa = Serial.available();

prato01 = Serial.available();

prato02 = Serial.available();

lcd.setCursor(0,0);

lcd.print("  mesa   /    prato  ");

lcd.setCursor(0,1);

lcd.print("  ");

lcd.print(mesa);

lcd.print("   /   ");

lcd.print(prato01);

lcd.print(" e ");

lcd.print(prato02);

lcd.print(" ");

----------------------------------------------------

Se forem bem poucos lcds, recomendo usar o serial I2C, fica mais fácil e prático.

vc pode usar lcds maiores, só vai mudar a o tamanho dele na iniciação; por exemplo, o de 20x4 (lcd.begin(20, 4);)

Gustavo, Obrigado pela ajuda

Eu não possuo muito conhecimento ainda em Arduino então como chegou o código simplificado estou com dificuldade de aplica-lo, porem agradeço muito a sua ajuda.

Outra coisa, será somente um LCD.

ao usar simplificado, eu quis dizer que não deve ser feito assim, mas coloquei para vc entender o que são as variáveis mesa, prato01 e prato02.

pelo que entendi, vc está conseguindo receber esses valor corretamente em seu programa, não está? agora é só acertar os nomes das variais.

OBS.: e coloquei o comando errado; é Serial.read() que deve ser usado.

int contador = 0;

if(contador == 0){

if (Serial.available() > 0) {

mesa = Serial.read();

contador = 1;

}

}

if(contador == 1){

if (Serial.available() > 0) {

prato01 = Serial.read();

contador = 2;

}

}

if(contador == 2){

if (Serial.available() > 0) {

prato02 = Serial.read();

contador = 0;

}

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço