Lektura to lektura |
Dzieje projektu budowy autonomicznego robota domowej konstrukcji
wtorek, 29 września 2015
Literatura Pi-ękna
Trzymając się mocnego postanowienia, co do metodycznego podejścia do problemu, za niecałe 35 zł kupiłem sobie książkę o programowaniu RPi. "Raspberry Pi Przewodnik dla programistów Pythona" z Heliona autorstwa Simon Monk, wydawała się kompendium wiedzy a okazała się jedynie preludium. To skromna prawie 150 stronicowa pozycja w wielkim skrócie opisująca zasady pythona, opisująca RPi i kilka kart rozszerzeń, oraz skrótowo projekt autonomicznego robota. Niestety świat idzie do przodu i niektóre rozwiązania sprzętowe są już przestarzałe. Niemniej jednak przeczytam ją w celu usystematyzowania chaosu wiedzy jaki w ostatnich dniach wyssałem z netu.
niedziela, 27 września 2015
Pierwsze kody za płoty - testowanie wyjść GPIO
Dzisiaj zrobiłem pierwsze podejście do testowania phytona jako języka kodowania dla robota.
Na początek sterowanie wyjściami. Korzystam ze standardowej biblioteki RPiGPIO.
krótki kod + komentarze:
- testout.py:
#!/usr/bin/python
#biblioteka time
import time
#biblioteka GPIO
import RPi.GPIO as GPIO
#wyłączenie ostrzeżeń
GPIO.setwarnings(False)
#włączenie modu BCM w odróznieni od BOARD posługujemy się faktycznymi numerami wejść/wyjść a nie ich numerami wynikajacymi z rozmieszczenia na płycie
GPIO.setmode(GPIO.BCM)
#wyczyszczenia rejestrów GPIO
GPIO.cleanup()
#ustawienie GPIO2 i 3 w trybie OUT
GPIO.setup(2,GPIO.OUT)
GPIO.setup(3,GPIO.OUT)
#ustawienie pinu GPIO.3 jako generatora "sterowania wypełnienia mocą" - PWM częstotliwoąć 2Hz wypełnienie 50%, przydatne do regulacji mocy i sterowania serwomechanizmami
pwm = GPIO.PWM(3, 2)
pwm.start(50)
#pętla w której stale zmienia się stan pinu GPIO.2 z 1 na 0
while True:
GPIO.output(2,GPIO.HIGH)
time.sleep(1)
GPIO.output(2,GPIO.LOW)
time.sleep(1)
A to wynik działania programu z analizatora stanów logicznych:
Wynik działania programu w analizatorze stanów logicznych. |
sobota, 26 września 2015
Prosty oscyloskop - kolejne narzędzie pomiarowe.
Oscyloskop zawsze może się przydać zwłaszcza do przeanalizowania sygnałów analogowych. Zakup profesjonalnej przestawki lub stacjonarnego oscyloskopu na tym etapie projektu nie wchodzi w grę. Ale prosty oscyloskop jest w zasięgu każdego posiadacza karty dźwiękowej z wejściem mikrofonowym. W Ubuntu, którego używam w ramach tego projektu, dostępny jest pakiet Xscope, który do moich potrzeb jest wystarczający. Dzięki wbudowanej w mojego lapka karcie dźwiękowej mam dwa kanały pomiarowe.
Zakres częstotliwości wejściowych to ok 44kHz, a zakres napięciowy to ok 0-1,2V. Ale, żeby zwiększyć zakres napięciowy zamierzam dobudować sobie prosty rezystorowy dzielnik napięcia x2 x4 x10 x100.
Xscope - z przykładowym przebiegiem pomiarowym. |
czwartek, 24 września 2015
Analizator stanów logicznych - podstawowe narzędzie pomiarowe.
Analizator stanów logicznych to pierwsze przydatne narzędzie, które postanowiłem zakupić przed rozpoczęciem prac nad robotem. Za 8 kanałową przystawkę USB do komputera zapłaciłem na allegro 38 zł. Do wizualizacji pracy tej przystawki potrzebne jest oprogramowanie Saleae Logic które można pobrać tu.
Soft jest w wersjach dla Mac Win i Lin.
Instalacja jest prosta wystarczy rozpakować pobrany plik zip w dowolnym folderze następnie uruchomić plik Logic.
Program powinien wykryć przystawkę o ile jest z nim zgodna.
Na moim Ubuntu ruszył ale dopiero po odpaleniu go z linii poleceń
sudo ./Logic. Inaczej wyrzucało błąd, że program wykrył przystawkę ale nie uprawnień do urządzenia.
Saleae Logic i testowe stany GPIO |
Analizator stanów logicznych - przystawka USB |
Analizator i malina |
wtorek, 22 września 2015
Z cyklu programy narzędziowe - niekoniecznie dla maliny - Fritzing
W tym cyklu będę się starał zdawkowo opisywać programy narzędziowe przydatne w tego rodzaju projektach.
Na początek petarda!
Na standardowej płytce prototypowej można po prostu porozmieszczać potrzebne elementy i swój mikrokomputer połączyć ja sobie życzymy. W kolejnej zakładce zobaczymy schemat ideowy naszej radosnej twórczości. Następna zakładka jest idealna gdy od prototypu chcemy przejść do wersji profesjonalnej program automatycznie wytrasuje nam płytkę do wyboru 1 lub 2 warstwową, a jak trzeba wyeksportuje swoje wypociny.
Ilość dostępnych komponentów jest naprawdę imponująca.
Poniżej kilka przykładowych screen-ów:
Apka wydaje się idealna do dokumentowania swoich prototypów.
Na początek petarda!
- Fritzing - występuje w wersach dla wszystkich systemów, pobrać go można tu.
Na standardowej płytce prototypowej można po prostu porozmieszczać potrzebne elementy i swój mikrokomputer połączyć ja sobie życzymy. W kolejnej zakładce zobaczymy schemat ideowy naszej radosnej twórczości. Następna zakładka jest idealna gdy od prototypu chcemy przejść do wersji profesjonalnej program automatycznie wytrasuje nam płytkę do wyboru 1 lub 2 warstwową, a jak trzeba wyeksportuje swoje wypociny.
Ilość dostępnych komponentów jest naprawdę imponująca.
Poniżej kilka przykładowych screen-ów:
Układ elementów na płytce prototypowej |
Schemat ideowy |
Router płytek |
sobota, 19 września 2015
WEBIOPI-GPIO via www
W oczekiwaniu na kamerę do maliny. Zainstalowałem dziś ciekawe narzędzie WEBOPI do zarządzania GPIO przez interfejs www.
Instalację tego softu przeprowadziłem przez "sklep" w X-ach Pi Store (dostępny po aktualizacji Raspbiana do najnowszej wersji).
Narzędzie oprócz interfejsu do prostego sterowania GPIO jest też świetnym frameworkiem do budowania własnych aplikacji z interfejsem webowym.
Start usługi: sudo service webopi start
Dostęp do interfejsu www: http://adres_maliny/webopi:8000
Domyślny login i hasło: webopi/raspberry
Instalację tego softu przeprowadziłem przez "sklep" w X-ach Pi Store (dostępny po aktualizacji Raspbiana do najnowszej wersji).
Pi Store |
Start usługi: sudo service webopi start
Dostęp do interfejsu www: http://adres_maliny/webopi:8000
Domyślny login i hasło: webopi/raspberry
Interfejs WEBOPI |
piątek, 18 września 2015
Oko dla na maliny 1 - czyli kamera via USB
Dziś trochę zabawy z kamerą na USB
Lista kompatybilnych z maliną kamer USB można znaleźć tu.
Niestety moja wygrzebana z otchłani jakiejś szuflady kamerka Labtec nie znajduje się na tej liście. Mimo wszystko spróbuję.
Poleceniem cat /proc/devices wyświetlamy listę aktywnych urządzeń ja po wpięciu mojej kamery znalazłem coś takiego video4linux. W poradach które gdzieś wyczytałem powinienem się spodziewać urządzenia video lub video0 ale nic takiego nie mam.
Pierwszy program jaki zamierzam przetestować to motion który udostępnia w prosty sposób obraz z kamery poprzez stronę www.
Instalacja:
Konfiguracja:
Po kilku próbach ustawień konfiguracji motion na RPi i na moim lapku doszedłem do wniosku, że ta kamerka nie jest widziana przez linuxy. Urządzenie vide4linux, które widzę w malinie to prawdopodobnie moduł do podłączenia oryginalnej kamery RPi.
Na dziś zawieszam działalność w tym temacie. Poszukam innej kamery i do niego wrócę.
Lista kompatybilnych z maliną kamer USB można znaleźć tu.
Niestety moja wygrzebana z otchłani jakiejś szuflady kamerka Labtec nie znajduje się na tej liście. Mimo wszystko spróbuję.
Poleceniem cat /proc/devices wyświetlamy listę aktywnych urządzeń ja po wpięciu mojej kamery znalazłem coś takiego video4linux. W poradach które gdzieś wyczytałem powinienem się spodziewać urządzenia video lub video0 ale nic takiego nie mam.
Pierwszy program jaki zamierzam przetestować to motion który udostępnia w prosty sposób obraz z kamery poprzez stronę www.
Instalacja:
- sudo apt-get install motion
Konfiguracja:
- sudo nano /etc/motion/motion.conf edycja parametrów programu, kamery i obrazu
- sudo nano /etc/default/motion - zmieniamy wpis start_motion_daemon=no na start_motion_daemon=yes.
- sudo service motion start - uruchamiamy interfejs web.
- http://[Ares IP RPi]:8081 - wywołanie obrazu w przeglądarce
Widok jaki udało mi się uzyskać po uruchomieniu motion :-( |
Na dziś zawieszam działalność w tym temacie. Poszukam innej kamery i do niego wrócę.
środa, 16 września 2015
Interfejs WiFi dla maliny
Aby zapewnić swojemu botowi swobodą (wolną od kabla) komunikację, zainstalowałem w malinie mikro kartę WiFi, w standardzie 802.11n, z interfejsem USB, firmy TP-link. Karta nie chciała zadziałać z nie upgrate-owną wersją systemu. Po aktualizacji wszystko zadziałało na zasadzie plug&play.
Konfigurując jej ustawienia poszedłem na łatwiznę i odpaliłem X-sy gdzie klikając w ikonkę sieci na pasku zadań wybrałem odpowiednią sieć z otoczenia i wprowadziłem właściwe hasło. Banał, a tyle radości ;-).
Konfigurując jej ustawienia poszedłem na łatwiznę i odpaliłem X-sy gdzie klikając w ikonkę sieci na pasku zadań wybrałem odpowiednią sieć z otoczenia i wprowadziłem właściwe hasło. Banał, a tyle radości ;-).
Subskrybuj:
Posty (Atom)