Estou elaborando um projeto e gostaria da ajuda de algum membro que se disponha a ajudar, o projeto utiliza uma esteira que é rotacionada por um motor de passo + módulo de controle (drive ULN2003 ) um braço robótico de acrílico de 4 servos e um sensor ultrassônico, ele ira funcionar da seguinte forma:
 A esteira levará as peças até um determinado ponto que o sensor fará a leitura se a peça tem 30cm de altura ou 40cm, com a leitura o braço fará a separação para um dos recipientes definidos como grande ou pequeno.

Anexei um esbouço para dá maior amplitude do projeto, desculpe-me pelos rabiscos !!

Exibições: 607

Anexos

Responder esta

Respostas a este tópico

Ok, funcionamento do projeto compreendido...

Qual(is) a(s) dificuldade(s) encontrada(s) ? Até que ponto programou ? Em que partes do projeto ficou estagnado ?

Me foi posto um desafio para fazer esse projeto com a utilização desse micro controlador, eu não tenho conhecimento dessa linguagem, por tanto não comecei a programação, comecei a aprender com os videos do youtube mas o meu conhecimento sobre o mesmo não será suficiente para elaborar essa programação que defino por complexa, compreendi as bibliotecas e variáveis mas a estrutura do código não estou apto ainda para desenvolver, passei 3 semanas estudando sobre e consegui o funcionamento de cada componente mas separadamente e não em conjunto.

o projeto já está construído, estou parado na programação !!!

Bom dia, muito obrigado !!!

Estou travando na comunição entre ambos, tentarei mais algumas vezes escrever o Sketch.

Seguindo o material sugerido pelo José Gustavo, aconselho você a testar as etapas individualmente.

Por exemplo:

1) Mover esteira
2) Detectar o material e diferenciar 30 de 40cm

3) Mover o braço até a posição de pegar o material

4) Mover o braço até o recipiente para 30cm

5) Mover o braço até o recipiente para 40cm

...

E, depois de testar cada função isoladamente, comece a juntar as etapas.

Obrigado .....

Irei pesquisar mais para conseguir juntar o código, essa é a maior dificuldade !!!

Faça uma etapa em cada Sketch se achar mais conveniente. Assim fica mais simples de implementar e de testar, facilitando a identificação de falhas e correção das mesmas.


Se for fazendo já em subrotinas, depois para juntar, será basicamente copiar e colar todas num único arquivo e chamá-las em ordem ou segundo condicionais.

Outro detalhe importante é documentar seu código, deixando comentários sobre o que cada bloco ou comando faz, para te ajudar a interpretá-lo durante a programação e futuras manutenções.

Muito obrigado, farei isso, tentei juntar colocando em ordem mas resultou em alguns erros que não consegui solucionar, tentarei novamente seguindo suas instruções !!! 

Bom dia DCdS,

faça cada parte funcionar, e depois apresente os codigos de cada parte funcionado,

e então ajudaremos a agrupa-los em um único código.

RV

Tô esbarando em um erro ('class Ultrasonic' has no member named 'convert' ) alguém sabe como resolver ?

#include <Ultrasonic.h>

//Define os pinos do Arduino ligados ao Trigger e Echo
#define PINO_TRG 7
#define PINO_ECHO 6

//Distancias em centimetros
float distancia_minima = 20;
float distancia_maxima = 60;

//Pino a ser acionado em caso de deteccao
int pino_saida = 10;

//Inicializa o sensor ultrasonico nos pinos especificados
Ultrasonic ultrasonic(PINO_TRG, PINO_ECHO);

void setup()
{
//Inicializa a serial
Serial.begin(9600);
pinMode(pino_saida, OUTPUT);
}

void loop()
{
//Variaveis para guardar os valores em
//cm (cmSec) e polegadas (inMsec)
float cmMsec, inMsec;

//Le os valores do sensor ultrasonico
long microsec = ultrasonic.Timing();
//Atribui os valores em cm ou polegadas as variaveis

cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);

if (cmMsec > distancia_minima && cmMsec < distancia_maxima)
{
//Aciona a porta de saida
digitalWrite(pino_saida, HIGH);
}

delay(1000);
}

De acordo com o erro, a função "convert" não existe na classe Ultrassic. Não há isso implementado no projeto (link abaixo).

Código fonte da lib:  https://github.com/ErickSimoes/Ultrasonic

Exemplo simples da Lib:  https://github.com/ErickSimoes/Ultrasonic/blob/master/examples/Ultr...

tente substituir o ultrasonic.convert, por ultrasonic.read() para centímetros, e ultrasonica.read(INC) para polegadas.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço