Adicionado por Lab de Garagem:
Oi Amigos,
Este forum é uma comunidade.
Aqueles que aqui ajudam, são voluntários.
Não recebemos nada além de críticas ou elogios.
Muitas vezes recebemos muita alegria de saber que conseguimos auxiliar alguém,
e este expressou também muita alegria ao realizar algo que sozinho não estava conseguindo.
Sentimos muito prazer em auxiliar nas sua idéias ou dificuldades.
Mas para facilitar nosso entendimento, damos aqui uma sugestão de como
a idéia ou dificuldade deve ser exposta:
Descreva a de forma simples e clara, a idéia ou dificuldade, que está tendo, e
forneça informações complementares do tipo:
sketchs, esquemas, desenhos, fotos, etc.
Caso vá postar algum sketch, antes de posta-lo,
certifique-se que ele está com as linha de código comentadas e identado:
Identar (ou dentear) o código é organizar visualmente seu código de
forma que os blocos dependentes fiquem alinhados e mais à direita,
facilitando o entendimento do que está subordinado a que.
Muitos voluntários daqui do LdG, ao verem um código desorganizado,
e sem comentários, desistem de ajudar.
Ao postar sketchs, dê preferência postando em arquivos, ou em sites como
o www.pastebin.com, pois postando na área de texto do seu post, caracteres
podem ser perdidos
Exemplo de identação:
Sem identação:
void loop ()
{
a = b;
if (a == c)
{
x =y;
z++;
}
}
Identação recomendada:
void loop ()
{
a = b; // Valor em a igual ao valor em b
if (a == c) // Se valor em a igual a valor em c
{ // Faça
x =y; // Valor em x igual a valor em y
z++; // Incremente valor em z
}
}
Este simples procedimento, colocará a sua idéia no texto, e tornará muito mais fácil
ao amigo que te auxilia, a entender o que você quer fazer,
e o melhor ainda, é que no futuro você lembrará porque que escreveu uma determinada linha.
Editado por Lab de Garagem (dica de Maurício Ortega):
"Na própria ide do Arduino na aba "Edit ",selecione >Copy as HTML.
E aqui no fórum selecionar HTML e colar o texto copiado, talvez tenha que corrigir algum caractere especial".
Como este site é uma comunidade de ajuda, e todos aqui o fazem por livre e espontânea
dedicação, uma solução descrita, pode ser a solução de outro amigo, portanto,
mais uma recomendação:
Ao verificar que sua ideia ou problema ficou resolvido, tome duas atitudes que serão
muito aplaudidas por todos deste site, faça assim:
Descreva a solução do seu caso, e escreva a palavra RESOLVIDO antes do inicio do
titulo do seu post.
Atenciosamente
Rui
Tags:
Sr. ARMC, boa noite.
Sugiro que abra um novo tópico colocando lá toda a sua dificuldade, e tudo que já fez.
Sugiro também que delete este tópico que acrescentou aqui, uma vez que este tópico
trata somente de atitude e de modos de abrir e atualizar tópicos.
Atenciosamente,
RV
Bom dia a todos ! Finalmente consegui criar um método para inserir código de Arduino nos Tópicos do Lab De Garagem :
Exemplo :
unsigned long CAPTURA() // Medição de peso
{
byte data[3]; // vetor com 3 bytes
while (digitalRead(DOUT)); // enquanto lendo o pino DOUT do HX711
for (byte j = 0; j < 3; j++) // contando a variável j de 0 a 2 (3 bytes)
{
for (byte i = 0; i < 8; i++) // contando variavel i de 0 a 7 (8 bits)
{
digitalWrite(hxSCK, HIGH); // envia pulso HIGH para pino SCK do HX711
bitWrite(data[2 - j], 7 - i, digitalRead(DOUT)); // lê os bits do DOUT e carrega no vetor
digitalWrite(hxSCK, LOW); // envia pulso LOW para pino SCK do HX711
}
}
digitalWrite(hxSCK, HIGH); // envia pulso HIGH para pino SCK do HX711
digitalWrite(hxSCK, LOW); // envia pulso LOW para pino SCK do HX711
return ((long) data[2] 16) | ((long) data[1] 8) | (long) data[0]; // montando os dados do peso com os bytes recebidos
}
Olá bom dia,
Estou precisando de ajuda quanto a este programa do própio site, o programa da fita de LED RGB programavel,
eu preciso que pela porta serial acenda um led de cada vez com comando na serial, o programa faz isso mas de 0 á 9
se for de 10 para frente ja não faz por que?
o que tenho que fazer para solucionar esse problema?
#include <Adafruit_NeoPixel.h>
#define P 0x000000//PRETO
#define Z 0x0000FF//AZUL
#define E 0x008000//VERDE
#define R 0x800080//ROXO
#define V 0xFF0000//VERMELLHO
#define L 0xFFA500//LARANJA
#define R 0xFFC0CB//ROSE
#define A 0xFFFF00//AMARELO
#define B 0xFFFFFF//BRANCO
#define PIN 4// Pino de controle
#define LED_COUNT 60// Quantidade de LED's
//Cria uma instância da Classe Adafruit NeoPixel chamado "leds"
Adafruit_NeoPixel leds = Adafruit_NeoPixel(LED_COUNT, PIN, NEO_GRB + NEO_KHZ800);
unsigned long time;//Contará o tempo
unsigned long timeout;//Estouro
int brilho[3];//Recebe os valores da serial
int i=0;//Quantidade de caracteres recebida pela serial
int posicao=0;
int flag=0;//Indica que foi recebida informação pela serial
char temp,cor;//Armazena dados recebidos pela serial
void setup()
{
Serial.begin(9600);//Inicia a serial com baud rate
leds.begin(); // Inicia a fita de LED
clearLEDs(); // Apaga todos os LEDs
leds.show(); // Atualiza o estados dos LEDs
}
void loop()
{
//------------------------------------------------------------------------------------------
// Retorna o tempo em milisegundos desde que o Arduíno começou a rodar,
time = millis()%2;//Divide por 2 e salva o resto
if(time==1||time==0)//Compara se o resto é igual a 0 ou 1 e sempre vai ser
{
timeout++;// Cronômetro
if (timeout>500)// Compara se houve estouro do tempo
{
i=0;// Zera o quantidades de caracteres recebidos
flag=0;// Zera o aviso de que foi recebido algum dado na serial
}
}
//-------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
if (Serial.available()>0)// Verifica se houve recepção
{
flag=1;//Sinaliza que houve recepção
timeout=0;// Zera o o tempo de reset
//------------------------------------------------------------------------------------------
temp = Serial.read();// Armazena o que foi recebido pela serial
brilho[i]=temp-48;// Decrementa 48 na tabela ascii para converter de decimal para char
i++;// Contabiliza um recebimento
}
//---------------------------------------------------------------------------
if (timeout>200&&flag==1)// Compara se houve estouro do timeout(se ficou um tempo sem recepção) e se houve recepção
{
flag=0;// Sera aviso de recepção
// Envia para serial informações em % e resolução de disparo
posicao=brilho[0];
cor= brilho[1]+ 48;
switch (cor)
{
case 'Z'://AZUL
leds.setPixelColor(posicao,Z);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
case 'E'://VERDE
leds.setPixelColor(posicao,E);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
case 'V'://VERMELHO
leds.setPixelColor(posicao,V);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
case 'A'://AMARELO
leds.setPixelColor(posicao,A);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
case 'B'://BRANCO
leds.setPixelColor(posicao,B);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
case 'P'://APAGA
leds.setPixelColor(posicao,0);//Aciona o LED requerido
leds.show();//Atualiza o LED
break;
}
}
}
//Função liga led individual
void ligaLED(int g, unsigned long fita)//Recebe a posição e tempo de Delay
{
leds.setPixelColor(g, fita);//Aciona o LED requerido
leds.show();//Atualiza o LED
}
//Função apaga LED individual
void apagaLED(int g, unsigned long fita)//Recebe a posição e tempo de Delay
{
leds.setPixelColor(g, 0);//Desaciona o LED requerido
leds.show();//Atualiza o LED
}
//Função apaga LEDs geral
void clearLEDs()
{
for (int p=0; p<LED_COUNT; p++)
{
leds.setPixelColor(p, 0);
leds.show();
}
}
João Corrá boa tarde,
Você inseriu o seu tópico no lugar errado.
E parece que também não leu as recomendações.
Por favor apague esse seu tópico e crie um novo, seguindo as orientações.
Obrigado.
Grande RV:
Tenho percebido que, muitas vezes, os iniciadores da discussão postam os sketches fazendo uso de bibliotecas, e já vi você ter que solicitar dados de origem da biblioteca, seja porque não são do site da Arduino, seja porque existem várias bibliotecas com nomes idênticos ( o arquivo .h que é incluído ).
Desta forma, estou adotando a prática de incluir, como comentário do #include da biblioteca a URL utilizada para obtê-la.
Assim, o próprio sketch já permite uma visita direta no site onde tem a documentação da biblioteca.
Fica como sugestão sugerir ( Arrgghhh, ficou horrível! ) isto para os usuários.
D.T. Ribeiro.
Boa noite DTR,
obrigado pelo seu apoio.
Tenho ficado um pouco se responder os novos tópicos por questões que anda apanhando muito de um projeto.
Apanhando mas aprendendo...
RV mineirin
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por