jueves, 31 de agosto de 2017

Brújula , GY282, HMC5983


Brújula

GY282  HMC5983
Arduino



En este montaje realizamos una brújula con el módulo GY282 que emplea el chip HMC5983.

Registros del chip HMC5983.

La dirección I2C del chip HMC5983 es  0x1E .
Para establecer el modo de funcionamiento del chip.
   Wire.beginTransmission(0x1E);
   Wire.write(0x02); // Select mode register
   Wire.write(0x00); // Continuous measurement mode
  Wire.endTransmission();


El programa lee continuamente cada 50 ms el valor de la brújula.
Para calcular los grados se necesita los datos de X e Y que es de dos bytes cada uno, MSL y LSB.
Se transforma a Gauss (unidad de campo magnético) para luego hacer el cálculo en radianes.
Se hace una comprobación para corregir si el angulo esta invertido.
Se transforma a grados.
Este cálculo es simple, no se corrige la declinación desde nuestra posición.

Para un cálculo mas preciso se tiene que hacer un ajuste de mas preciso de los cálculos introduciendo la declinación desde nuestra posición.
De las pruebas realizadas no varía mas de 2 grados, por lo que el programa principal se utilizó el cálculo simple.
int gradosComplejo(void)
{
  int grados;
  leerDatos();
  Xm = mX_out*0.00092; // Gauss unit 
  Ym = mY_out*0.00092;
  // ==============================
  //Calculating Heading
  heading = atan2(Ym, Xm);
 
  // Coreccion de la declinacin dependiendo de tu lugar
  // http://www.ngdc.noaa.gov/geomag-web/
  // Mi lugar //España  --- Palencia
  //En mi caso varia 1º
  declination = 0.020;
  heading += declination;
  // Corregir si  angulo es invertido
  if(heading <0){ heading += 2*PI; }  //ocurre entre 180º y 360º
  if(heading > 2*PI) {heading -= 2*PI; Serial.print("***"); }
 
  headingDegrees = heading * 180/PI; // Para convertir radianes a grados
 //Si se quiere introducir un pequeño filtro para que no vibre el angulo
 //  descomentar al linea siguiente
  headingFiltered = headingFiltered*0.85 + headingDegrees*0.15;
 // headingFiltered = headingDegrees;
 
  grados=headingFiltered;
  return(grados);
}
Cálculo complejo mas exacto.



Montaje eléctrico.

Conexionado:

Vcc 5V -> VIN
GND    -> GND
A4     -> SDA
A5     -> SDL


Aunque el chip HMC5983 funciona a 3.3V , el módulo GY282 incorpora un regulador de voltaje, por lo cual se puede alimentar a 5V


//31/08/2017
//modificado por xsetaseta@gmail.com
//Juan Galaz
// Basado en http://www.instructables.com/id/Arduino-Processing-HMC5983-GY-282-Arduino-Proccesi/



#include <Wire.h>
 
#define BRUJULA 0x1E //I2C 7bit address of HMC5983

int mX_out,mY_out,mZ_out;

int  tiempo;
 
void setup()
{
  Serial.begin(9600);
  Serial.println("__Reseteando__");
  Wire.begin();
 
  delay(500);
  Wire.beginTransmission(BRUJULA);
  Wire.write(0x02); // Select mode register
  Wire.write(0x00); // Continuous measurement mode
  //With the data rate at the factory default of 15Hz updates, a 67 milli-second.
  Wire.endTransmission();
}


void loop()
{
  tiempo--;
  if(tiempo<0)
    {
      tiempo=10;
      Serial.print("Grados="); Serial.println(gradosSimple());
    }
  delay(5);
}

//__________________________________________

int gradosSimple(void)
{
  float heading;
  float Xm,Ym;

  int grados;
 
  leerDatos();
  Xm = mX_out*0.00092; // Gauss unit 
  Ym = mY_out*0.00092;
 
  heading = atan2(Ym, Xm);
   // Corregir si  angulo es invertido
  if(heading <0){ heading += 6.28; }  //ocurre entre 180º y 360º
  if(heading > 6.28) {heading -= 6.28;}
 
  grados = heading * 57.29; // Para convertir radianes a grados
  return(grados);
}

//Lectura registros  X,Z,Y
void leerDatos()
{
   Wire.beginTransmission(BRUJULA);
   Wire.write(0x03); //
   Wire.endTransmission();
   Wire.requestFrom(BRUJULA,6);
   mX_out= Wire.read()<<8 | Wire.read();
   mZ_out= Wire.read()<<8 | Wire.read();
   mY_out= Wire.read()<<8 | Wire.read();
} 



Programa realizado en gambas (VB para linux)

El el archivo del programa de arduino existen dos versiones.
Al primera es una prueba de comparación de los dos tipos de cálculos.
La segunda brujula_setav2.ino , es la que se emplea para comunicarse con el programa del PC.

Programa Arduino

Programa Gambas

Video del funcionamiento.

NOTAS:
Las interferencias que producen cualquier altavoz debido a los imanes modifican la medidas.
También las masas influyen  en la medidas.
Como curiosidad me ocurrió que al acercar imanes me cambiaron el ajuste del chip. Tuve que recalibrarlo acercando imanes al chip

Saludos
Juan Galaz


Bibliografía:
http://www.instructables.com/id/Arduino-Processing-HMC5983-GY-282-Arduino-Proccesi/

domingo, 27 de agosto de 2017

Detector de Movimientos HC-SR501 Arduino



Detector de Movimientos
HC-SR501
Arduino


Tenía hace tiempo un módulo detector de Movimientos HC-SR501 y no había hecho nada con el..
Como me aburría un poco, es una tarde de lluvia, he decidido hacer en un pequeño montaje.



// SETA43 

const int buttonPin = 2;     
const int ledPin =  13;     
const int SoundPin =  12;


int buttonState ;        

void setup() 
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);   
  pinMode(SoundPin, OUTPUT);   
  pinMode(buttonPin, INPUT);     
}

void loop()
{
int z;
  buttonState = digitalRead(buttonPin);

 delay(300);
  if (buttonState == HIGH) 
  {     
    Serial.println("Sensor activado");
    digitalWrite(ledPin, HIGH);
    for(z=0;z<150;z++)
    {
      digitalWrite(SoundPin, HIGH);
      delay(1);
      digitalWrite(SoundPin, LOW);
      delay(1);
    }  
  } 
  else {
    Serial.println("Sensor parado");
    digitalWrite(ledPin, LOW); 
  }
}



El programa es bastante simple.
Si cualquier persona se mueve delante del detector, se encendera el Led y empezara a sonar la alarma.
Si la persona que esta delante del detector se queda quieta, la alarma dejará de sonar.
El ajuste es poco preciso, por lo que si funciona con los ajuste de fabrica, no tocar nada.


Saludos
Juan Galaz

jueves, 24 de agosto de 2017

Instalación de Debian 9 desde usb

Página principal

Instalación de Debian 9 desde usb



Voy a intentar explicar todos los pasos que he seguido para crear un USB que sea arrancable para poder instalar  Debian 9 .
En un anterior artículo había explicado  como instalar Debian 8 desde USB .  Ahora hay ciertos cambios con la nueva versión de Debian y este es el motivo de este artículo.
Los que tenemos fibra óptica o una conexión rápida somos unos privilegiados, la mayoría de la gente tiene poca velocidad, y algunas personas que viven en casas aisladas solo tienen conexión vía teléfono a precios altos y con un tope de datos mensuales. En este artículo  voy a crear un USB arrancable con el instalador de la distribución de linux Debian 9.

La forma normal que tiene la gente de hacer un USB arrancable es:
Siendo administrador.
su
Localizar donde está la memoria usb
fdisk -l
Desmontamos la memoria usb
umount /dev/sdc
Cuando estemos seguro de donde está (cuidado si nos equivocamos formateamos el disco duro)
mkfs.vfat -F 32 /dev/sdc -I
Copiamos la ISO en nuestra memoria usb
dd if=ImagenDebian.iso of=/dev/sdc
Terminamos de copiar los datos que puedan quedar en cache por si las moscas...
sync


A la hora de copiar la iso a nuestra memoria usb existen varios métodos:
dd if=ImagenDebian.iso of=/dev/sdc
dd if=/ruta/debian.iso of=/dev/sdb bs=1M; sync
cat debian.versión.iso > /dev/sdX ; sync
dd if=/your/path/debian-7.5.0-i386-netinst.iso of=/dev/sdX bs=4M sync

Todos los métodos de copiado hacen lo mismo, aunque algunos sean mas rápidos.

Esta forma está bien, pero tiene sus inconvenientes:
La memoria de 8G solo queda grabada con 4.5G el resto se inutiliza.
La memoria se queda en modo de solo lectura.
En algunos casos ni siquiera se monta en windows, tiene formato extraño.
En muchos casos después de instalar Debian, si queremos instalar mas cosas no podemos instalar desde el USB, debemos emplear la red o un DVD.

Para poder aprovechar parte de la memoria USB para colocar repositorio de paquetes, utilizaba  el programa unetbootin . Ahora  con la nueva versión de Debian no funciona, incluso en la propia instalación nos muestra un aviso por posibles incompatibilidades con este programa.

Mirando por internet había vídeo que mostraban como hacer un USB para instalar Debian 9 desde este dispositivo.
Se utilizaba el programa rufus, que solo funciona en Windows :( .
Empecemos con bajar la imagen de la primera ISO de Debian 9, en mi caso utilizo la versión de 32bits.
https://cdimage.debian.org/debian-cd/current/i386/iso-dvd/
Iniciamos el programa rufus.exe ,

Seleccionamos la imagen ISO de Debian 9 y la memoria USB donde instalamos la imagen.

Nos saldrá un aviso de problemas con Syslinux, yo digo que sí para descargarla desde la red.
No he probado si funciona diciendo que no.

Seleccionamos Escribir en modo ISO.
Debemos de esperar hasta 20 minutos , dependiendo de la velocidad de nuestra USB.
Cambiar de nombre del USB, sin espacios, ejemplo: DEBIAN91

Reiniciamos el ordenador para poder arrancar desde el USB.
Aclaremos que para poder arrancar desde el USB debemos pulsar una tecla (F9 al F12 dependiendo de nuestro ordenador)  cuando arranca el ordenador, en mi caso es F11.
Por no repetir todos los pasos para instalar Debian 9  recomiendo una buena página:
https://usuariodebian.blogspot.com.es/2017/07/instalar-debian-gnulinux-stretch-90.html

Cuando hayamos instalado Debian 9, arrancamos.
Veremos que todo funciona bien y entramos con nuestro usuario, a partir de ahora el usuario por defecto será seta para todas la pruebas.
Montamos la USB que tendrá por nombre  DEBIAN91 .
Entramos en una consola y tecleamos los siguientes comandos:

cd   /media/seta/DEBIAN91/dists/stretch/main/binary-i386/
gunzip  -k Packages.gz
bzip2 -k Packages


Con esto transformamos el fichero Packages  de main en tres formatos diferentes.

cd   /media/seta/DEBIAN91/dists/stretch/contrib/binary-i386/
gunzip  -k Packages.gz
bzip2 -k Packages


Hacemos lo mismo, pero para contrib .

Editar /etc/apt/sources.list  , debemos ser  root y lo dejamos como sigue:

deb file:/media/seta/DEBIAN91/ stretch main contrib

Podemos también cambiarlo con la orden:

echo deb file:/media/seta/DEBIAN91/ stretch main contrib  > sources.list

Actualizamos la base de datos de los paquetes:

 apt-get update

Debemos ser root para hacer estas operaciones.
Ya podemos entrar en el programa synaptic para instalar los programas que no instalamos al principio.



Crear repositorios deb en disco duro o USB.

El tener que meter una y otra vez los disco de instalación de Debian, o utilizar la red donde no es muy rápida, es un tanto molesto.
Crear nuestro propio repositorio en un disco duro o USB es muy práctico,  y bastante veloz a la hora de instalar paquetes.
Puedes hacer una selección de paquetes desde synaptic , instalándolos o solo bajarlos, y los almacena en /var/cache/apt/archives/  . Ahora los copias en el directorio de la memoria USB que quieras , yo los copio a /media/seta/DEBIAN91/debian91/archives/   .
Con el programa dpkg-scanpackages creas un archivo comprimido Packages.gz donde se encuentran el listado de todos los paquetes. Este debe ser colocado con los paquetes que has añadido.
Ejemplo de como se crea el paquete comprimido y su colocación junto a los paquetes:

dpkg-scanpackages archives /dev/null | gzip >archives/Packages.gz

En la versión de Debian 9 debemos tener 3 ficheros en vez de uno.

cd archives
gunzip  -k Packages.gz
bzip2 -k Packages


Editar /etc/apt/sources.list  , debemos ser  root y lo dejamos como sigue:

deb    file:/media/seta/DEBIAN91/ stretch main contrib
deb   
file:/media/seta/DEBIAN91/debian91/     archives/

Ahora cuando voy al pueblo donde internet solo existe en el bar y sus alrededores, puedo instalar mi distribución Debian 9  desde mi memoria USB. :)

He estado haciendo todas las pruebas con la versión Debian 9.1 funcionando a la perfección.

Saludos.
Juan Galaz

Bibliografía:
Debian 8 desde usb

https://www.debian.org/releases/stable/i386/ch04s03.html.es
https://elbauldelprogramador.com/iniciar-debian-desde-usb/
https://diariodeunalinuxera.com/2015/10/20/crear-un-usb-booteable-de-cualquier-distribucion-gnulinux-desde-la-terminal/
https://exdebian.org/foro/instalar-debian-8-desde-usb-solucionado

http://www.elmundoenbits.com/2013/02/crear-un-repositorio-local-para.html#.VWmjIBcg1B0
http://blog.desdelinux.net/no-tienes-internet-aprende-como-llevarte-tus-repositorios-a-casa/

miércoles, 23 de agosto de 2017

Instalar Debian GNU/Linux Stretch 9.0


Para los usuarios que no tengan demasiada idea de como instalar Debian os recomiento la página:

UsuarioDebian: Instalar Debian GNU/Linux Stretch 9.0

Es de la mejores que he visto a la hora de explicar paso por paso, la forma de instalar Debian.

Saludos
SETA43

lunes, 21 de agosto de 2017

Bitácora de una instalación de Debian 9

Página principal

Bitácora de una instalación de Debian 9

xsetaseta@gmail.com
21/08/2017

Voy a intentar explicar todos los paso que he seguido para instalar Debian 9, con su problemas y soluciones.
Mi equipo:
AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
4G de RAM
Tarjeta gráfica integrada NVIDIA Corporation C61 [GeForce 7025 / nForce 630a]
Lo único que tengo un poco diferente es la cantidad de particiones en el disco duro para poder
tener varios sistemas operativo:

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *            63  102398309  102398247  48,8G  7 HPFS/NTFS/exFAT
/dev/sda2        102398371 1502961663 1400563293 667,9G  f W95 Ext'd (LBA)
/dev/sda3       1502963712 1682286591  179322880  85,5G 83 Linux
/dev/sda4       1682286592 1953523711  271237120 129,3G 83 Linux
/dev/sda5        102398373  204796619  102398247  48,8G  7 HPFS/NTFS/exFAT
/dev/sda6        204796683  753946514  549149832 261,9G  b W95 FAT32
/dev/sda7        753946578 1269633014  515686437 245,9G  7 HPFS/NTFS/exFAT
/dev/sda8       1269633024 1318461439   48828416  23,3G 83 Linux
/dev/sda9       1318463488 1320415231    1951744   953M 82 Linux swap / Solaris
/dev/sda10      1320417280 1369634815   49217536  23,5G 83 Linux
/dev/sda11      1369636864 1398931455   29294592    14G 83 Linux
/dev/sda12      1398933504 1428228425   29294922    14G 83 Linux
/dev/sda13      1428230144 1502961663   74731520  35,7G 83 Linux


Como se puede observar son muchas las particiones que tengo, en este caso voy a instalarlo en la partición /dev/sda13.
En la pagina  debian8.html  había realizado una bitácora de la instalación de Debian 8 . Esta es una continuación con las diferencias entre la versión 8 y 9.
Yo he elegido MATE y XFCE como entornos de trabajo, uno debido a que me gusta y el otro por su simplicidad.
En primer lugar debemos bajar la primera imagen iso  de la distribución.
https://cdimage.debian.org/debian-cd/current/i386/iso-dvd/
Esta es la versión de 32 bits, si tenemos 4G o mas, nos conviene bajar la imagen  de 64 bits
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/
Ahora quemamos un disco DVD con la imagen.
Si instalamos muchos ordenadores nos conviene instalar la distribución desde un USB.
Crear un usb para instalar Debian9
Siendo administrador.
su
Localizar donde está la memoria usb
fdisk -l
Desmontamos la memoria usb
umount /dev/sdc
Cuando estemos seguro de donde está (cuidado si nos equivocamos formateamos el disco duro)
Copiamos la ISO en nuestra memoria usb
dd if=debian-9.1.0-i386-DVD-1.iso of=/dev/sdc
Terminamos de copiar los datos que puedan quedar en cache por si las moscas...
sync

En un artículo anterior Instalación de Debian 8 desde usb había explicado todos los pasos.
Para poder aprovechar parte de la memoria USB para colocar repositorio de paquetes, utilizaba  el programa unetbootin . Ahora no funciona, incluso en la propia instalación nos muestra un aviso por posibles incompatibilidades con este programa.
Si utilizamos una memoria de 8G desaprovechamos 4G , una pena.

Aclaremos que para poder arrancar desde el usb o desde DVD debemos pulsar una tecla (F1 al F12 dependiendo de nuestro ordenador)  cuando arranca el ordenador, en mi caso es F11.
Por no repetir todos los pasos recomiendo la página:
http://blog.desdelinux.net/instalacion-configuracion-Debian-8-gnome/
donde viene muy bien explicado los pasos para la instalación de Debian 8 que es muy parecida a la Debian 9 .
El  display manager que se instala por defecto en la instalación de Xfce es  lightdm. Si instalamos otros escritorios nos preguntara que display manager queremos instalar.

Después de unos 30 minutos tendremos el sistema instalado. Si instalamos todos escritorios  posibles kde, gnome, etc , se puede tardar unos 50 minutos en instalar todo.
Si instalamos desde una USB y luego queremos instalar alguna cosa mas, no podremos utilizar el USB, deberemos utilizar el DVD o la red para instalar mas paquetes. En Debian 8  se podía modificando el fichero  /etc/apt/sources.list  añadiendo  deb file:/media/seta/8G2/     main/
Ahora no funciona, si alguien lo sabe que haga el favor de decírmelo.

Todos los pasos siguientes podemos obviarlos si funciona vuestra tarjeta gráfica.
El driver nouveau es incompatible  mi tarjeta gráfica [GeForce 7025 / nForce 630a], el ordenador se bloquea quedando la pantalla con líneas raras y la única forma de desbloquear el ordenador es resetear a lo bruto el PC. En versiones anteriores de MATE se podía entrar, pero ahora resulta que utiliza aceleración gráfica  y se cuelga el ordenador. Si queremos arrancar la sesión gráfica sin aceleración gráfica podemos entrar con Xfce que funciona perfectamente, y podemos utilizar todos los programas que no utilicen aceleración gráfica.
Instalar los driver propietarios de mi tarjeta gráfica GeForce 7025 / nForce 630a.
En la versión de Debian 8  yo instalaba los drivers desde el fichero que bajaba desde Nvidia. En Debian 9 me ha sido imposible, da error , y por mucho que he probado diferentes soluciones que aparecían en foros no lo he conseguido.
Para todos los pasos siguiente debemos entrar en consola y ser root con la orden su y luego ponemos la contraseña.
Para poder utilizar mi tarjeta he hecho uso de los repositorios de Debian 9.
Lo primero es deshabilitar el driver nouveau .
echo -e "blacklist nouveau"  > /etc/modprobe.d/fbdev-blacklist.conf
echo -e "options nouveau modeset=0" > /etc/modprobe.d/modesetting.conf

Cambiamos los repositorios editando el fichero /etc/apt/sources.list
mousepad /etc/apt/sources.list
Ahora ponemos los repositorios oficiales.
deb  http://deb.debian.org/debian stretch main contrib non-free
deb-src  http://deb.debian.org/debian stretch main

Reiniciamos el ordenador y comprobaremos que arrancamos con con el driver de SVGA y podemos entrar en cualquier escritorio sin que se cuelgue el ordenador.
En una consola y siendo root tecleamos lo siguiente:
apt-get update
apt-get install nvidia-detect
nvidia-detect

Nos indicara el driver para nuestra tarjeta gráfica,  en mi caso legacy-304xx .
Detected NVIDIA GPUs:
00:0d.0 VGA compatible controller [0300]: NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] [10de:03d6] (rev a2)

Checking card:  NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] (rev a2)
Your card is only supported up to the 304 legacy drivers series.
It is recommended to install the
    nvidia-legacy-304xx-driver
package.
Instalamos el driver que lo compilará.
apt-get install linux-headers-$(uname -r) nvidia-legacy-304xx-driver
Después de un rato...no mucho, habrá terminado, y deberemos reiniciar nuestro ordenador.
Si todo ha ido bien, tendremos la tarjeta funcionado bien y con aceleración gráfica.

Si instalamos  varios distribuciones linux, la última cambia el nombre de la partición swap. Si nos aparece el error :
A start job is running for dev-disk-by\x2uuid-f782f311\<more numbers>.device [1min 30s]
A start job is running for dev-disk-by\x2uuid-f782f311\<more numbers>.device [1min 30s]
Se tira 90 segundos hasta que arranca, como buscando algo. Mirando por internet he encontrado la solución. En el fichero de configuración /etc/fstab  hay comentar la línea donde se especifica la partición swap y cambiarlo para que monte la swap en un lugar fijo.
En mi caso es de la siguiente forma:
#UUID=201cea1e-d980-43b9-8d9d-fc2badcfa051 none            swap    sw              0       0
/dev/sda9          swap         swap         defaults     0     0


Repositorios
Si no quieres bajar los 3 DVD de Debian 9, te recomiendo que añadas en el archivo
 /etc/apt/sources.list    la siguiente línea:
    deb  http://deb.debian.org/debian stretch main contrib non-free
    deb-src  http://deb.debian.org/debian stretch main

La selección de paquetes que se incluyen los DVD es de lo mas extraño, siempre lo he criticado por su aleatoriedad, en mi caso la mayoría de los paquetes que utilizo no vienen en ninguno de los 3 DVD, por lo cual tengo que recurrir a la RED , he tenido que hacer mi propios repositorios. En el artículo debusb.html explico como hacerlo.
También han hecho cambios...a peor, me costo descubrirlo.
Antes servía con  crear el paquete comprimido y su colocación junto a los paquetes:
    dpkg-scanpackages archives /dev/null | gzip >archives/Packages.gz
En la versión de Debian 9 debemos tener 3 ficheros en vez de uno y los creamos con:
dpkg-scanpackages archives /dev/null | gzip >archives/Packages.gz
gunzip  -k Packages.gz
bzip2 -k Packages

Mi opinión es que se podían quedar quietos con este tipo de cambios.
Ahora solo se tiene que colocar el nuevo repositorio en el fichero de configuración
   /etc/apt/sources.list  .
Por ejemplo si tengo la memoria usb nombre 8G2 que se monta en    /media/usuario/8G2  , y el repositorio de archivos está en  /debian9/archives  .
Mis repositorios quedan como sigue:

deb file: /media/usuario/8G2S/debian9/     archives/

deb cdrom:[Debian GNU/Linux 9.1.0 _Stretch_ - Official i386 DVD Binary-1 20170722-12:45]/ stretch contrib main

deb  http://deb.debian.org/debian stretch main contrib non-free
deb-src  http://deb.debian.org/debian stretch main

Curiosidades:
El repositorio «cdrom://[Debian GNU/Linux 9.1.0 _Stretch_ - Official i386 DVD Binary-1 20170722-12:45] stretch Release» no tiene un fichero de Publicación.
N: Los datos de un repositorio como este no se pueden autenticar y por tanto su uso es potencialmente peligroso.
Es el propio DVD que se baja de Debian.¿¿¿!!!!???


DISPOSITIVOS


Impresoras  HP Deskjet F300 y Canon LBP2900

TVISTO - ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0

NPG-nano - ID 187f:0201 Siano Mobile Silicon Nova B

ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Para estos dispositivos empleo el mismo método que en Debian 8 , ver artículo   debian8.html .
Procurar instalar las mayoría de los firmwares del repositorio oficial de debian, os asegurara que funcionan muchos dispositivos.


PROGRAMAS
Abiword que era un programa sencillo editor de textos, ahora funciona raramente. En la versión de Debian 8 funcionaba peor y tuve que instalar la versión de Debian 7.
Amule a regresado, ahora se instala desde los repositorios oficiales de Debian.
Code::Blocks Ya está recopilado para la versión de la librería 3.0 wx.
VirtualBox . No se puede instalar desde los repositorios de Debian 9. Debemos Ir a:  http://download.virtualbox.org/virtualbox/
Descargar la versión que quieras y lo instalas.
Eagle. Es un programa para dibujar circuito. No se puede instalar desde los repositorios de Debian 9. Si lo bajas de la pagina del fabricante e intentas instalarlo y ejecutarlo te dará error en las librerías. La solución es:
cd /usr/lib/i386-linux-gnu
ln -s -T libssl.so.1.0.2  libssl.so.1.0.0
ln -s -T libcrypto.so.1.0.2  libcrypto.so.1.0.0



Espero que le sirva a alguien

SETA43

jueves, 3 de agosto de 2017

OSCILOSCOPIO Arduino Versión 3



OSCILOSCOPIO
Arduino
Versión 3


En mi anterior montaje había realizado un osciloscopio con arduino.
En este montaje lo perfecciono y meto todos los componentes en una pequeña caja de plástico.
En la caja de plástico coloco 4 interruptores  para seleccionar los diferentes tipos de medidas .
Se puede seleccionar entre mediciones DC directas, mediciones de AC, y mediciones de DC con escala de x3.

Esquema electrico del circuito.


Diferentes combinaciones de los micro-interruptores.

Como se puede ver he colocado una resistencia entre la entrada A1 y los 3,3V, y esto tiene un motivo.
Resultaba que al hacer pruebas de medida en DC, las medidas no eran correctas, eran algo inferiores.
Revisando voltajes por el circuito descubrí que la tensión en el arduino nano  no era de 5V , era de 4,7V y alteraba todas las mediciones.
Mirando los esquemas del arduino UNO y el arduino NANO , había diferentes formas de alimentar el micro. El primero utilizaba un transistor sin caída de tensión, y el segundo un diodo que hacia caer la tensión entre 0,3V a 0,7V . Este cambio en la alimentación produce errores de lectura .
Para solucionar este problema, realizo una lectura de referencia de los 3,3V en el pin A1. Con esta lectura de referencia calculo la lectura real de la entrada A0.



Montaje de todos los componentes en la caja de plástico.


Nueva interface

Después de prueba y pruebas, he descubierto que la tasa real  de muestreo es la siguiente:
212.000 m/s
124.000 m/s
66.000 m/s 
35.500 m/s
17.900 m/s
8.880 m/s

PROGRAMA


Para que funcione el programa windows debemos copiar las librerías al directorio donde se encuentra el programa o una sola vez en el directorio system32 del directorio windows.
Librerías necesarias SDL de Windows


Creo que es un buen montaje para todos los que no dispongan de un osciloscopio, y muy barato 3€.
Como medidor de tensión en la escala de x3 podemos medir hasta 15V.

Saludos
Juan Galaz



Bibliografía:
ardu_os.html
http://real2electronics.blogspot.com/2011/09/arduino-adc-muestreo-alta-velocidad.html