Skocz do zawartości

Obsługa przetwornika MCP3208.


Pomocna odpowiedź

Napisano

Witam, mam drobny kłopot z obsługą przetwornika MCP3208. Po podłączeniu go a także podłączeniu Soil Moisture Sensor, wyniki jakie mi się wyświetlają odbiegają od wartości które powinny przedstawiać (czerwone kółko w załączniku), Czy coś źle deklaruje/ odczytuje ? 

Po błędach przy próbie otworzenia pliku przez " python WIlgotność gleby.py" internet przyniósł mi rozwiązanie użycia sudo python3 WilgotnoscGleby.py . Dlaczego muszę tak otwierać skrypt? Podczas gdy otwarcie innych wymaga tylko użycia python ....py

Również prosiłbym o sprawdzenie czy dobrze rozumiem w jaki sposób przebiega obsługa przetwornika MCP w kodzie (komentarze w załączniku).

344479430_CzujnikWilgotnociGleby.thumb.png.f5ad6b1bc45b0f06cefd0f14ccbb9770.png

15 minut temu, veltronic napisał:

Po błędach przy próbie otworzenia pliku przez " python WIlgotność gleby.py" internet przyniósł mi rozwiązanie użycia sudo python3 WilgotnoscGleby.py . Dlaczego muszę tak otwierać skrypt? Podczas gdy otwarcie innych wymaga tylko użycia python ....py

Python2 jest przestarzały i z reguły powinno się używać Pythona3. Dodatkowo Python3 posiada wiele ulepszeń, co by być bardziej świeżakoodpornym 😉 Jak byś zadeklarował encoding

# coding=utf8

też powinno zadziałać, ale Pythona używam bardzo sporadycznie. Problem wynika z tego, że w pliku są polskie znaki, a interpreter oczekuje ASCII, gdzie plik jest zapisany w UTF-8, przez co znajduje nieznany znak spoza zakresu ASCII i wyrzuca błąd.

---

Linijki 12-14 to inicjacja magistrali SPI, pinu CS dla SPI oraz samego przetwornika (stworzenie odpowiednich obiektów, które są inicjowane z poziomu konstruktora.

Linijka 17 to przypisanie kanału przetwornika do zmiennej (bardziej stworzenie obiektu służącego do odczytu wartości danego pinu przetwornika).

Linijka 20 - pętla programu (coś jak loop w arduino)

---

Co do innych wartości - nie mam pomysłu.

A możesz wyjaśnić, dlaczego plik przeznaczony dla Pythona 3 chcesz koniecznie otworzyć w Pythonie 2? Jak by nie było, to są różne języki...

Teoretycznie na początku powinno być:

#!/usr/bin/env python
#coding: utf-8
 

i nic przed tym. Spróbuj, może się uda.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...