Miesięczne archiwum: Marzec 2013

Robo Kit, czyli pierwsze kroki z robotyką. Line Follower.

O co chodzi:

Przyświecała nam idea stworzenia zestawu dzięki któremu można w przyjemny sposób rozpocząć przygodę z robotyką. Prostota obsługi jest tu priorytetem, dlatego też zdecydowaliśmy się na wykorzystanie gotowych modułów do realizacji jak największej ilości funkcji. Pojazd podążający za linią (line follower) jest najlepszy na początek. W miarę prosty w realizacji, pozwala jednocześnie zebrać pierwsze doświadczenia. Dzięki wykorzystaniu gotowych modułów (Arduino UNO, Motor Shield, gotowe podwozie robota) możemy kolejne roboty budować w oparciu o te same podzespoły. Jednocześnie nie jesteście ograniczeni tylko do robotów – Arduino może być sercem projektów niemających nic wspólnego z robotyką.

Zasada działania, czyli teoria do pominięcia:

Jak sprawić by robot widział linię? Żeby odpowiedzieć sobie na to pytanie, należy wpierw zadać sobie inne: W jaki sposób my widzimy? Czemu nocne niebo jest czarne, kartka jest biała, a liście zielone? Wszystko to wynika ze zdolności do odbijania światła. A w zasadzie – do zdolności odbijania fali o konkretnej długości. Liście są zielone, bo zawarty w nich chlorofil odbija fale elektromagnetyczne o długości odpowiadającej zieleni, resztę pochłania. W ten sam sposób – dno studni czy nocne niebo wydaje się nam czarne, bo światło (fale EM) są przez nie pochłaniane. Właśnie z tej własności skorzystamy budując naszego robota.
Jako oczka followera wykorzystamy transoptory odbiciowe CNY70. Transoptor to zestaw diody i fototranzystora. W tym wypadku jest to dioda podczerwona. Podczerwień to fala EM na tyle długa, że ludzkie oko jej nie widzi. Podlega ona jednak tym samym prawom co światło widzialne – “czerń” ją bardzo dobrze pochłania, a “biel” bardzo dobrze odbija. Dzięki temu transoptor położony na kartce będzie dobrze przewodził, z kolei położony na taśmie izolacyjnej – nie będzie przewodził prawie w ogóle.

Czytaj dalej

Arduino jako ISP czyli jak wgrać bootloader w ATmega

Często stajemy przed problemem jak wgrać w fabrycznie nowy układ ATmega328 bootloader Arduino. Zawsze można kupić gotowy układ albo programator np USBASP, jednak jeżeli pod ręką mamy działające Arduino, ono nam może posłużyć jako programator.

Programowanie bootloadera w Arduini Pro Mini

Programowanie bootloadera w Arduini Pro Mini

Procedura jest następująca:

  • w działające Arduino wgrywamy szkic ArduinoISP (menu File/Examples/ArduinoISP) tak jak nasze zwykłe programy
  • podłączamy układ ATmega do naszego Arduino (z prawej oznaczenie wyjścia na UNO)
    • zasilanie – 5V (chyba że to układ działający tylko do 3.3V)
    • masa – GND
    • MOSI – D11
    • MISO – D12
    • SCK – D13
    • reset – D10
  • Jeżeli naszym programatorem ma być układ z rodziny Arduino Mega, wówczas piny po stronie Mega wyglądają tak
    • MOSI – D51
    • MISO – D50
    • SCK – D52
    • reset – D53
  • można zaprogramować ATmegę wprost w innym Arduino, ma to znaczenie zwłaszcza, jeżeli jest to układ ze scalakiem wlutowanym na stałe (na zdjęciu programowanie Arduino Pro Mini)
  • W menu wybieramy rodzaj programatora Tools/Programmer/Arduino as ISP
  • W menu Tools/Board wybieramy taką płytkę, jakiej bootloader chcemy wgrać (na zdjęciu jest to Pro Mini 5V, więc wybrany został Arduino Pro or Pro Mini (5V, 16 Mhz) w/ATmega328)
  • Pozostaje tylko Tools/Burn Bootloader i czekać na komunikat o sukcesie

Dla ułatwienia pracy do Arduino działającego jako programator można podłączyć kilka diod (nie zapomnieć o rezystorze ograniczającym prąd), by widzieć wyraźnie co się w danym momencie dzieje. I tak D9 – heartbeat (znak że szkic działa),  D8 – wystąpił błąd, D7 – programowanie w trakcie.