Najmniejszy aparat fotograficzny na Raspberry PI

Ben Heck otrzymał zadanie zmodyfikowania Raspberry Pi, tak by zrobić jak najmniejszy aparat fotograficzny.

W tym celu odlutował wszystkie złącza z Maliny i płytek modułów by uzyskać małą wysokość płytki, a potem przylutował wszystko bezpośrednio do siebie.

sprae

Gobot – programowanie robotów w języku Go.

Język Go wymyślili pracownicy Google. Był on rozwinięciem języka C w nieco inną stronę niż C++. Czerpał raczej z języków dynamicznych jak JS i Python. Głównie dlatego, że miło, wygodnie i szybko realizujemy w nich nasze pomysły. Dodatkowymi możliwościami tego języka było silne wsparcie dla programowania wielowątkowego.
Jednym z większych sukcesów było włączenie języka Go do platformy AppEngine – hostingu usług internetowych w ramach chmury Google.

Język mimo tego, że jest stosunkowo młody zdołał zebrać dużo fanów. Pojawił się także projekt Gobot.io, który rozwija biblioteki pomocne w programowaniu płytek kontrolerów w tym języku.

Najnowszym osiągnięciem twórców biblioteki jest przystosowanie jej do płytki Intel Edison.

Przykładowy program na tą płytkę wygląda tak:

package main

import (
    "time"

    "github.com/hybridgroup/gobot"
    "github.com/hybridgroup/gobot/platforms/gpio"
    "github.com/hybridgroup/gobot/platforms/intel-iot/edison"
)

func main() {
    gbot := gobot.NewGobot()

    e := edison.NewEdisonAdaptor("edison")
    led := gpio.NewLedDriver(e, "led", "13")

    work := func() {
        gobot.Every(1*time.Second, func() {
            led.Toggle()
        })
    }

    robot := gobot.NewRobot("blinkBot",
        []gobot.Connection{e},
        []gobot.Device{led},
        work,
    )

    gbot.AddRobot(robot)

    gbot.Start()
}

Bibliotekę możesz znaleźć w serwisie Github

Jeśli preferujesz inne języki, jak C++, Python lub NodeJs, intel sam przygotował biblioteki pod nie.

sprae

Wyprzedaż: DSO Nano v2

Czasem w naszym magazynie gromadzą się różne rzeczy, których nie sprzedamy ‘normalnie’ z różnych powodów. Np – kilka oscyloskopów DSO Nano v2, które były DoA – Dead on Arrival – naprawione, są do kupienia za połowę ceny, z miesięczną, rozruchową gwarancją. Naprawa głównie dotyczyła źle przylutowanych gniazd USB – zostały przelutowane i oscyloskop działa.

Do sprzedaży takich rzeczy chcemy wykorzystać Świstaka – zobaczymy czy się nada 🙂 Także, jeżeli potrzebujecie DSO Nano v2 za pół ceny: można na Świstaku. Wszystkie nasze takie aukcje będziemy tutaj ogłaszać.

Arduino Yun OpenWRT 1.5

Pojawiła się nowa wersja softu dla Arduino YUN. Jeśli jeszcze nie wiesz, w tej małej płytce wielkości Arduino zmieścili dodatkowy pełnoprawny komputerek z dystrybucją Linuksa.

Aktualizacja jest prosta.

  • Ściągasz plik zip OpenWRT YUN 1.5.0
  • Rozpakowujesz na kartę SD
  • Włączasz Arduino
  • Logujesz się do jego panelu przez przeglądarkę
  • Klikasz w przycisk aktualizuj i po kilku minutach cieszysz się nową wersją.

W nowej wersji znajdziesz:

  • Regulację opóźnienia dla REST API w pliku /etc/config/arduino
  • Do pakietów dodano kompilator yun-gcc
  • Poprawiono menadżer pakietów opkg
  • Interpreter node js automagicznie wykrywa czy jest włączony swap i ustawia sobie odpowiedni profil wykorzystania pamięci

W tym tygodniu przyjrzę się tym zmianom i opiszę co tak na serio dają.

sprae

Ładowanie akumulatorów Li-ion

W serwisie Instructables pojawił się świetny artykuł o tym na czym polega ładowanie akumulatorów Litowych napisany prze pinomelan.

Autor opisuje tam podstawowe parametry akumulatorów litowych i zasady użytkowania. Streszczę je tu.

Akumulatory litowe mają określoną pojemność wyrażoną w Ah (amperogodzinach) lub mAh (mili amperogodzinach). Gdy akumulator ma pojemność 1200 mAh oznacza to, że jeśli nasz układ pobiera 1200 mA to na takim akumulatorze będzie pracował przez godzinę do pełnego rozładowania. 

Taki okres nazywamy 1C. C pochodzi od angielskiego słowa “Capacity” czyli Pojemność.

Gdy nasz układ pobiera 600 mA to będzie na takim akumulatorze pracował przez 2 godziny. Jednostką poboru energii z akumulatora będzie w takim przypadku 0,5C.

Zwykłe akumulatorki Li-ion mają ustalony maksymalny pobór prądu na 1C. Akumulatorki modelarskie można wyssać prądami o wielkości 10-20C.

Gdy akumulator Litowy ma napięcie 4,2 V jest w pełni naładowany. Gdy jego napięcie wynosi 3.0 V jest w pełni rozładowany.

Przekroczenie napięcia 4.2 V przy ładowaniu zwiększa trochę pojemność akumulatora, ale skraca jego żywotność. Żywotność oznacza ile razy można taki akumulator naładować ponownie do pełnej pojemności.

Spadek napięcia poniżej 3,0 V przy rozładowywaniu też skraca żywotność i zmniejsza pojemność akumulatora.

Autor przedstawił takie cykle pracy ładowarki:

  1. Ładowanie za bardzo rozładowanego akumulatora (poniżej 3 V) prądem o wartości 0,1C aż osiągnie napięcie 3 V.
  2. Normalne ładowanie akumulatora prądem od 0,5 do 0,7C. Od napięcia 3V do napięcia 4,2V. Po tym akumulator jest naładowany w 70 – 80%.
  3. Nasycanie akumulatora. W tym cyklu akumulator zaczyna pobierać coraz mniej prądu. Gdy pobiera go 3 do 10% normalnego poboru podczas ładowania to akumulator jest naładowany w 100%.
  4. Doładowywanie. Akumulatory tracą z czasem ładunek. Nieużywany akumulator można doładować co 500 godzin lub 20 dni lub jeśli osiągnie 4,05 V. Doładowuje się do 4,20 V.

Cały proces ładowania trwa od 2 do 4 godzin.

W reszcie swojego wpisu pinomelan opisuje jak na podstawie tej wiedzy stworzył ładowarkę zbudowaną na wzmacniaczach operacyjnych. 

Jeśli masz opanowaną elektronikę, możesz zrobić własną ładowarkę w oparciu o np. Arduino. Tylko uważaj. Przy złych parametrach akumulatory litowe lubią wybuchać lub zapalać się robiąc przy tym dużo dymu.

Jeśli nie chcesz budować własnej ładowarki, polecam kupić jakąś w Nettigo. Są w postaci gotowych modułów z portem USB, które łatwo możesz wbudować w swoje urządzenie.

sprae

Raspberry PI rozpoznaje twarz

Od kiedy na płytkach kontrolerów pojawił się Linux otrzymaliśmy nowe wspaniałe możliwości. Można na ich uruchamiać bardziej skomplikowane programy. Jednym z nich jest biblioteka OpenCV do analizy obrazu.

Raspberry PI ma wbudowane złącze do którego podłącza się moduł kamery. Już rozumiecie do czego zmierzam…

Można napisać taki program, który będzie reagował na naszą twarz. W wyniku tej reakcji może otworzyć jakiś zamek, albo włączyć przekaźnikiem monitor komputera. Cokolwiek sobie wymarzysz.

Tony Dicola napisał taki program w Pythonie. Także nikt nie będzie miał problemów z jego przeróbką do własnych potrzeb.

Program został użyty do budowy skrzynki na skarby otwieranej widokiem naszej buzi. Jego projekt jest opublikowany na stronach Adafruit.

Szkolenie programu jest bardzo proste. Do katalogu “training/positive” wrzucamy zdjęcia twarzy osób w różnych ujęciach na które program ma reagować.
Do katalogu “training/negative” wrzucamy zdjęcia osób na które ma nie reagować. Autor umieścił tam zdjęcia do trenowania takich algorytmów udostępnione przez firmę AT&T.

Projekt jest świetny. Jeśli i tobie się podoba, to zapraszam do stworzenia własnego.

sprae

Arduino IDE 1.0.6

Arduino IDE w wersjach 1.0.x to to mniejsza wersja edytora do pisania programów dla Arduino. Obsługuje płytki Arduino wyposażone w procesor AVR. Czyli wszystkie podstawowe – UNO, Leonardo, Mini, Nano. Micro.

Po instalacji Teensyduino, ta wersja obsługuje też płytki Teensy.

Kilka dni temu wyszła wersja 1.0.6 Arduino IDE.

Zmiany w nim to głównie:

  • Poprawki do komunikacji USB – czyżby oczekiwana stabilność dla Leonardo?
  • Przeniesiono klasy Stream i Print z IDE 1.5 (służą one jako podstawy do obiektów Serial, Ethernet LiquidCrystal itp.)
  • Poprawiono kompatybilność bibliotek z wersją 1.5

Dla fanów płytek Teensy wyszła od razu wersja Teensyduino 1.20 RC4, która współpracuje z Arduio IDE 1.0.6.

sprae

Najprostsze użycie ElWire

Nawet najprostsze użycie ElWire potrafi przynieść wiele radości:

image

image

Wystarczył inwerter bateryjny, dwa przewody, 10 minut, trochę taśmy klejącej i już! Świecący rower wzbudza entuzjazm dzieci!

Dla zachęty – mamy 7% rabatu na wszystkie produkty z kategorii ElWire – wystarczy podać na pierwszej stronie koszyka kod el-jesien

Kod jest ważny do 15 października. Inwertery bateryjne wrócą na stan po 18 IX.

Uwaga – inwerter nie jest zabezpieczony przed wilgocią, tu jest wsadzony pod siodełko. Na mokrym podłożu, czy w deszczu lepiej nie używać!

Arduino Rozpoznaje głos

Zawsze myślałem, że do rozpoznawania głosu potrzebne jest dużo mocy obliczeniowej. W latach ‘90 marketingowcy mówili, że jak tylko procesory osiągną 1 GHz to będziemy mówić do komputerów. Teraz mamy rozpoznawanie głosu w telefonach, tabletach i przeglądarkach, ale za sprawą chmury obliczeniowej.

Tym czasem Arjo Chakravarty w grudniu 2013 napisał bibliotekę do Arduino. Rozpoznaje ona słowa z dokładnością 80%. Wycisnął to wszystko z ATmega328 o zegarze 16 MHz i 300 bajtów pamięci RAM.

Biblioteka wymaga do działania podłączenia mikrofonu pojemnościowego z przedwzmacniaczem do jednego ze wejść analogowych Arduino.

Jest jeszcze jeden projekt rozpoznawania mowy w serwisie Instructables. Opiera się on na bazie biblioteki BitVoicer. Układ elektryczny jest taki sam.

sprae

Ładowanie bezprzewodowe

Ostatnio powstaje mnóstwo fajnych małych projektów. Czujniki wysokości, zegarki, przenośne retro konsole do gier z emulatorami.

Zasilane są one często małymi akumulatorkami LiPo i Li-Ion znanymi z telefonów komórkowych, tabletów i laptopów. Gdy akumulator się wyczerpie można go włożyć do ładowarki lub ładować przez specjalny adapter USB.

Dużo wygodniejszym rozwiązaniem byłoby ładowanie akumulatorka bezprzewodowo. Po prostu kładziesz urządzenie na ładowarce i sprawa załatwiona.

Tak się składa, że pojawiły się w Nettigo takie moduły.

image

Do większego modułu podłączasz zasilanie od 5 do 12 V. Gdy przyłożysz mniejszy moduł do większego, to na jego wyjściu pojawi się napięcie 5 V. To proste.Maksymalny prąd przekazywany przez moduły to 700 mA.
Moduł odbiornika ma wymiary 4 x 3 cm.

Cały układ ładowania powinien składać się z:

  • Akumulatora Li-Po – gromadzi i dostarcza napięcie od 3.1 V (rozładowany) do 4.2 V (w pełni naładowany).
  • Przetwornicy – zamienia nierówne napięcie akumulatora na stabilne napięcie 5 V albo 3.3 V w zależności od układu.
  • Układu ładowarki – kontroluje napięcie akumulatora i chroni go przed nadmiernym rozładowaniem i przeładowaniem i informuje o naładowaniu/rozładowaniu.
  • Modułu ładowania bezprzewodowego – dostarczającego w  wygodny sposób prąd do ładowania.

sprae