[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
es:howtos:hardware:arm:interfacing_i2c_devices [2019/07/21 19:53 (UTC)] – [Comunicación con un dispositivo I2C] rramp | es:howtos:hardware:arm:interfacing_i2c_devices [2019/07/31 01:37 (UTC)] – [Desplazamiento del nivel de tensión] rramp | ||
---|---|---|---|
Línea 154: | Línea 154: | ||
El script anterior sólo hace un simple volcado de los datos de registro y convierte los valores en un formato legible para el ser humano, no hace nada con respecto a la calibración y el promedio de las vibraciones. Se lograrían lecturas giroscópicas más consistentes si se hiciera un promedio de 10 muestras de datos consecutivos, | El script anterior sólo hace un simple volcado de los datos de registro y convierte los valores en un formato legible para el ser humano, no hace nada con respecto a la calibración y el promedio de las vibraciones. Se lograrían lecturas giroscópicas más consistentes si se hiciera un promedio de 10 muestras de datos consecutivos, | ||
- | Un script en bash no es realmente la forma más adecuada de leer datos de dispositivos I2C, una forma más rápida de gestionar los datos de los dispositivos es realmente obligatorio para realizar calibraciones, | + | Un script en bash no es realmente la forma más adecuada de leer datos de dispositivos I2C, una forma más rápida de gestionar los datos de los dispositivos es realmente obligatorio para realizar calibraciones, |
- | A bash script is really not the most suitable way to read data from I2C devices, a faster means of managing the data from the devices is really mandatory in order to do calibration, data averaging and what more to make the information consistent and useful for further calculations. I found the Linux kernel | + | La documentación del núcleo de Linux para i2c me pareció una referencia útil (<kernel source tree>/ |
- | I hate showing my poor C programming capabilities but here's some code that uses i2c-dev | + | Odio mostrar mis pobres capacidades de programación en C, pero aquí hay un código que usa i2c-dev |
#include < | #include < | ||
Línea 275: | Línea 275: | ||
- | ====== | + | ====== |
- | You may end up with heterogeneous voltage level devices and if you have many devices the correct way to work around this problem is by using bidirectional I2C voltage level shifters like the [[ http:// | + | |
- | This is how I connected my 5v IMU pcb to a 3.3v I2C bus on my RaspberryPI: | + | |
+ | Usted puede terminar con dispositivos de nivel de voltaje heterogéneo y si tiene muchos dispositivos, | ||
+ | Así es como conecté mi PCB IMU de 5V a un bus I2C de 3.3V en mi Raspberry PI: | ||
+ | |||
+ | Tomé como supuesto que 4.4 V (5V con un diodo en serie 1N4148) seguiría siendo una tensión de alimentación tolerable para toda la pcb IMU, lo que probablemente permitiría a todos los dispositivos I2C de la pcb IMU reconocer un mínimo de 3.08 V. (4.4 * 0.7) como la tensión de nivel lógico 1 más baja y fiable, lo que le permitiría interoperar con los niveles lógicos de 3.3V de la Raspberry PI. | ||
+ | No pude encontrar si la Raspberry Pi tiene Resistencias de pullups internas en el bus I2C o si tienen que ser colocados externamente, | ||
====== Fuentes ====== | ====== Fuentes ====== | ||
<!-- If you are copying information from another source, then specify that source --> | <!-- If you are copying information from another source, then specify that source --> |