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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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