Terminado

Projeto Arduino - Básico

Publicado el 11 Agosto, 2018 en Programación y Tecnología

Sobre este proyecto

Abierto

Está de boa nesse sabadão e quer faturar um trocado?
Então basta elaborar programação para arduino do seguinte projeto:
- brinquedo interativo do tipo "labirinto elétrico"  (aquele das feiras de ciências da escola, onde vc tem que percorrer um labirinto de arame sem encostar nele)
Requisitos:
- criar uma variável contador que vai contar quantas vezes a pessoa encosta no arame
- cada vez que ela encosta no arame toca um som no buzzer
- quando o contador chegar no número de vezes especificada toca o buzzer com um som diferente (pra pessoa saber que chegou no numero máximo de tentativas)
- no final do arame teremos um ponto onde quando for encostado aciona um relê e liga uma fita de led colorida pra mostrar que chegou ao final.
- Se possivel utilizar a biblioteca bounce2.h para que possamos regular o ruído ao encostar no arame (tipo o filtro usado em pushbottons)
IMPORTANTE: preciso entregar o prototipo na segunda feira, por isso o scketh tem que ser elaborado entre hoje e amanhã cedo.
Suerte muchachos!

Seria mais ou menos isso aqui: (na real o projeto é só fazer isso aqui funcionar)
#include <Bounce2.h>

Bounce debouncer = Bounce();

int CONTADOR = 0;
int ESTADO_ANTERIOR = 0;

void setup() {
pinMode(9, OUTPUT);
pinMode (10, INPUT_PULLUP); // pino no final do arame que aciona a fita led
pinMode (11, OUTPUT); // saida para relê e fita led
pinMode(8, INPUT_PULLUP); // Configura pino 8 como entrada e habilita pull up interno;
debouncer.attach(8); // Informa que o tratamento de debouce será feito no pino 8;
debouncer.interval(200); // Seta o intervalo de trepidação;
}

void loop() {
debouncer.update(); // Executa o algorítimo de tratamento;

int value = debouncer.read(); // Lê o valor tratado do botão;

if(value!=ESTADO_ANTERIOR)
{
if(value == LOW)
{
CONTADOR++;
}
}
ESTADO_ANTERIOR = value;
switch (CONTADOR) {
  case 0:
      //fazer algo quando valor == 0
  break;
  case 1:
      digitalWrite(9, HIGH);
      delay(200);
      digitalWrite(9, LOW);
      delay(1000);
  break;
  case 2:
      digitalWrite(9, HIGH);
      delay(200);
      digitalWrite(9, LOW);
      delay(500);
  case 3:
      digitalWrite(9, HIGH);
      delay(200);
      digitalWrite(9, LOW);
      delay(300);
  break;

if (10, HIGH){
  digitalWrite (11, HIGH);
  delay (400);
  digitalWrite (11, LOW);
}
}}

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador, Otro
Otros roles necesarios Programador C++ Arduino

Plazo de Entrega: 12 Agosto, 2018

Habilidades necesarias