ADC MCP3202 12Bit 2-Kanal SPI DIL8
6,50 CHF
Sofort verfügbar, Lieferzeit: 1 Tag
Produktnummer:
S81959
Produktinformationen "ADC MCP3202 12Bit 2-Kanal SPI DIL8"
ADC MCP3202 12Bit 2-Kanal SPI DIL8
Leistungsdaten:
Modell: MCP3202
Hersteller: verschiedene
Typ: Elektronik
Empfindlichkeit: Vdd=3.3V: 0.0-3.3V, Vdd=5.0V: 0.0-5.0V,
Auflösung: 12Bit
Gehäuse: DIL8
Chip: MCP3202
Betriebsspannung: 2.7-5.5V DC
Schnittstelen: SPI (10-50kHz)
ADC-Auflösung: 12Bit
ADC-Kanäle: 2
Technologie: CMOS (low Power Design)
Stromaufnahme: 0.5uA / 375uA
Ausgangssignal: Digitale Schnittstelle SPI
Temperaturbereich: -40°C bis +85°C
Abmessungen: 2.8x1.7x0.3cm
Leistungsdaten:
Modell: MCP3202
Hersteller: verschiedene
Typ: Elektronik
Empfindlichkeit: Vdd=3.3V: 0.0-3.3V, Vdd=5.0V: 0.0-5.0V,
Auflösung: 12Bit
Gehäuse: DIL8
Chip: MCP3202
Betriebsspannung: 2.7-5.5V DC
Schnittstelen: SPI (10-50kHz)
ADC-Auflösung: 12Bit
ADC-Kanäle: 2
Technologie: CMOS (low Power Design)
Stromaufnahme: 0.5uA / 375uA
Ausgangssignal: Digitale Schnittstelle SPI
Temperaturbereich: -40°C bis +85°C
Abmessungen: 2.8x1.7x0.3cm
Raspberry Pi Python Demo Code:
import machine
import utime
#############################################################
## MCP3202 ADC 12 Bit, mit 2 Kanälen, mit SPI Schnittstelle
## Demo Raspberry PICO
## MCP3202 Vcc: 2.7-5.5V, 12Bit, 2 Kanal, SPI 10-50kps
##
## /CS 1 ** 8 VDD (& VRef)
## CH0 2 7 CLK
## CH1 3 6 D-OUT
## GND 4 5 D-IN
##
## RaspBeryy-PICO Wiering:
## RPI-4 GP2 --> MPC-7 CLK
## RPI-5 GP3 --> MPC-5 D-IN
## RPI-6 GP4 --> MPC-6 D-OUT
## RPI-7 GP5 --> MPC-1 /CS
## RPI-8 GND --> MPC-4 GND
## RPI-36 3.3V --> MPC-8 3.3V
##
## Timing-Init: /CS=0, CLK=0
## SPI: INIT /CS-Setzen, CLK=0, *CLK=1, CLK=0, D-OUT lesen.
## SPI: DATA 0->1 Write, 1->0 Read
## SPI: Total 17, CLK Zyklen für 17 Bit Ueberagung
## DIN: 1, 1 (1SINGEL/DIFF), 0 Kanal (Kan0), 1 (MSBF), ......
## DOUT: X,X,X,X,0,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0
print ("ADC MCP3202 Demo")
led = machine.Pin(25, machine.Pin.OUT)
MCPCLK = machine.Pin(2, machine.Pin.OUT)
MCPDIN = machine.Pin(3, machine.Pin.OUT)
MCPDOUT = machine.Pin(4, machine.Pin.IN)
MCPCS = machine.Pin(5, machine.Pin.OUT)
MCPCS.off() # Sicherheitsstart nach Power ON
MCPCS.on() # Sicherheitsstart nach Power ON
def MCPCLKONOFF(): # Clock Puls senden 25MHz
global MCPCLK # (Mind. 10MHz max. 50MHz)
utime.sleep_us(10)
MCPCLK.on()
utime.sleep_us(20)
MCPCLK.off()
utime.sleep_us(10)
while True: # Endlos-Schleiffe
led.toggle() # LED OnBoard soll blinken
utime.sleep(0.5) # 2 Messungen pro Sekunde
## SPI-Init: /CS=0, CLK=0
## SPI-Data: /CS-Setzen, CLK=0, *CLK=1, CLK=0, D-OUT lesen. 1 1 0 1
MCPADC0 = 0 # DatenWert variable starten mit 0
MCPCLK.off() # Clock Off zum starten
MCPCS.off() # Chip aktivieren
for BitNo in range(17): # SPI Werte 0..16 (17)
MCPDIN.off() # Standard DataWrite = 0
# 1=Start, 1=Singelend, 0=Kanal, 1=MSB
if (BitNo==0) or (BitNo==1) or (BitNo==3): # Folgende Bits = 1
MCPDIN.on() # Data = 1
MCPCLKONOFF() # Tackt Senden
MCPADC0 = (MCPADC0 << 1) # Bit schieben
MCPADC0 = MCPADC0 + MCPDOUT.value() # Daten Bit input laden
MCPCS.on() # Ende der Uebertragung
ADC0V = round((MCPADC0 >> 1 & 4095)*3.3/0.4096)/10000 # Umrechnen
print("ADC-Wert: "+str((MCPADC0>>1) & 4095),end="")
print(" Kanal0: "+str(ADC0V)+"V Bit: ",end="")
for BitNo in range(17): # SPI 0..16 (17) Bits ausgeben
print(str(MCPADC0 & 1)+" ",end="")
MCPADC0 = (MCPADC0 >> 1)
print("") # Ende, neue Linie
import machine
import utime
#############################################################
## MCP3202 ADC 12 Bit, mit 2 Kanälen, mit SPI Schnittstelle
## Demo Raspberry PICO
## MCP3202 Vcc: 2.7-5.5V, 12Bit, 2 Kanal, SPI 10-50kps
##
## /CS 1 ** 8 VDD (& VRef)
## CH0 2 7 CLK
## CH1 3 6 D-OUT
## GND 4 5 D-IN
##
## RaspBeryy-PICO Wiering:
## RPI-4 GP2 --> MPC-7 CLK
## RPI-5 GP3 --> MPC-5 D-IN
## RPI-6 GP4 --> MPC-6 D-OUT
## RPI-7 GP5 --> MPC-1 /CS
## RPI-8 GND --> MPC-4 GND
## RPI-36 3.3V --> MPC-8 3.3V
##
## Timing-Init: /CS=0, CLK=0
## SPI: INIT /CS-Setzen, CLK=0, *CLK=1, CLK=0, D-OUT lesen.
## SPI: DATA 0->1 Write, 1->0 Read
## SPI: Total 17, CLK Zyklen für 17 Bit Ueberagung
## DIN: 1, 1 (1SINGEL/DIFF), 0 Kanal (Kan0), 1 (MSBF), ......
## DOUT: X,X,X,X,0,B11,B10,B9,B8,B7,B6,B5,B4,B3,B2,B1,B0
print ("ADC MCP3202 Demo")
led = machine.Pin(25, machine.Pin.OUT)
MCPCLK = machine.Pin(2, machine.Pin.OUT)
MCPDIN = machine.Pin(3, machine.Pin.OUT)
MCPDOUT = machine.Pin(4, machine.Pin.IN)
MCPCS = machine.Pin(5, machine.Pin.OUT)
MCPCS.off() # Sicherheitsstart nach Power ON
MCPCS.on() # Sicherheitsstart nach Power ON
def MCPCLKONOFF(): # Clock Puls senden 25MHz
global MCPCLK # (Mind. 10MHz max. 50MHz)
utime.sleep_us(10)
MCPCLK.on()
utime.sleep_us(20)
MCPCLK.off()
utime.sleep_us(10)
while True: # Endlos-Schleiffe
led.toggle() # LED OnBoard soll blinken
utime.sleep(0.5) # 2 Messungen pro Sekunde
## SPI-Init: /CS=0, CLK=0
## SPI-Data: /CS-Setzen, CLK=0, *CLK=1, CLK=0, D-OUT lesen. 1 1 0 1
MCPADC0 = 0 # DatenWert variable starten mit 0
MCPCLK.off() # Clock Off zum starten
MCPCS.off() # Chip aktivieren
for BitNo in range(17): # SPI Werte 0..16 (17)
MCPDIN.off() # Standard DataWrite = 0
# 1=Start, 1=Singelend, 0=Kanal, 1=MSB
if (BitNo==0) or (BitNo==1) or (BitNo==3): # Folgende Bits = 1
MCPDIN.on() # Data = 1
MCPCLKONOFF() # Tackt Senden
MCPADC0 = (MCPADC0 << 1) # Bit schieben
MCPADC0 = MCPADC0 + MCPDOUT.value() # Daten Bit input laden
MCPCS.on() # Ende der Uebertragung
ADC0V = round((MCPADC0 >> 1 & 4095)*3.3/0.4096)/10000 # Umrechnen
print("ADC-Wert: "+str((MCPADC0>>1) & 4095),end="")
print(" Kanal0: "+str(ADC0V)+"V Bit: ",end="")
for BitNo in range(17): # SPI 0..16 (17) Bits ausgeben
print(str(MCPADC0 & 1)+" ",end="")
MCPADC0 = (MCPADC0 >> 1)
print("") # Ende, neue Linie
Anmelden
Keine Bewertungen gefunden. Teilen Sie Ihre Erfahrungen mit anderen.