Semaforo con sensor ultrasonico y camara 0v7670

ola, Buenas noches!! Queria saber si alguien sabe como conectar un cable usb a la camara 0v7670 (Sin Modulos) ¿Se puede sin un Modulo?

Soy nuevo :wink:

Ahi esta el codigo por si lo precisab

#include <OV7670.h> // Agregamos la librería personalizada para la cámara OV7670

OV7670 camera; // Creamos una instancia de la cámara OV7670

int rojo = 13;
int amarillo = 12;
int verde = 11;
int trigPin = 2;
int echoPin = 3;
int buzzerPin = 4;
int ledPin = 5; // Pin de la luz roja adicional para detectar movimiento

void setup() {
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, INPUT); // Configura el pin de la luz roja adicional como entrada
Serial.begin(9600);

camera.begin(); // Inicializamos la cámara OV7670
}

void loop() {
long duration, distance;

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;

Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");

if (distance < 10) {
tone(buzzerPin, 1000); // Activa la alarma sonora si el objeto está muy cerca
delay(500); // Espera medio segundo antes de apagar la alarma
noTone(buzzerPin); // Apaga la alarma sonora

// Toma una foto con la cámara OV7670
camera.takePicture();

// Cambia el semáforo a rojo
digitalWrite(rojo, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);

delay(5000); // Espera 5 segundos antes de volver a encender el semáforo

} else if (digitalRead(ledPin) == HIGH) { // Si el sensor detecta movimiento de un objeto rojo
digitalWrite(rojo, HIGH); // Enciende la luz roja del semáforo
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(5000); // Espera 5 segundos antes de cambiar a la luz verde

digitalWrite(rojo, LOW);
digitalWrite(amarillo, HIGH); // Enciende la luz amarilla del semáforo

// Toma una foto con la cámara OV7670
camera.takePicture();

digitalWrite(amarillo, LOW);
digitalWrite(verde, HIGH); // Enciende la luz verde del semáforo
delay(5000); // Espera 5 segundos antes de cambiar a la luz amarilla

} else {
digitalWrite(rojo, LOW);
digitalWrite(amarillo, HIGH); // Enciende la luz amarilla del semáforo
digitalWrite(verde, LOW);
delay(3000); // Espera 3 segundos antes de cambiar a la luz roja

digitalWrite(rojo, HIGH); // Enciende la luz roja del semáforo
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(5000); // Espera 5 segundos antes de cambiar a la luz verde

}
}

Por favor edita tu post y adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. También usa la opción "Autoformato" del menú "Herramientas" de la IDE antes de copiar el código así nos facilitas su lectura.

¿A qué módulo te refieres?

Hola, Buenas noches!! Queria saber si alguien sabe como conectar un cable usb a la camara 0v7670 (Sin Modulos) ¿Se puede sin un Modulo?

Soy nuevo :wink:

Ahi esta el codigo por si lo precisab

#include <OV7670.h> // Agregamos la librería personalizada para la cámara OV7670

OV7670 camera; // Creamos una instancia de la cámara OV7670

int rojo = 13;
int amarillo = 12;
int verde = 11;
int trigPin = 2;
int echoPin = 3;
int buzzerPin = 4;
int ledPin = 5; // Pin de la luz roja adicional para detectar movimiento

void setup() {
pinMode(rojo, OUTPUT);
pinMode(amarillo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, INPUT); // Configura el pin de la luz roja adicional como entrada
Serial.begin(9600);

camera.begin(); // Inicializamos la cámara OV7670
}

void loop() {
long duration, distance;

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;

Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");

if (distance < 10) {
tone(buzzerPin, 1000); // Activa la alarma sonora si el objeto está muy cerca
delay(500); // Espera medio segundo antes de apagar la alarma
noTone(buzzerPin); // Apaga la alarma sonora

// Toma una foto con la cámara OV7670
camera.takePicture();

// Cambia el semáforo a rojo
digitalWrite(rojo, HIGH);
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);

delay(5000); // Espera 5 segundos antes de volver a encender el semáforo

} else if (digitalRead(ledPin) == HIGH) { // Si el sensor detecta movimiento de un objeto rojo
digitalWrite(rojo, HIGH); // Enciende la luz roja del semáforo
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(5000); // Espera 5 segundos antes de cambiar a la luz verde

digitalWrite(rojo, LOW);
digitalWrite(amarillo, HIGH); // Enciende la luz amarilla del semáforo

// Toma una foto con la cámara OV7670
camera.takePicture();

digitalWrite(amarillo, LOW);
digitalWrite(verde, HIGH); // Enciende la luz verde del semáforo
delay(5000); // Espera 5 segundos antes de cambiar a la luz amarilla

} else {
digitalWrite(rojo, LOW);
digitalWrite(amarillo, HIGH); // Enciende la luz amarilla del semáforo
digitalWrite(verde, LOW);
delay(3000); // Espera 3 segundos antes de cambiar a la luz roja

digitalWrite(rojo, HIGH); // Enciende la luz roja del semáforo
digitalWrite(amarillo, LOW);
digitalWrite(verde, LOW);
delay(5000); // Espera 5 segundos antes de cambiar a la luz verde

}
}

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @gnap.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Por favor edita tu post y adjunta el código de acuerdo a las Normas del Foro en Español, punto 7. También usa la opción "Autoformato" del menú "Herramientas" de la IDE antes de copiar el código así nos facilitas su lectura.

¿A qué módulo te refieres?

Moderador
Doble posteo.
Posteado en el foro en inglés usando español
Sin etiquetas.
Por favor, lee las Normas del foro
Próxima baneo por acumulación de faltas a las normas.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.