Show Posts
Pages: [1] 2 3
1  International / Software / Re: PROGRAMACION RFID-RC522 on: September 28, 2014, 05:24:05 pm
Hola

Carmeloco tiene razón. En la libreria rfidmaster Vienen ejemplos como este:

Code:
/*
 * MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
 * The library file MFRC522.h has a wealth of useful info. Please read it.
 * The functions are documented in MFRC522.cpp.
 *
 * Based on code Dr.Leong   ( WWW.B2CQSHOP.COM )
 * Created by Miguel Balboa (circuitito.com), Jan, 2012.
 * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.)
 * Released into the public domain.
 *
 * Sample program showing how to read data from a PICC using a MFRC522 reader on the Arduino SPI interface.
 * Pin layout should be as follows:
 * Signal     Pin              Pin
 *            Arduino Uno      MFRC522 board
 * -----------------------------------------
 * Reset      9                RST
 * SPI SS     10               SDA
 * SPI MOSI   11               MOSI
 * SPI MISO   12               MISO
 * SPI SCK    13               SCK
 *
 * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com.
 */

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
Serial.println("Scan PICC to see UID and type...");
}

void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}

// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}

// Dump debug info about the card. PICC_HaltA() is automatically called.
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

Es muy fácil, por ejemplo, verificar el numero de serie de la tarjeta. Pero eso no da seguridad y utilizar estos lectores rfid no es tan fácil.  O al menos a mi no me lo ha sido, que lo intenté y aun no he entendido como va la criptografia para usarlos bien. Se que hay unos bloques y que estos están cifrados, son de lectura y escritura, pero quien o como se descifran, o porqué es así, pues no lo se.

Si alguien sabe más y quiere explicarlo aquí, sería de agradecer.

http://playground.arduino.cc/Learning/MFRC522
http://forum.arduino.cc/index.php?topic=256260
http://arduino.stackexchange.com/questions/1329/how-do-i-use-rfid-rc522-with-an-arduino



2  International / Software / Re: Algo muy raro entre infrarrojos e instruccion tone on: September 28, 2014, 04:48:53 pm
Hola

Yo tuve que cambiar los timer en las librerias, un peñazo y encima no siempre sale bien..
No lo he probado aun, pero esto puede ser una solución:
(Es una librería de un tone que no gasta timer)

http://forum.arduino.cc/index.php?topic=235774.0

Salu2
3  Using Arduino / Networking, Protocols, and Devices / Re: Probem witch SimpleModbus and delay [SOLVED] on: September 24, 2014, 12:02:15 pm


rockwallaby say ok.
It is a programming error of mine.

Sorry.
4  Using Arduino / Networking, Protocols, and Devices / Re: Probem witch SimpleModbus and delay on: September 24, 2014, 10:50:41 am
SOLVED¡¡

Code:

  if(millis() - tiempo > RETARDO_SENSORES){
    delay(1500);
  modbus_update_comms(9600, SERIAL_8N2, 1);    //  <- "Edit: NO" SOLVED PROBLEM (apparently)
   }


It's not elegant, but it works.
I'm testing now. For now it works ¡

Thanks¡

Edit: The problem is reduced but does not disappear.
5  Using Arduino / Networking, Protocols, and Devices / Re: Probem witch SimpleModbus and delay on: September 24, 2014, 10:08:47 am

Quote
Additionally, if the master doesn't receive a reply from the slave it just stops sending to it, it looks like you tried to fix it with the increased retry count, but with a lot of  long delays no number will suffice.

CraigF, Yes I know.
If you test code that will verify the slave will never again respond (unless reset slave). You can restart the master many times as you want. That's the problem.

Delay(1500);   =  SimpleModbus Slave Kaput, KO, Off...      smiley-cry
6  Using Arduino / Networking, Protocols, and Devices / Re: Probem witch SimpleModbus and delay on: September 24, 2014, 10:00:43 am
Thanks for responding.

"Delay (1500);" replaces a code to read temperature sensor 18B20.

I used "delay (1500);" to make the code more understandable.


Code:
if(millis() - tiempo > RETARDO_SENSORES)

This is for reading "Serial.print ();" more easily. Please ignore it.


Edit: Sorry rockwallaby.  You're right.
7  Using Arduino / Networking, Protocols, and Devices / Probem witch SimpleModbus and delay [SOLVED] on: September 24, 2014, 08:30:49 am
EDIT real Solution:

I did not know explain. Now I know.   smiley-wink

-1 Master and 6 slaves. (or more, or less)
-Slaves gave many errors if they spoke together.  (Slaves sometimes stopped working! )
-Slaves were very well if they were called just one.   smiley-eek-blue
-Do not know why. If each slave was fine alone, why they went wrong if together?
(I was going crazy)   smiley-cry

The problem was that reading 18B20 12-bit resolution is VERY SLOW. 750ms for reading. All slaves had 18B20.

Simplemodbus works poorly if there is delay in the slave. I think after the timeout slaves respond. I think buffer problem.

The solution: Read 18B20 dallastemperature asynchronously.

Here's how to:
http://forum.arduino.cc/index.php?topic=61840.5

I hope to help someone.


------------------------------------------
Hello

I have a problem with SimpleModbus and waits.

Slaves SimpleModbus stops responding with long waits. Sometimes, after a few minutes! becomes responsive, but usually never ever responds. It is necessary to reset the slave.

If we read temperature "DallasTemperature" and OneWire, the code has long waits. > 1000ms

I do not understand why he does this. It is possible a solution?

Thanks

Code:
#include <SimpleModbusSlave.h>

#define  LED 9  

enum
{    
  ADC_VAL,    
  PWM_VAL,  
  kkk  ,
  kkk2,
  kkk3,
  mmmm,
  llll,
  HOLDING_REGS_SIZE // leave this one
};

unsigned int holdingRegs[HOLDING_REGS_SIZE]; // function 3 and 16 register array

void setup()
{

  modbus_configure(&Serial, 9600, SERIAL_8N2, 4, 2, HOLDING_REGS_SIZE, holdingRegs);

}


unsigned long tiempo;
#define RETARDO_SENSORES 10000
void loop()
{
  
  modbus_update();
  
  holdingRegs[ADC_VAL] = 888;
  holdingRegs[kkk] = 444;
  holdingRegs[kkk2] = 4445;

  
  if(millis() - tiempo > RETARDO_SENSORES){
    delay(1500);
   }
    
}



Code:
#include <SimpleModbusMaster.h>

#define baud 9600
#define timeout 500
#define polling 200 // the scan rate
#define retry_count 100
#define TxEnablePin 2

enum
{
  PACKET1,
  TOTAL_NO_OF_PACKETS // leave this last entry
};

Packet packets[TOTAL_NO_OF_PACKETS];

packetPointer packetSalon = &packets[PACKET1];
unsigned int RegistrosSalon[11];

void setup()
{
  
  Serial.begin(115200);
  modbus_construct(packetSalon, 4, READ_HOLDING_REGISTERS, 0, 7, RegistrosSalon);
  modbus_configure(&Serial1, baud, SERIAL_8N2, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS);
  
}


unsigned long tiempo=0;
void loop()
{
  modbus_update();
  
if(millis() > tiempo+3000){
    
  Serial.println("");
   Serial.print("SALON->Paquetes_OK: ");
   Serial.print(packetSalon->successful_requests);  
   Serial.print("  SALON->Paquetes_MAL:  ");
   Serial.println(packetSalon->failed_requests);    
   Serial.print("Resultados: ");
   Serial.println(RegistrosSalon[0]);  
   Serial.print("Temp Salon: ");
   Serial.println(RegistrosSalon[1]);  
   Serial.print("Luz Salon: ");      
   Serial.println(RegistrosSalon[2]);  
   Serial.print("Tiempo PIR Salon: ");      
   Serial.println(RegistrosSalon[3]);  
   Serial.println(RegistrosSalon[4]);  
   Serial.print("Errores transmision: ");      
   Serial.println(RegistrosSalon[5]);  
 tiempo=millis();
}  
}
8  International / Español / Re: SMS Gateway on: July 21, 2014, 05:58:54 pm
Hola

Más barato lo dudo mucho. Como no sea reutilizar un viejo móvil (0€) o un modulo Bluethooth con un móvil que no uses.
Había visto otros módulos, pero más caros, sobre los 40€.
Ahora bien, asegúrate de conocer los comandos AT que reciba ese modulo tan económico.
(Y oJo con que te llegue el pedido si no pagas por paypal)

Por favor, cuéntanos tu experiencia.

Saludos,
Antonio
9  International / Español / Como controlar tiras de led ilimitidas "mas barato que me lo cuenten" on: July 21, 2014, 05:48:09 pm
Hola

Solo compratir este medio tan sencillo y super barato para controlar cuantas tiras de led queramos desde nuestro arduino.
Basta con conectar tres salidas del Arduino a las tres entradas de este amplificador de 1€ en DX, Ebay, BuyInCoins, etc :



Se conectan en el INPUT (claro) y cada pin controla un color por PWM (el +, o positivo del INPUT lo dejamos sin conectar). A tener en cuenta que dando vcc los leds quedan apagados, iluminandose al 100% si los ponemos a masa.
Yo le puse una resistencia de 680 Homios para limitar corriente en cada pin, por si acaso, pero creo que no hacen falta.
Luego solo hay que poner tantas tiras de led queramos, cada una con su amplificador cada 5 metros.

No he solucionado un ligero parpadeo cuando lucen muy poco, pero puede ser un problema de mi montaje.



Espero que le sea útil a alguien.

Saludos,
Antonio
10  International / Español / Problema calentamiento modulo zumbador buzzer (SOLUCIONADO) on: May 20, 2014, 10:25:31 am
Hola

Comentaros un problema que he tenido y no he sido capaz de encontrar la solución por internet.

He comprado unos módulos zumbadores amplificados en ebay:  (YL-44)



Al conectar el buzzer, se calentaba muchísimo y consumía mucho, aunque no usara el zumbador.
El problema es que el pin se quedaba en estado bajo y por tanto la corriente pasaba permanentemente por el zumbador, calentándose mucho.  Incluso llegando a resetear el Arduino Nano.  La solución es subir a 5v el pin del buzzer tras cada uso:
 
   digitalWrite(BUZZ, HIGH);   

Saludos,
Antonio

11  International / Software / Re: Truncar float o pasar de float a int con dos decimales on: May 13, 2014, 03:29:04 pm
Gracias, muy bien pensado.
¿Hay algún truco para cuando la temperatura sea negativa?
12  International / Español / Re: Problema con rele on: June 18, 2013, 09:19:04 am
Hola

No se, yo probaría a sustituir hour por hour(), así coges la hora del sistema en lugar de una variable que no le envías a la función.

Saludos

Code:
//control de las luces segun la hora:
void luces()
{
if(hour() == 11 && minute() == 1)
{
digitalWrite (rele, HIGH);
}
if(hour() == 12 && minute() == 1)
{
digitalWrite (rele, LOW);
}
}
void lluvia()
{
if(hour() == 13 && minute() == 59)
{
digitalWrite (rele1, LOW);
}
if(hour() == 14 && minute() == 1)
{
digitalWrite (rele1,HIGH);
}
}


13  International / Español / Re: Alguien conoce HLK-RM04, WIFI sencillo y barato para Arduino ???? on: June 18, 2013, 09:06:33 am
Gracias por la info JRodrigo.
Al final me he pedido un PA+LNA de esos (y el necesario DC-DC de 5 a 3,3v), por ebay.

Saludos
14  International / Español / Alguien conoce HLK-RM04, WIFI sencillo y barato para Arduino ???? on: June 17, 2013, 09:09:54 am
Hola

http://dx.com/es/p/vrm04-multifunction-uart-serial-port-to-ethernet-wi-fi-converting-adapter-module-w-antenna-blue-215334

24€ con Wifi via serial (parece que tiene una web embebida), más sencillo imposible. Y además ethernet. Parece muy interesante. Pero no encuentro nada por aquí. ¿Nadie lo ha probado?

¿Es que hay cosas mejores?

Estoy buscando algo para enlazar dos arduinos por el escaso rango del nrf24l01 (ni 10m), busco algo que por lo menos cubra un hogar.

Saludos,
Antonio
15  International / Español / Re: GPS Tracker on: June 17, 2013, 08:58:58 am
Puede ser problema de alimentación.
Para descartar, yo usaría pilas a ver si así va bien.
Pages: [1] 2 3