Buscar los puertos I2C en ARDUINO

0

Posted by rdm | Posted in ARDUINO | Posted on 30-11-2013

Etiquetas:

Si al ARDUINO le conectas por I2C un dispositivo, puede que no escuentres el puerto que usa.
Con este programa que grabas en el ARDUINO lo encuentras.
Quizás tengas que ajustar la velocidad de 19200 a lo que necesites.

// --------------------------------------
// i2c_scanner
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
// 
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//

#include <Wire.h>

void setup()
{
  Wire.begin();

  Serial.begin(19200);
  Serial.println("\nI2C Scanner");
}

void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Habilitar puerto wan al router TP-Link TL-WR1043ND DD-WRT

0

Posted by rdm | Posted in DD-WRT | Posted on 06-11-2013

Tengo un router TP-Link TL-WR1043ND v 1.9 con el firmare:

TP-Link TL-WR1043ND
versión de Firmware

DD-WRT v24-sp2 (12/24/13) std – build 23204

Kernel Version

Linux 3.5.7.27 #3254 Tue Dec 24 07:45:14 CET 2013 mips

Actualmente le necesito simplemente como router y con 5 puertos gigabit (4+wan) y como AP wifi.
El problema es que el wan no se conectaba como puerto y tras dar vueltas encontré el truco en la red.
Te vas a ADMINISTRACIÓN – DIAGNOSTICOS y pegas dentro de la ventana de comandos esto:
swconfig dev rtl8366rb vlan 1 set ports '0 1 2 3 4 5t'
stopservice lan
startservice lan

Pinchas en guardar arranque, grabas y en el próximo arranque te funciona el wan como un quinto puerto,
y por ese enlace le meto el cable de red que viene con Internet.

5WANDDWRT

Raspberry Pi no actualiza. DNS.

0

Posted by rdm | Posted in Raspberry Pi. | Posted on 05-11-2013

Si la Raspberry Pi no quiere actualizar puede ser porque falla el DNS y no puede ver los servidores.

Mensaje de error usando el comando sudo apt-get update:

pi@raspberrypi ~ $ sudo apt-get update
Err http://mirrordirector.raspbian.org wheezy InRelease                               
Err http://archive.raspberrypi.org wheezy InRelease                                   
Err http://mirrordirector.raspbian.org wheezy Release.gpg                             
  Temporary failure resolving 'mirrordirector.raspbian.org'
Err http://archive.raspberrypi.org wheezy Release.gpg                                 
  Temporary failure resolving 'archive.raspberrypi.org'
Reading package lists... Done

Es un problema de DNS, prueba para solucionar esto:

 

En /etc/resolv.conf añade las siguientes líneas con el comando

sudo nano /etc/resolv.conf

nameserver 8.8.4.4
nameserver 8.8.8.8

A mi me ha funcionado.