Skocz do zawartości

Obsługa przetwornika MCP3208.


veltronic

Pomocna odpowiedź

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

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.