Bonjour,
je suis entrain de concevoir un programme permettant de d'afficher des valeurs émis pour l'aduino sur python avec la librairie matplotlib, sauf que j'ai intégré un gestionnaire d'erreur afin d'avertir l'utilisateur lorsque l'arduino n'est
pas connecté..... Ainsi j'ai commencé par afficher l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
serial.serialutil.SerialException: could not open port 'com4': FileNotFoundError(2, 'Le fichier spécifié est introuvable.', None, 2)
j'en es déduit que l'erreur qu'il fallait résoudre
était FileNotFoundError donc dans mon code j'ai mis un excepet suivit d'un print pour afficher lorsque le port usb de l'arduino est brancher ou non... Mais le problème est que dès lors que ce dernier n'est pas branché le programme
me renvoi rien à contrario de lorsque qu'il est branché ou le terminal m'affiche bel et bien que l'arduino est connecté.... Ma question est donc est ce que l'erreur à traité est bien FileNotFoundError ? Merci d'avance cordialement


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
import serial
from tkinter import *
from matplotlib import pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
from serial import SerialException
 
 
 
 
 
 
 
 
def running():
    graphics = Toplevel()
    graphics.title("graphics")
    graphics.iconbitmap(r"index_FGQ_icon.ico")
    graphics.geometry("800x600")
 
 
 
 
    style.use('ggplot')
    f = plt.figure(figsize=(14,6.5), dpi=100)
    ax1 = f.add_subplot(111)
    arduino_Data = serial.Serial(port="com4",  baudrate=9600)
 
    try:
        arduino_Data = serial.Serial(port='com4', baudrate=9600)
    except SerialException:
        print("Port is already open")
    except FileNotFoundError:
        print("Port is not open")
 
    TempF = []
 
    def animate(i):
 
        arduino_String = arduino_Data.readline().decode("utf-8")
        data_array = arduino_String.split(',')
        temp = float(data_array[0])
        TempF.append(temp)
        plt.ylim(0, 30)
        ax1.plot(TempF,"r")
        ay = plt.axes()
        ay.yaxis.set_major_locator(MultipleLocator(1))
        ay.yaxis.set_minor_locator(MultipleLocator(0.5))
 
    canvas = FigureCanvasTkAgg(f, graphics)
    canvas.get_tk_widget().grid(column=1, row=1)
    ani = animation.FuncAnimation(f, func=animate, interval=1000, blit=False)
    ani.start()