Я использую Arduino Uno для преобразования аналоговых данных в цифровые с датчика освещенности и отправки этих данных в raspberry pi с помощью кабеля USB. Однако когда я запускаю код, я читаю значения, например 1923, с 10-битного датчика.
Вот код Arduino
int a = A0;
int meas = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
meas = analogRead(a);
if(Serial.readString() == "1"){ //Check that Raspberry wants data or not
Serial.println(meas);
}
}
Вот код Python в Raspberry Pi
import serial
from datetime import datetime
now = datetime.now()
ser = serial.Serial('/dev/ttyACM0', 9600)
ser.write("1".encode())
s = ser.readline()
file = open("dataset.txt", "a")
file.write(now.strftime("%Y-%m-%d %H:%M") + " Sensor Value:" + str(s)+ "\n")
file.close()
Вот пример выходных данных после запуска кода каждые 5 минут
14:08 Sensor Value:6
14:10 Sensor Value:8
14:15 Sensor Value:8
14:20 Sensor Value:10
14:25 Sensor Value:6
14:30 Sensor Value:9
14:35 Sensor Value:6
14:40 Sensor Value:7
14:45 Sensor Value:5
14:50 Sensor Value:5
14:55 Sensor Value:12
15:00 Sensor Value:1
15:05 Sensor Value:1
15:10 Sensor Value:10
15:15 Sensor Value:12
15:20 Sensor Value:14
15:25 Sensor Value:1922
15:30 Sensor Value:2211
15:35 Sensor Value:11
15:39 Sensor Value:6
15:40 Sensor Value:7
15:45 Sensor Value:8
15:50 Sensor Value:10
15:55 Sensor Value:1
16:00 Sensor Value:
16:05 Sensor Value:11
Я хочу избавиться от этих 1-х и 1922-х годов, как от вещей, которые, безусловно, являются бессмысленными данными.
PS: датчик находится на вершине горы, я использую удаленное соединение для проверки данных и манипулирования кодом.
Как я могу это сделать? Спасибо за ваше время.