seja, depois de terminar de soldar, ou antes, gostaria de encapar ela com um adesivo ou algo não ficar visivel as trilhas superiores na placa, pois gostaria de colocar uma mascara com os componentes nesse adesivo.
Também gostaria que me indicassem um site barato aqui no brasil, que fisse placas industriais. Obrigado !…
Adicionado por Alberto Ammar ao 0:23 em 8 novembro 2012
para efetuar a comunicação.
Então vamos lá, você está usando a instrução ReadExisting, ela faz uma tentativa de leitura pontual, caso o buffer da serial esteja vazio ela parte para a próxima instrução, que no seu caso é um sleep na thread (acredito que seja uma tentativa de esperar o buffer da serial encher, se sim, neste caso ele deveria ficar antes do ReadExisting)
EU partiria para uma função usando loop infinito e threads, mas acho que uma pequena adaptação no seu código ja vai fazer funcionar certinho, segue minha sugestão, fiz o código em console application:
Imports System.IO.Ports
Module Module1
Sub Main()
Dim SerialPort1 As New SerialPort
SerialPort1.PortName = "com1"
SerialPort1.Open()
SerialPort1.Write("a")
''Aqui você prepara a variável de Buffer da Serial, considerando que você sempre receberá apenas um byte da serial
ReDim Preserve Buffer(1)
''Enquanto o VB não receber 1 byte na serial ele não sai da linha de baixo
SerialPort1.Read(Buffer, 0, 1)
End Sub
End Module
…
botão ele controlasse algum servo, o braço fosse a 140 graus ficasse por um tempo e depois voltasse pra 12 graus por exemplo.
Eu tentei o botão aciona o servo ligado no pino 10 porém o braço vai ate o limite e fica forçando pra uma direção só, e mesmo mudando os graus não consigo programar para oque o servo faça depois do botão pressionado, vocês podem me ajudar?olha meu codigo:#include <Servo.h>void setup() { Serial.begin(9600); //Inicia a serial com um baud rate de 9600} void loop(){ long tecladoA5=0; //Cria variável para ler o teclado ligado ao pino A5 for(int i=0;i<100;i++) //Laço para fazer 100 leituras { tecladoA5 = tecladoA5+analogRead(A5); //Soma a leitura anterior com a leitura atual de A5 } tecladoA5 = tecladoA5/100; Serial.print("Teclado A5 = "); //Imprime no Serial Monitor "Teclado A5 = " Serial.println(tecladoA5); //Imprime o valor de A5 Serial.print("\n\n"); //Pula 2 linha no Serial Monitor delay(100); //Aguarda 100 milissegundos //ate aqui tudo bem o codigo indentifica os botões e consigo escolher em qual pino ligar o servo e qual botão vai acioná-lo //o problema é que a função abaixo não funciona como deveria e o servo fica ligado direto pra um sentido só //----------------------FIM DA FUNÇÃO DO SERVO 1-------- if(tecladoA5 == 916) //------FUNÇÃO PARA O SERVO EXECUTAR QUANDO CLICADO O BOTÃO DE VALOR 916--------{ Servo motor; motor.attach(10); //pino do sinal que o servo esta plugadoint i;for(i=0;i<170;i++) { //angulo de movimento motor.write(i); delay(40); //velocidade que o braço se move}delay(1000); //demora 0,8 segundosfor(i=150;i>0;i--) { //angulo de movimento motor.write(i); delay(40); //velocidade que o braço se move}delay(1000); //demora 0,8 segundos}}…
16mil e um Int guarda até 64 mil temos uns bits sobrando.
Algo como:
Vc criando variaveis:
#define T4 0x0000;
#define T8 0x4000;
#define T16 0x8000;
Na matriz colocaria:
C4+T4,C4+T16, etc...
E lá na hora de tocar,
para obter a frequencia:
freq=valor & 0x3ff; // isso limpa os bits mais altos.
tempo= valor >>14; // isso roda os bits de forma que fica em tempo apenas os 2 mais significativos.
Tempo = 2^(tempo+2); // isso deve converter 0, 1 e 2 para para 4, 8 e 16 pq são (2*2), (2*2*2) e (2*2*2*2)
Na duvida vai de switch case ou if().
Se não errei nada, não testei... Acho que vira uma tabela só.
…
Adicionado por Eduardo ao 8:04 em 6 fevereiro 2019