Fórum
- Busca avançada
- Informacoes
- Regras
- PMF
- Glossário
- Dicas e Dúvidas
- Tutoriais
- Tutoriais
- Build Reports
- Desafio RoboCore
- Discussoes
- Arduino
- Albatross
- Técnicas
- Gerais
- Competições
- Iniciantes
- CAD/CAM/CAE
- Classificados
- Compra
- Venda
- Troca
- Vagas de Emprego
- Suporte
- Erros
- Sugestões
Autor
Mensagem
Olá, Meu no é Pedo Ivo, Sou professor na Rede Estaudal de ensino e junto com meus alunos estamos montando um Robo Anti-Colisão. Juntos escrevemos um codigo, porem a leitura do senso ultrasonico me parece lenta. contei uns 3 segundos até que o Robô desligue os motores e perceba que ja bateu na parede. É um Robô com uma tela LCD e um Buzer. Alguem pode revisar e me ajudar nesse codigo? TAB1 #include <FalconRobot.h> FalconRobotMotors motors(5, 7, 6,; FalconRobotDistanceSensor distanceSensor(2, 3); #define DISTANCETHRESHOLD 20 // cm - Set to any number from 2 - 400. #define speakerPin 3 #define ledPin 13 #include <LiquidCrystal.h> // inclui a biblioteca para uso do Display LCD // inicializa um objeto nos pinos para acesso as funções do LCD const int RS = 12, EN = 11, D4 = 10, D5 = 9, D6 = 8, D7 = 7; LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); int distance; // variable to store the distance value void setup() { pinMode(speakerPin, OUTPUT); pinMode(ledPin, OUTPUT); randomSeed(analogRead(0)); Serial.begin(9600); // Configura o LCD com os número de colunas e linhas lcd.begin(16, 2); // 16 colunas e 2 linhas lcd.setCursor(4, 0); // (coluna 0, linha 0) lcd.print(" <(+_+)>"); lcd.setCursor(5, 1); lcd.print("2 Ano A"); delay(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("OLA, ALUNO"); // Imprime mensagem delay(1500); lcd.clear(); lcd.setCursor(1, 0); lcd.print("SOU O PIPOPO1!"); delay(2500); lcd.clear(); lcd.setCursor(2, 0); lcd.print("UMA PERGUNTA?"); delay(1500); lcd.clear(); lcd.setCursor(1, 0); lcd.print("QUANTAS VEZES"); lcd.setCursor(3, 1); lcd.print("EU POSSO"); delay(2000); lcd.clear(); lcd.setCursor(2, 0); lcd.print("SUBITRAIR 10"); lcd.setCursor(5, 1); lcd.print("DE 100?"); delay(12000); //subir para 15000 lcd.clear(); lcd.setCursor(3, 0); lcd.print("APENAS UMA,"); delay(1500); lcd.clear(); lcd.setCursor(1, 0); lcd.print("PORQUE DEPOIS"); lcd.setCursor(2, 1); lcd.print("100 VIRA 90"); delay(1500); lcd.clear(); lcd.setCursor(4, 0); lcd.print("<(0 0)>"); lcd.setCursor(7, 2); lcd.print("___"); distanceSensor.read(); } extern void loop(); TAB2 extern void phrase1(); extern void phrase2(); void loop() { distance = distanceSensor.read(); if (distance <= DISTANCETHRESHOLD) { // The obstacle is really very close motors.stop(); //adicionado para teste reverse(); // backs up turnRight(); // Can be replaced by turnLeft(); lcd.clear(); lcd.setCursor(1, 0); lcd.print("AAAAAAAAAAAAA"); delay(500); distanceSensor.read(); lcd.clear(); lcd.print("LA VAMOS NOS"); delay(1000); lcd.clear(); distanceSensor.read(); lcd.setCursor(3, 0); lcd.print("<(0 0)>"); lcd.setCursor(6, 2); lcd.print("___"); } else { // otherwise, go forward motors.drive(50, FORWARD); distanceSensor.read(); } delay(10); // delay to wait sensor reading, suggested by datasheet int K = 2000; switch (random(1, 7)) { case 1: phrase1(); break; case 2: phrase2(); break; case 3: phrase1(); phrase2(); break; distanceSensor.read(); case 4: phrase1(); phrase2(); phrase1(); break; distanceSensor.read(); case 5: phrase1(); phrase2(); phrase1(); phrase2(); phrase1(); break; distanceSensor.read(); case 6: phrase2(); phrase1(); phrase2(); break; distanceSensor.read(); } for (int i = 0; i <= random(3, 9); i++) { digitalWrite(ledPin, HIGH); tone(speakerPin, K + random(-1700, 2000)); delay(random(70, 170)); digitalWrite(ledPin, LOW); noTone(speakerPin); delay(random(0, 30)); distanceSensor.read(); } noTone(speakerPin); delay(random(2000, 4000)); } extern void reverse(); extern void turnRight(); extern void turnLeft(); TAB3 void phrase1() { distanceSensor.read(); int k = random(1000,2000); digitalWrite(ledPin, HIGH); for (int i = 0; i <= random(100,2000); i++){ tone(speakerPin, k+(-i*2)); delay(random(.9,2)); } digitalWrite(ledPin, LOW); for (int i = 0; i <= random(100,1000); i++){ tone(speakerPin, k + (i * 10)); delay(random(.9,2)); } } void phrase2() { distanceSensor.read(); int k = random(1000,2000); digitalWrite(ledPin, HIGH); for (int i = 0; i <= random(100,2000); i++){ tone(speakerPin, k+(i*2)); delay(random(.9,2)); } digitalWrite(ledPin, LOW); for (int i = 0; i <= random(100,1000); i++){ tone(speakerPin, k + (-i * 10)); delay(random(.9,2)); } } TAB4 // reverse() function -- backs up at full power void reverse() { motors.stop(); delay(250); // short delay to let robot fully stop motors.drive(50, BACKWARD); delay(250); motors.stop(); delay(250); // short delay to let robot fully stop } // turnRight() function -- turns FalconRobot to the Right void turnRight() { motors.leftDrive(50, FORWARD); // spin CCW motors.rightDrive(50, BACKWARD); // spin CCW delay(300); motors.stop(); delay(250); // short delay to let robot fully stop } // turnLeft() function -- turns FalconRobot to the Left void turnLeft() { motors.leftDrive(50, BACKWARD); // spin CW motors.rightDrive(50, FORWARD); // spin CW delay(250); motors.stop(); delay(250); // short delay to let robot fully stop }
|
|
|
Todos os horários são GMT - 3 Horas | Você não tem permissão para escrever novas mensagens v não tem permissão para responder às mensagens Você não tem permissão para editar suas mensagens Você não tem permissão para deletar suas mensagens Você não tem permissão para classificar tópicos Você não tem permissão para classificar mensagens Você não tem permissão para votar em enquetes Anexar downloads : Proibido Fazer Download de Arquivos: Proibido |
Powered by phpBB © 2001 phpBB Group
ROBOCORE TECNOLOGIA
A RoboCore foi criada em 2008 com o intuito de incentivar o desenvolvimento tecnologico, fabricando e fornecendo peças para automação e robótica de alta qualidade a preços acessíveis.
RoboCore Tecnologia LTDA
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
NOSSAS REDES SOCIAIS
LINKS ÚTEIS
POLÍTICAS DA LOJA
CENTRAL DE ATENDIMENTO
ROBOCORE® 2023. Todos os direitos reservados