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 ![]()
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
}
}