Официальный сайт компании Arduino по адресу arduino.cc
Srial.println and Python
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 07/12/2020 - 08:09
Приветствую, ардуинщики!
Есть целая проблема, мешающая реализации одной штуки.
Проблема в выводе значений в Serial.println
То есть в скетче ардуино есть две функции Serial.print которые отправляются на расбери и уже с помощью Python скрипта выводятся в консоль и сохраняются в файл.
Есть одно НО, ардуино отправляет их одновременно на пайтон и в консоли показывается значение той же переменной но не значения датчика света.
Если есть кто либо подскажите как можно сделать отправку по отдельности на пайтон?
Python:
#!/usr/bin/env python3 import serial import time import datetime f = open("/home/pi/Desktop/test.txt", "a") if __name__ == '__main__': ser = serial.Serial('/dev/ttyACM0', 9600) ser.flush() while True: if ser.in_waiting > 0: line = ser.readline().decode('CP866').rstrip() timeAll = time.localtime(time.time()) if timeAll.tm_sec == 0 or timeAll.tm_sec == 10 or timeAll.tm_sec == 20 or timeAll.tm_sec == 30 or timeAll.tm_sec == 40 or timeAll.tm_sec == 50: f = open("/home/pi/Desktop/testn2.txt", "a") print("Light: " + (str(line))) st = "Time: " + str(timeAll.tm_hour) + ":" + str(timeAll.tm_min) + ":" + str(timeAll.tm_sec) print(st) f.write("Light: ") f.write(str(line)) f.write("\n") f.write("Time: ") f.write(str(timeAll.tm_hour)) f.write(":") f.write(str(timeAll.tm_min)) f.write(":") f.write(str(timeAll.tm_sec)) f.write("\n") f.close() time.sleep(1)
Arduino
int i = 542; #define PIN_PHOTO_SENSOR A0 void setup() { Serial.begin(9600); } void loop() { int value_light = analogRead(PIN_PHOTO_SENSOR); Serial.println(value_light); delay(1000); Serial.println(i); }
До изменения:
Вывод:
Light: 700
Time: 14:52:48
После изменения (Выводится только значение переменной i):
Light: 542 (Значение переменной)
Time: 14:52:48
Nik_Frol - вы можете написать четко и ясно - в чем проблема?
Изложите, как должно работать, как оно работает на самом деле - и чем первое отличается от второго?