Bonjour a tous
je profite de mon temps libre , maintenant a la retraite pour m’initier a python et Raspberry.
Je suis aujourd'hui devant un problème :
je me sers de l'excellent document de https://deusyss.developpez.com/tutor...Gpio/#LIII-C-5
pour essayer de mettre en œuvre un CAN mcp3202, pour cela je m'inspire très fortement du listing d'Alexandre Galode, Mais je ne parviens a lire que sur ch0 , quand j'envoie ma tension a lire en ch1 , j'ai toujours 0 V . pour le cablage j'utilise cette carte http://https://www.amazon.fr/gp/prod...?ie=UTF8&psc=1
Pouvez vous me dire ou je déconne . Merci

Code python : 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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  test_CAN_2.py
#  
#  Copyright 2020  <pi@raspberrypi>
#  
# source devellopez.com Raspberry et le port GPIO par Alexandre Galode
# et https://scruss.com/blog/2013/02/02/simple-adc-with-the-raspberry-pi/
 
import spidev 
import time
 
 
def lire_analog(puce_spi , entree_analog ):#entrée_analog = cho :0  ou ch1 :1
    liaison = spidev.SpiDev(puce_spi ,entree_analog) 
 
    liaison.max_speed_hz = 300000 # en Hertz 
 
    # Initialisation des parametres de lecture
    # (cf datasheet pour les curieux) mcp3202mcp3202
 
    if entree_analog == 0: 
        value = 128 
    else: 
        value = 160 
    to_send = [value, 0] 
    print (value)
    # Lecture 
    rd_octets = liaison.xfer2(to_send) 
 
    # La reponse arrive sur deux octets 
    msb = rd_octets[0] 
 
    lsb = rd_octets[1] 
 
    value = (msb << 8) + lsb 
 
    calcul = 2 * (value * 3.3) / 4096.0 
 
    return calcul 
 
 
 
while True:
    entree_analog = 1  # 0 pour lire en ch0   pour lire en ch1
    puce_spi = 0
 
    calcul = lire_analog(puce_spi , entree_analog )
 
    print ("{:2.3f}". format(calcul))
 
    time.sleep(2)