Obrigado!!! Isso dependeria. Se vários valores forem passados de uma vez, você poderia pegar como string mesmo, e depois separar, converter e atribuir para as int.
Legal .. resolveu parte dos meus problemas... Gostaria de saber como receber uma string tipo "A300", separar a letra numa variável e o número em outra....
Olá. Você pode utilizar o método charAt(), passando a posição do caractere na string que você quer pegar ou usar o método substring(), passando por exemplo a posição do primeiro caractere e do último caractere que você quer pegar da string.
Parabéns, ótima explicação, valeu muito. Pode me tirar uma dúvida? como faço para o valor recebido na serial atribuído a uma variável, se mantenha. Ex: Digito o valor 12 atribuo a variável int "num" mas este valor é zerado logo em seguida. Quero manter o valor na variável até novo valor ser enviado pela serial
Desconsidere a pergunta abaixo já resolvi o problema descrito nela. O problema era na configuração do monitor serial que envia o fim de linha da forma que estava configurado. Resolvi selecionando na parte de baixo a opção "Nenhum final de linha" Isso é feito com a caixa na parte inferior da janela Monitor serial. Você pode escolher entre "Sem fim de linha", "Nova linha", "Retorno de carro" e "Ambos NL e CR". Quando você seleciona a opção "Nova linha", um caractere de nova linha ('\ n') é adicionado ao final de tudo que você envia."
Excelente explicação, mas, rodo o sketch igual ao seu e depois que eu entro com qualquer valor pela serial, como no seu exemplo, ele imprime a variável com o valor que enviei e em seguida ele atribui o valor zero e imprime num=0 Voce pode me ajudar float num; void setup(){ Serial.begin(9600); } void loop(){ if (Serial.available ()){ num =Serial.parseFloat(); Serial.println(num); } } Impressão -> 1.00 0.00 45.00 0.00 10.00 0.00 Obrigado
Parabéns pela aula! Como seria a comunicação entre dois arduinos, forma de escrita de quem envia e de quem faz a leitura, vc tem algum video neste sentido? poderia dar uma ajuda nesta duvida.
Olá Anderson. Por enquanto não tenho um vídeo sobre isso. Mas a comunicação pode ser feita de diversas formas, uma delas é via Serial, conectando os pinos TX de um Arduino no RX do outro.
Pucha, precisei fazer uma conversão de DEC -> HEXA com numeros grandes e vi que ao enviar os numeros decimais pela serial, maiores que 39000, chegam todos errados errados, Pode me ajudar, qual o problema?
Show a aula! Estou com um Sketch no arduino que faz a transmissão via i2c de números float, no proteus a parte inteira vai normal, mas quando volto ao número float no escravo ele arredonda para 1. Está assim o código A parte depois da vírgula do número é aux=88750. Então fica: Variavel = (float)(aux*0,0001) Só que não sai o resultado 0,8875 Ele retorna 1,00 Então quando vou somar a parte inteira com o float, soma 1,00 e não 0,8875 Já fez algo dos tipo, ou tem algo errado neste raciocínio meu? Obrigado pela ajuda!
Olá Mestre, parabéns pelo vídeo, muito bom. int num; void setup() { Serial.begin(9600); } void loop() { if (Serial.available()) { num = Serial.parseInt(); Serial.println(num); } } O meu fica retornando um "0" sempre que dou enter ou envio o comando. Sabes me dizer o que pode ser? Arduino Mini Pro
@@BitaBit Será que no monitor serial do Leandro está selecionado "Retorno de carro" na parte inferior no centro da tela? Tive o mesmo problema que o Leandro, e bastou apenas selecionar"Nenhum final-de-linha"
Apresentou de forma clara objetiva....Parabéns.
Obrigado!!
vc está de parabéns , vídeo simples e sem enrolação!
Obrigado!!!
Parabéns!!! Rápido e Eficiente. Me ajudou bastante!!!!
Obrigado!!!
Excelente explicação, me ajudou muuuito!
Cara, muito obrigado! Me ajudou muito, sua explicação foi perfeita!
Obrigado!!!
Rodei a internet achei o que precisava aqui obrigado!
Olá. Disponha
Cara, você resolveu o problema que eu tinha, muito obrigado.
🎉👍👍
Muito boa explicação, preciso, direto e sem firula
Obrigado Marcos
Me ajudou demais cara!!! Muito Obrigado
Que bom que ajudou!!!
Parabéns, muito esclarecedor.
Obrigado!!!
Muito claro e directo ..obrigado
Obrigado!!
Muito bom! Bem objetivo. Poderia me dar uma dica de como faço para ler não apenas uma, mas várias variáveis tipo int através da porta serial?
Obrigado!!! Isso dependeria. Se vários valores forem passados de uma vez, você poderia pegar como string mesmo, e depois separar, converter e atribuir para as int.
muito bom, mas uma dica é ao invés de utilizar '*' para finalizar a leitura de String, é possível usar '
", daí ele reconhece e finaliza com o enter
Valeu. Obrigado
Legal .. resolveu parte dos meus problemas...
Gostaria de saber como receber uma string tipo "A300", separar a letra numa variável e o número em outra....
Olá. Você pode utilizar o método charAt(), passando a posição do caractere na string que você quer pegar ou usar o método substring(), passando por exemplo a posição do primeiro caractere e do último caractere que você quer pegar da string.
Muito, muito bom! Inscrito!
Obrigado!!
Me deu uma iluminada em um projeto aqui, vlw
Que bom. Boa sorte nos projetos!!!!
Parabéns, ótima explicação, valeu muito. Pode me tirar uma dúvida? como faço para o valor recebido na serial atribuído a uma variável, se mantenha. Ex: Digito o valor 12 atribuo a variável int "num" mas este valor é zerado logo em seguida. Quero manter o valor na variável até novo valor ser enviado pela serial
Olá, obrigado. Verifique se realmente nada está vindo pela serial, pode estar vindo algum dado.
Desconsidere a pergunta abaixo já resolvi o problema descrito nela.
O problema era na configuração do monitor serial que envia o fim de linha da forma que estava configurado. Resolvi selecionando na parte de baixo a opção "Nenhum final de linha"
Isso é feito com a caixa na parte inferior da janela Monitor serial. Você pode escolher entre "Sem fim de linha", "Nova linha", "Retorno de carro" e "Ambos NL e CR". Quando você seleciona a opção "Nova linha", um caractere de nova linha ('\ n') é adicionado ao final de tudo que você envia."
Ok. Valeu
Excelente explicação,
mas, rodo o sketch igual ao seu e depois que eu entro com qualquer valor pela serial, como no seu exemplo, ele imprime a variável com o valor que enviei e em seguida ele atribui o valor zero e imprime num=0
Voce pode me ajudar
float num;
void setup(){
Serial.begin(9600);
}
void loop(){
if (Serial.available ()){
num =Serial.parseFloat();
Serial.println(num);
}
}
Impressão ->
1.00
0.00
45.00
0.00
10.00
0.00
Obrigado
Parabéns pela aula! Como seria a comunicação entre dois arduinos, forma de escrita de quem envia e de quem faz a leitura, vc tem algum video neste sentido? poderia dar uma ajuda nesta duvida.
Olá Anderson. Por enquanto não tenho um vídeo sobre isso. Mas a comunicação pode ser feita de diversas formas, uma delas é via Serial, conectando os pinos TX de um Arduino no RX do outro.
Pucha, precisei fazer uma conversão de DEC -> HEXA com numeros grandes e vi que ao enviar os numeros decimais pela serial, maiores que 39000, chegam todos errados errados, Pode me ajudar, qual o problema?
Olá, desculpe pela demora. Você tentou converter deste modo: variavelHex = String(variavelDEC, HEX); ?
Show a aula! Estou com um Sketch no arduino que faz a transmissão via i2c de números float, no proteus a parte inteira vai normal, mas quando volto ao número float no escravo ele arredonda para 1. Está assim o código
A parte depois da vírgula do número é aux=88750.
Então fica:
Variavel = (float)(aux*0,0001)
Só que não sai o resultado 0,8875
Ele retorna 1,00
Então quando vou somar a parte inteira com o float, soma 1,00 e não 0,8875
Já fez algo dos tipo, ou tem algo errado neste raciocínio meu?
Obrigado pela ajuda!
Olá. Para saber oque acontece precisa de mais detalhes. Boa sorte.
Ótimo Parabéns
Obrigado
Obrigado, conteúdo ótimo.
Valeu!!!
Fiz um cópia exata do exemplo mas não me retornou nada não entendi o que houve de errado por aqui ?
Não está retornando nenhum caractere pela serial?
Olá Mestre, parabéns pelo vídeo, muito bom.
int num;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
num = Serial.parseInt();
Serial.println(num);
}
}
O meu fica retornando um "0" sempre que dou enter ou envio o comando.
Sabes me dizer o que pode ser?
Arduino Mini Pro
Olá. Obrigado.
Você está enviando que comando?
@@BitaBit Será que no monitor serial do Leandro está selecionado "Retorno de carro" na parte inferior no centro da tela? Tive o mesmo problema que o Leandro, e bastou apenas selecionar"Nenhum final-de-linha"
Eu preciso de um programa em que o usuário digitasse um inteiro para atribuir um outro comando, com esse script daria certo?
Olá. Sim da certo, use o método parseInt( ) pra ler e atribuir a uma variável de tipo inteiro.
@@BitaBit obrigado, só mais uma perguntinha, o mesmo conceito para webserver?
Isso é para comunicação serial no Arduino
Show amigo
texto = Serial.readString();