-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!193.
141.40.65.MISMATCH!npeer.as286.net!npeer-ng0.as286.net!peer03.ams1!peer.ams1.xl
ned.com!news.xlned.com!feeder.cambriumusenet.nl!feed.tweaknews.nl!posting.tweak
news.nl!fx15.ams1.POSTED!not-for-mail
Newsgroups: pl.misc.elektronika
From: Marcin Debowski <a...@I...zoho.com>
Subject: MCP3208 i mikropyton na RPi Pico
User-Agent: slrn/1.0.3 (Linux)
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Lines: 73
Message-ID: <8I6pM.3178$GF_d.1926@fx15.ams1>
X-Complaints-To: a...@t...nl
NNTP-Posting-Date: Wed, 05 Jul 2023 04:54:28 UTC
Organization: Tweaknews
Date: Wed, 05 Jul 2023 04:54:28 GMT
X-Received-Bytes: 3247
Xref: news-archive.icm.edu.pl pl.misc.elektronika:781802
[ ukryj nagłówki ]Jakiś czas temu pytałem tutaj o środowisko typu SBC, na którym mógłbym
sobie coś zmajstrować konkretnego i pouczyć pytona. Wtedy wspominałem o
kolorymetrii, ale wyszło cos pilniejszego i obecnie próbuję ogarnąć
obsługę MCP3208 pod ww. RPi (potrzebuje 8-mio kanałowy odczyt
tenperatury). Tzn. zasadniczo mam z lekka ją ogarnietą, ale dla MCP3008.
To zasadniczo wygląda tak, że biblioteka do MCP3008 obsługuje bez
żadnych modyfikacji MCP3208, no ale dostaję wynik 10bit. Czy jakaś dobra
dusza mogłaby mi trochę powyjasniać, bo tu nie tylko że pyton ale
jeszcze programowanie cipa dochodzi? Pytania w kodzie.
Poniżej kod dla mcp3008.py stąd:
https://blog.rareschool.com/2021/02/raspberry-pi-pic
o-project-2-mcp3008.html
import machine
class MCP3008:
def __init__(self, spi, cs, ref_voltage=3.3):
"""
Create MCP3008 instance
Args:
spi: configured SPI bus
cs: pin to use for chip select
ref_voltage: r
"""
self.cs = cs
self.cs.value(1) # ncs on
self._spi = spi
self._out_buf = bytearray(3)
self._out_buf[0] = 0x01
self._in_buf = bytearray(3)
self._ref_voltage = ref_voltage
# co robią te bufory in and out? Rozumiem, że pierwszy bajt coś ustawia,
# a dwa pozostałe są na dane?
def reference_voltage(self) -> float:
"""Returns the MCP3xxx's reference voltage as a float."""
return self._ref_voltage
def read(self, pin, is_differential=False):
"""
read a voltage or voltage difference using the MCP3008.
Args:
pin: the pin to use
is_differential: if true, return the potential difference between two
pins,
Returns:
voltage in range [0, 1023] where 1023 = VREF (3V3)
"""
self.cs.value(0) # select
self._out_buf[1] = ((not is_differential) << 7) | (pin << 4)
self._spi.write_readinto(self._out_buf, self._in_buf)
#kopiuje zawartość out do in?
self.cs.value(1) # turn off
return ((self._in_buf[1] & 0x03) << 8) | self._in_buf[2]
#tu widzę jakieś przesuwania bitów, ale jak wielkość bufora jest bajt to
#przesunięcie o 8 co daje? A co daje binarne "and" zawartości [1] z
#00000011? Dostaję 2 młodsze bity, które w połączeniu z [2] dają 10
#bitów? Jeśli tak to 0x0F powinno z tego zrobić 12bit a jakby nie rozbi
#- jak podłącze na odpowiedni pin MC3208 3V3 to nadal dostaje 1023, więc
#ta bitowość może jest gdzies definiowana w "machine"?
--
Marcin
Następne wpisy z tego wątku
- 05.07.23 12:58 Grzegorz Niemirowski
- 06.07.23 05:34 Marcin Debowski
Najnowsze wątki z tej grupy
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
Najnowsze wątki
- 2026-01-05 I jeszcze jeden
- 2026-01-05 Jaworek;)
- 2026-01-05 Warszawa => Project Manager (AI and innovation) <=
- 2026-01-05 Gdańsk => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2026-01-05 Jeśli nie było "aktu wojny" to była "zorganizowana grupa przestępcza" (terroryści) dokonująca zabójstw?
- 2026-01-05 Walka Lewicy o B2B na etat
- 2026-01-05 zamiana B2B na etat
- 2026-01-05 Wykonanie w USA zagranicznych nakazów aresztowań bez udziału USA na (byłych) prezydentów też będzie legalne?
- 2026-01-04 Apollo Comm
- 2026-01-04 Kupować SREBRO?
- 2026-01-04 PICkit3 mnie pokonał
- 2026-01-03 LEDy na choinkę zdechły
- 2026-01-03 Wenezuela
- 2026-01-03 Wtopa LED
- 2026-01-03 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]