Conectar los datos de sensores de Arduino con TensorFlow
en Python
Paso 1: Configurar Arduino para recoger datos
1. Conecta los sensores al Arduino.
- Asegúrate de que los sensores están correctamente conectados a los pines
adecuados.
2. Escribe el código en el IDE de Arduino:
void setup() {
[Link](9600);
}
void loop() {
int sensorValue = analogRead(A0); // Leer del sensor conectado al
pin A0
[Link](sensorValue); // Enviar el dato por el puerto serie
delay(100); // Retraso de 100 ms entre lecturas
}
Paso 2: Conectar Arduino con Python
1. Instala las librerías necesarias:
pip install pyserial
2. Crea un script en Python para leer los datos del puerto serie:
import serial
arduino = [Link](port='COM3', baudrate=9600, timeout=1)
def read_data():
if arduino.in_waiting > 0:
data = [Link]().decode('utf-8').strip()
return data
return None
while True:
sensor_data = read_data()
if sensor_data:
print(f"Sensor data: {sensor_data}")
Paso 3: Procesar los datos con Python
1. Preprocesar los datos:
import numpy as np
def preprocess_data(data):
return [Link]([float(data)]) / 1023.0 # Normalización para
valores de 0 a 1
2. Almacenar los datos:
import csv
with open('sensor_data.csv', 'a') as f:
writer = [Link](f)
[Link]([sensor_data])
Paso 4: Entrenar o usar un modelo de IA con TensorFlow
import tensorflow as tf
from [Link] import Sequential
from [Link] import Dense
model = Sequential([
Dense(16, activation='relu', input_shape=(1,)),
Dense(8, activation='relu'),
Dense(1, activation='sigmoid') # Ejemplo de salida binaria
])
[Link](optimizer='adam', loss='binary_crossentropy',
metrics=['accuracy'])
Paso 5: Mejoras opcionales
- Visualización en tiempo real con librerías como matplotlib.
- Guardar los modelos entrenados para usarlos en tiempo real.