Show Posts
Pages: [1]
1  International / Software / Duda codigo sensor infrarojos on: November 04, 2013, 06:15:04 pm
Hola, basándome en este código que hice con este sensor

int count;
int sensor;
int Sensor = 9;
int led = 10;
int cont = 0;
void setup() {

 Serial.begin (9600);
 pinMode (sensor, INPUT);
 pinMode (led, OUTPUT);
}
void loop() {
Serial.print ("Sensor: ");
 Serial.println (digitalRead(Sensor));
 sensor = Serial.println (digitalRead(Sensor));
 delay (100);
if (digitalRead(Sensor) == 0)
{
  digitalWrite(led, HIGH);
  cont = cont +1;
}
if ((cont == 1)&&(digitalRead(Sensor) == 0))
{
  digitalWrite(led, LOW);
  cont = -1;
}

}

Quisiera ponerlo para un proyecto que tengo para encender el circuito y apagarlo de esa manera (a través de un mando de tele)
 
Os pongo el codigo implementado en el otro circuito del proyecto.

#include <Servo.h>
#define ECHOPIN 8
#define TRIGPIN 9        
#define PINTONO 7
Servo servo1;
int led1= 6;
int cont= 0;
int cont2= 0;
int Sensor =10;
int count;
int sensor;


unsigned int tiempo,distancia;                  


void setup() {
  Serial.begin(9600);
  pinMode(ECHOPIN, INPUT);
  pinMode(TRIGPIN, OUTPUT);
  pinMode(PINTONO, OUTPUT);
  pinMode(led1, OUTPUT);
  servo1.attach(5);
  pinMode (sensor, INPUT);
}
  
void loop()
{
  Serial.print ("Sensor: ");
  Serial.println (digitalRead(Sensor));
  sensor = Serial.println (digitalRead(Sensor));
  if (digitalRead(Sensor) == 0){
  cont = cont +1;  
  digitalWrite(TRIGPIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIGPIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGPIN, LOW);
  tiempo = pulseIn(ECHOPIN, HIGH);
  distancia= tiempo/58;
  Serial.print(distancia);
  Serial.println(" cm");
  tone (PINTONO,0);
  delay (200);
  if (distancia>10)noTone(PINTONO);
  delay(distancia*3);
  if (distancia<=7)
   digitalWrite(led1,HIGH);
   else
   digitalWrite(led1,LOW);
   delay(100);
   digitalWrite(led1,HIGH);
  if (distancia<7){
   servo1.write(0);
   delay(300);
  
  
  }
 if ((cont == 1)&&(distancia<10)){
   servo1.write(90);
   delay(300);
   cont2 = -1;

 }  
  }
if ((cont2 == 1)&&(digitalRead(Sensor) == 0)){
  cont2 = -1;
  digitalWrite(TRIGPIN, LOW);
  digitalWrite(ECHOPIN, LOW);
  digitalWrite(PINTONO, LOW);
  digitalWrite(led1, LOW);
 
}
}

Me da un par de fallos, el primero que solo funciona si el sensor esta mandando cero cosa que con el led no pasaba se quedaba en estado alto encuanto registraba un cero.
Y la segunda es cuando el sonar hace girar el servo este se queda "pillado" y no hace nada mas.
Alguna ayudita con este codigo por favor que no llevo mucho tiempo en esto y me lio un poco.
Un saludo y gracias
2  International / Software / Ayuda detector ultrasonido y servo on: November 02, 2013, 04:17:44 pm
Hola a todos tengo un par de preguntas sobre unas cosillas de este detector y un servo.
Primero la del servo, como hago para que el angulo cambie progresivamente que no pase ejemplo de 90 a 180 si no que valla poco a poco grado a grado.
Y sobre el sensor pues quiero utilizarlo junto al servo  para que "siga" a un objeto que este dentro del rango de detención que le ponga. principalmente de izquierda a derecha. me gustaría que me guiarais o dierais algunas sugerencias sobre que tema tengo que mirar y estudiar para aprender a hacer esto porque no se por donde meterle mano.
un saludo y gracias.
3  International / Español / Re: Ayuda con Robot Ultrasonido on: December 12, 2012, 05:57:05 pm
Aqui os dejo el codigo del robot que tengo. ese codigo esta realizado por mi salvo algunas cosas que las pille via internet ya que no estoy muy puesto todavia en el tema.

#include <Ultrasonic.h>
#include <Servo.h>

Ultrasonic ultrasonic(12,10);

Servo servoI; //servo Izquierdo
int pos = 0; //ni esta ni la otra no se para que sirven
int change = 0; //las coji de un ejemplo pero no las entiendo
Servo servoD; //Servo Derecho





void setup() {
   servoI.attach(11); //pin 11 para el servo Izquierdo
   servoD.attach(9);  // pin 9 para el servo Derecho

 
 }

void loop(){
  servoD.write(150);
  pos = ultrasonic.Ranging(CM); // Get the distance from sensor
      delay(100);
     
     if (change == 0 && pos<= 15) {
        servoI.write(170);
        change = 1;
  }
  if (change == 1 && pos> 15
  ) {
  servoI.write(1);
  change = 0;
  }
}



En este codigo lo que no entiendo es las 2 int que hay justo debajo del servoI, no se para que sirven. y despues tampoco entiendo el change.

por lo demas si se como funciona todo.
 
 
 
4  International / Español / Re: Ayuda con Robot Ultrasonido on: December 12, 2012, 03:37:26 pm
No quiero que nadie me diga el codigo ni mucho menos pagar por el. Para mi lo mas importante de esto es aprender y hacerlo por mis propios medios posibles. Solo pido alguna sugerencia o pista para saber como meterle mano. Mañana en cuanto pueda subo el codigo del robot para que lo veais.

PD:El post de antes fue sobre todo para que veais mi nivel y me aconsejeis paginasweb o documentos para seguir aprendiendo.

un saludo y gracias!
5  International / Español / Re: Ayuda con Robot Ultrasonido on: December 12, 2012, 01:49:06 pm
Le e estado echando un vistazo y lo maximo que e encontrado es un tutorial del sensor ultrasonido pero lo basico para saber la leer la distancia etc..
El problema que yo tengo esque se algunas cosas basicas de arduino, me e leido y "estudiado" varias fuentes de informacion para arender lo basico. pero todavia no me e enterado de como va todo. Por eso pido el codigo de este circuito en concreto para estudiar con el y  mirar el porque hay puesto cada cosa.
ejemplos de circuitos realizados por mi sin alluda:
 led progresivos con delay de encendido entre uno y otro. (con este empeze)
led progresivo con conteo.
cubo de led 3x3 con programacion aleatoria.
Robot sonar ultrasonido (este con un poco de ayuda via internet).

los principales "comandos" que se utilizar son.
lecturas y escrituras (Write,Read)
if,else (el que mas "verde" tengo)
delay
declarar valores int
declarar pin de entrada o salida

estas son los principales comando que se utilizar medianamente bien.
toda construccion llevada con estos "comandos" la podria hacer sin alluda alguna.

bueno pues gracias a todos por las respuesta y espero vuestra ayuda para seguir avanzando en el mundo de arduino.
un saludo y gracias.
6  International / Español / Re: Ayuda con Robot Ultrasonido on: December 12, 2012, 12:20:40 pm
Si e mirado y buscado mucho llevo una semana buscando por internet y e encontrado varios pero ninguno me valia por una cosa o otra. lo de los ejemplo de arduino e estado mirando y creo que no viene.
Me es suficiente con que me paseis un codigo con la "idea" basica para hacer este robot no necesito el codigo entero es para ir enterandome de como programar y intentar hacerlo solo que es lo que necesito para aprender ya que si fuera siempre copiar y pegar nunca aprenderia.
un saludo y gracias.
7  International / Español / Ayuda con Robot Ultrasonido on: December 12, 2012, 10:32:23 am
Hola a todos, soy nuevo en esto del arduino y tengo en projecto hacer un robot ultrasonido. de momento ya lo e conseguido pero lo quiero mejorar con un par de cosillas.
Mi robot solo gira hacia un lado y el sensor esta siempre fijo, me gustaria que el robot al llegar a un obstaculo se detubiera y mirara con el sensor hacia los lados buscando el camino mas largo sin obstaculos y girara hacia el.
por favor pido que me pasen el codigo de arduino para ir estudiando ese codigo ya que yo solo de momento no soy capaz de hacer.

Hardware de mi robot.

Sensor ultrasonico HC-SR04
2 servos de 9g trucados para movimiento
1 servo 9g normal para cabeza de sensor
Placa arudino uno

gracias de antemano y un saludo a todos!
Pages: [1]