Show Posts
Pages: 1 2 [3] 4
31  International / Español / Re: Encender/Apagar led desde mando Infrarrojo on: September 25, 2011, 05:06:59 pm
Ah yo no le tengo puesto condensador al circuito el sensor infrarrojo solo lo tengo conectado con una resistencia de 470 ohmios a vcc, la otra patilla a masa y la otra al pin de entrada configurado por programa, prueba a conectar segun te digo yo eliminando el condensador a ver que pasa.
32  International / Español / Re: Encender/Apagar led desde mando Infrarrojo on: September 25, 2011, 04:43:25 pm
Me he dado cuenta que yo uso otra libreria distinta a ti la IRremote.h, y si que uso un delay despues de cada lectura, un ejemplo para encende un led seria:

#include <IRremote.h>
#define RECV_PIN 12 //indicamos el pin por el que recibimos los datos del sensor TSOP1838
boolean encendido;  //Variable donde compruebo si el led esta encendido o no
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
     Serial.begin(9600);
     pinMode(13,OUTPUT);  //Pin 13 como salida
     encendido=0;  //indicamos estado inicial (apagado);
     irrecv.enableIRIn(); // Iniciamos la recepcion
}

void loop()
{
    //Si tenemos datos de lectura debido a que se pulsa una tecla en el mando
    if (irrecv.decode(&results))
    {
        //Mostramos por puerte serie dicho codigo en Hexadecimal(para depuracion)
   Serial.print("Codigo: 0x") ;
   Serial.println(results.value,HEX) ;
   //Comprobamos si es la TECLA 1
   if(results.value==0x2FC827D)
   {
        //Comprobamos si esta encendido el led, si lo esta lo apagamos
             if(encendido==1)
             {
                   digitalWrite(13,LOW);
                   encendido=0;
             }
            //si no, lo encendemos
            else
            {
                  digitalWrite(13,HIGH);
                  encendido=1;
            }
        }
        delay(50); //retardo de 50 ms para evitar que el codigo se lea dos veces en una pulsacion
        irrecv.resume(); // Recibimos el siguiente valor del sensor
    }
}

Como ves al final de realizar cada paso y antes de una nueva lectura hago un delay de 50 ms para evitar posibles rebotes o lecturas dobles. Espero que te sirva para solucionar tu problema, desde mi blog puedes descargar la libreria para los mandos infrarrojos, vale para varios tipos de ellos.

33  International / Español / Re: Encender/Apagar led desde mando Infrarrojo on: September 25, 2011, 04:04:55 pm
hola!! yo he realizado esa prueba y a mi me funciona perfectamente, puedes pasarte por mi blog www.tallerarduino.wordpress.com y ver el codigo que he hecho, pero con un simple delay de 50 ms yo creo k deberia bastar. Tienes un video para ver el funcionamiento. Si tienes más dudas no dudes en preguntar.
34  International / Español / Re: duda lenguaje c (solucionado) on: September 08, 2011, 08:28:49 am
Sí se me colo un & pero sí era eso lo que quería poner, el SPI_CS pensé que era un registro, no habia mirado en el datasheet, pero si es una variable pues eso mismo. Lo de mirar con el Serial.print siempre ayuda mucho para depurar los programas.
35  International / Portugues / Re: Arduino Uno + Visual Basic on: September 08, 2011, 08:25:07 am
Si porque dende o arduino lees os datos que hai no porto serie e realize as funcións que ti lle mandes dende o programa feito en visual basic, ainda teño que probar a facer a comunicación ao reves dende o arduino ata o pc.

Outra forma de comunicarte co Arduino UNO e mediante o software Processing, este xa se pode facer empregando o USB no lugar do porto Serie, e unha linguaxe bastante sinxela de aprende e hai moitos manuais, de todas maneiras no meu blog hai unha entrada donde explico como comunicarse con Arduino e un programa co codigo fonte dispoñible. Podes probar esta opción. Un saudo
36  International / Portugues / Re: Arduino Uno + Visual Basic on: September 07, 2011, 07:53:43 pm
Eu conseguino podes botar un vistazo aqui: http://tallerarduino.wordpress.com/2011/02/22/puerto-serie-con-arduino-y-vb-6-0/

espero que che sirva para comezar.
37  International / Español / Re: duda lenguaje c (solucionado) on: September 07, 2011, 07:38:31 pm
de nada para eso estamos!! me alegro de que lo solucionaras. un saludo
38  International / Español / Re: duda lenguaje c on: September 07, 2011, 06:38:02 pm
Pues mira &= es una and binario compuesto, el simbolo ~ es un not binario y << es desplazamiento de bit a la izquierda, por tanto me parece que lo que realiza seria lo siguiente:

PORTB = PORTB && (~(1<<SPI_CS));

Es decir hace una and binaria entre lo que hay en PORTB y lo que hay en el registro SPI_CS desplazado un bit a la izquierda pero negado y lo guarda en PORTB.
39  International / Español / Re: Circuitos básicos [INFO] on: August 23, 2011, 09:23:27 am
Muy buena información.Gracias por compartirla!!
40  Community / Exhibition / Gallery / Re: Home / Theater Automation controlled with Android App on: August 08, 2011, 09:46:40 am
A great job. Perfect!!!!!
41  International / Español / Re: Problemas con Arduino y UsbtinyISP on: June 12, 2011, 08:17:03 am
Heke yo también ando metido con el proyecto Pinguino PIC y si la primera vez grabo el bootloader con el Pickit2 pero desde el MPLAB para que se reconozcan bien los fuses del programa, he probado desde el software que trae el Pickit2 y no me ha funcionado. Pero con el MPLAB si que me ha funcionado, yo tengo montada otra versión con solo un pulsador, eliminando el pulsador de Run y con el bootloader de solo un pulsador. El esquemático que he montado se encuentra en www.webdearde.com, es una placa desarrollada por ellos. Espero que te haya sido de utilidad.
42  International / Software / Re: Pequeño problema con puerto serie on: February 21, 2011, 06:37:29 pm
He probado como me pusiste chiva y me ha funcionado perfecto, ahora la duda es lo de serial.avaliable() y porque declaramos dato como byte y no como tipo texto. gracias por contestar
43  International / Software / Pequeño problema con puerto serie on: February 21, 2011, 05:26:25 pm
Hola a todos! Estoy practicando la comunicación de Arduino con el portátil y me he decidido a hacer un programilla en visual basic 6.0 en el que muestro la temperatura que leo con Arduino desde la entrada A0 con un sensor de temperatura tipo termistor de 1K (Las medidas no son exactas porque tengo que buscar los valores de las resistencias para las formulas, pero mas o menos es casi la temperatura buena). Bueno el problema no es ese, el problema que tengo es que además estoy probando a encender y apagar el led 13 desde el visual basic, para encenderlo funciona bien, pero para apagarlo tengo que hacer varias pulsaciones sobre el botón, os pongo todo y a ver si me podeis ayudar.

Aquí os pongo el codigo para el Arduino:

Code:
#include <stdio.h>
#include <math.h>

float Vin=5;  //Voltaje Entrada
float Raux=1000; //Resistencia auxiliar para calcular la temperatura en ohm
float R0=1000;  //Resistencia ntc en ohm
float Ti=293.15;  //Temperatura a 25ºC en grados Kelvin

float Vout=0.0;    // [V]        Tension de salida del divisor de tension
float Rout=0.0;    // [ohm]      Resistencia de la NTC

float T1=273;      // [K]        Temperatura a 0ºC en grados Kelvin
float T2=373;      // [K]        Temperatura a 100ºC en grados Kelvin
float RT1=1975;   // [ohms]     Resistencia a 0ºC
float RT2=215;    // [ohms]     Resistencia a 100ºC

float beta=0.0;    // [K]        parametro Beta
float Rinf=0.0;    // [ohm]      Parametro Rinf
float TempK=0.0;   // [K]        Temperatura de salida en kelvin
float TempC=0.0;   // [ºC]       Temperatura de salida en grados Centigrados


void setup() {
  //Definimos la velocidad de transferencia a 9600 baudios
  pinMode(13,OUTPUT);
  Serial.begin(9600);
  beta=(log(RT1/RT2))/((1/T1)-(1/T2));
  Rinf=R0*exp(-beta/Ti);

}

void loop() {
  Vout=Vin*((float)(analogRead(0))/1024.0);
  Rout=(Raux*Vout/(Vin-Vout));
  TempK=(beta/log(Rout/Rinf));
  TempC=TempK-273.15;
  Serial.println(TempC);  //Mandamos el valor obtenido por el sensor analogico a traves del puerto serie
  if (Serial.read()== '1')
  {
    digitalWrite(13,HIGH);
  }
  else if (Serial.read()== '2')
  {
     digitalWrite(13,LOW);
   }
  delay(1000);
}

Aquí os pongo una imagen del programa:



Y este es el programa en visual basic:

Code:
Option Explicit

Dim Temperatura As Double
Private Sub cmdConectar_Click()
    Serie.PortOpen = True
    Timer1.Enabled = True
    cmdON.Enabled = True
    cmdOFF.Enabled = True
End Sub

Private Sub cmdDesconectar_Click()
    Timer1.Enabled = False
    Serie.PortOpen = False
End Sub

Private Sub cmdOFF_Click()
    Serie.Output = "2"
End Sub

Private Sub cmdON_Click()
    Serie.Output = "1"
End Sub

Private Sub Timer1_Timer()
    Temperatura = Val(Serie.Input)
    If Temperatura <> 0 Then
        txtTemp.Text = Temperatura
        If Temperatura < txtMin.Text Then
            txtMin.Text = Temperatura
        ElseIf Temperatura > txtMax.Text Then
            txtMax.Text = Temperatura
        End If
    End If
End Sub
44  International / Español / Re: Guías de iniciación a Arduino on: February 01, 2011, 12:14:54 pm
Ya está modificado lo de la web, perdonad, no me habia dado cuenta de que no se podía encontrar la página.
45  International / Español / Re: Guías de iniciación a Arduino on: January 31, 2011, 06:48:31 pm
Navegando por la red me he encontrado con está hoja de código para Arduino, para los que estamos empezando en este mundo creo que esta de maravilla, os pongo la imagen, a ver si os vale para algo.



y el enlace para poder descargar es:

http://sites.google.com/site/mechatronicsguy/arduinocheatsheet

En esta en principio si que se puede descargar, tanto en imagen como en pdf.
Pages: 1 2 [3] 4