ぽやしみ研究所

カテゴリ不定のよくわからないおはなし

カテゴリが写真になってますがあんまり関係ないです。 上手に時間を使いたいですね。

先日SONYさんのSEL90M28Gを購入しました。
SEL90M28G

FE 90mm F2.8 Macro G OSS SEL90M28G

購入に踏み切った理由は寄れるレンズを一本も持ってなかったからなんですよ
小物とか撮りたかったから結構前から欲しかったんですよね。
念願の一本がやっと手に入ったわけです(●´ω`●)

SONYさんのレンズは基本ハズれなくいいものしか無いんですが値段が外れですから…

SONYストアで買うと134,880円です。

いいお値段しますよ。カメラ本体と同じ値段で笑えるよね。

で、結果的に言うと「買ってよかった」しか感じれない素晴らしいレンズでした。
適当に撮ってもそれらしい写真が撮れますよ。
DSC_0719

つけてみるとなっがーいけどそれほどバランスは崩れていない感じです。重心もちょうどフォーカスホールドボタンあたりに来るので持ちにくいとは感じません。フォーカスリングも適度なトルクがあっていい感じカポッとスライドするとAF/MFを切り替えれるのはGOODです。

取り敢えず数日使って感じて思ったことを簡単に書いていこうと思います。

開放でも圧倒的な解像度
コレに関してはマジでびっくりしました。絞りを開放(F2.8)にしてもキレッキレに写ります。もう特別なことがない限り絞らなくてもいいかなぁって感じです。

取り敢えずF2.8でスギゴケ撮ってみました。
冬だから花とかは生えてなかったんだ…椿とかは知らん生えてなかったんや
800000)
水滴がクリアに写ってますね。
植物以外にも液体の撮影にも多いに役立ちそうです。

メリハリがいいのも特徴でしょうか


ポートレートでも使える
元はといえばコイツは90mmの単焦点レンズなのでもちろんポートレート撮影でも十分使えます。ポートレートレンズといえば85mmと50mmが挙げられますがこのレンズは85mmに近く口径も広いので結構ピッタリな感じです。
DSC01744
諸事情により人物は不可なので家のお犬様を撮ってみました。(前ピンですねコレ…)
どこらへんがポートレートなのかは不明ですがね…ただ僕はポートレートなんてめったにやらんので参考になりませんが使えるレンズなのではないかと

いろんな距離でボケ味を楽しめるっていいですね


AFの合焦が割と速い
実は僕はこのレンズのAF速度に期待はしてませんでした。というかマクロ撮影だからAF遅くてもいいっしょ!って感じでした。でもでもでも、このレンズはフォーカスレンジをしっかり設定すると結構速いのぉ~レンジをFULLにするとうにゅーんと行ったり来たりしてから合焦しますがレンズサイドに付いたフォーカスレンジリミッターでレンジ調整するとスッと合焦します。嬉しい誤算です。でもあくまで実用的なAF速度ってことで動いてるのは難しいかも(単純にカメラのAF性能の問題かも)

後は風景とかも割りといけたりします、今は天候に恵まれてないのでそれはまた今度
でもスナップショットは厳しいかな?このレンズの駄目なところは重いところだと思うんだ

後は適当に接写した写真をのっけておきます。
DSC01753
アメジストかな?ほこりかぶってるのは気にしないで
なんかキレのある結晶でかっこいいですね。僕の誕生石らしいです。
DSC01752

なんのサボテンかは知りませんが多分サボテンです(意味不明)
針がいっぱい生えてるのね…触ると痛かったです。

そうそう、光学式手ブレ補正がレンズについてるので手持ちでマクロ撮影しても少しくらいのブレならシャープに写ってくれます。今回載せた写真も手持ちで撮影しましたよん

このレンズはいろんな距離で撮影できるので非常に楽しいですね。ボケも綺麗で解像度も高いし特に文句もないレンズじゃないかな?何より寄れるって本当に楽しいね!普段気づかないところに「綺麗」を見つけれてホクホクですよ(●´ω`●)

はい。。。カメラにハマっていました。ここしばらく記事書かなかったのはカメラ関係の資金調達に走っていたため工作してないからんですよ。わかりやすく言うとS貢いでたら工作するための金がなくなっちゃったって感じですね。オーディオもそうですがいったいいくら貢ぐつもりなんでしょう。。。

カメラ本体は結構前に買ってたりします。Nikonさんのなんだったかな?D5500だったかな?
あいつは売りました。携帯性に欠けていて旅行以外で持ち運ぶ気になれなかったんだ。。。
レンズも安めのキットレンズ二本しか持ってなかったのでまとめて売りましたよ。
8万円ぐらいで売れたので嬉しみが深い(昔8万円で買った)

それで次は失敗しないようカメラ本体を選ぶときに3つ条件をつけたんですね。
 1.携帯性
 2.性能
 3.イノベーション性感じれるもの
以上の3つがバランス良く交わってるものを探しました。

携帯性の都合上ミラーレス機が色眼鏡に引っかかったわけですが
いろんなレンズのせれるってすげぇなぁって感じ。そりゃぁフランジバック短いし伸ばせばいいもんね。性能って面を見るともうSONYさんのα7シリーズしかないわけだイノベーションさむんむんだし、ミラーレスでフルサイズセンサーとかもう化物って感じだ。SONYさんのカラーセンサーはNikonさんも使ってるって聞くし超強そうって感じ

予算の関係上、型落ちなα7の初期型を買いました。
どうも近いうちにα7Ⅲが出るみたいだし無理してⅡの方買わなくてもいいかなって感じ
実はこの選択をあとでちょっと後悔した。ちょっと無理して買ったほうが良かった。
これについては後で書きます。

そんなこんなでα7くんを買っちゃったわけだ(4ヶ月ほど前に)

LRM_EXPORT_20180104_010835

センサーでっけぇなぁ
α7はやはりめっちゃ軽くて良いですね。ブンブン振り回せます。
軽くて小さいのにめっちゃボケボケの写真が取れるのは最高としか思えない。
画質も正直びっくりしました。さすが2430万画素ですね。これの二倍ぐらいのRモデルは一体何なんでしょうね。。。値段も2倍以上するけど

ただハード的に残念な点が幾つか

シャッターボタンがめちゃくちゃ押しにくい!
なんでこの位置にもってきたのぉ!って感じですよ

IMG_20180104_011147

ちょっとわかりにくいですがネックストラップと干渉して指を垂直に曲げないとだめなのね。

もう一つはAFとシャッター切るまでの時間が遅い
ここは仕方ないかもしれませんね。。。2014年にミラーレスにフルサイズセンサを載せたんですからそりゃぁ少しは妥協しなきゃって感じですね。センサー面積がでかけりゃ処理に時間かかるわなぁ

といってもこれらの残念な点はα7Ⅱ以降でかなり改善されてるみたいなので今は我慢しておきます。

それと初代の買ってちょっと失敗したなぁってところは手ぶれ補正なんですね。
実はⅡ以降は5軸内部手ブレ補正機能がついてます。コレついてると手ぶれ補正がついてないレンズでも補正できちゃうんですね。特にミラーレス機はマウントアダプターを使えば大抵のレンズが乗るのでフィルム時代のオールドレンズを使うのが醍醐味となってるわけですが、素人の僕は振れるわけでね。。。手持ちで夜景撮るのにもちょっと不利です。

ここがちょっと失敗したなぁってとこですね。


で、本体買ったらレンズも!って話ですがとりあえず僕は風景と小さいキュートなペットくんたちを撮れればそれで満足なので下記の3本を買いました。

DSC_0720

右から55mm F1.8の単焦点、24-70mm F4のズームレンズ、90mm F2.8のマクロレンズです。55mmと24-70mmはZEISSレンズで90mmはGレンズってやつ

いやぁ。。。SONYさんのレンズは高いよぉ(/TДT)/
描写に妥協はないんだけどもう少しでいいから安くしてほしいなぁって思ってみたり
なんたってフルサイズ対応のサードパーティレンズがないんですもんね。。。
最近出たばっかりのEマウントなんで仕方ないっちゃ仕方ない

SIGMAさんのMC-11を通せばSAマウントとFEマウントが使えるみたいなんだけど
特に今はほしいわけでもないかなぁって感じです。ただSONYさんの超望遠域のレンズはピンのものしかないので望遠レンズはMC-11通して150-600mm F5-6.3 DG OS HSM買おうって思ってるところです。

今は超望遠の必要性を感じてないのでまだお金は飛ばないぞ!

この3つのレンズの中で実は昨日買ってきたばかりだけど90mm F2.8(SEL90M28G)がお気に入り!

本当に写る情報量が違うよ。
詳しいことは素人主観だけど今度各レンズをレビューするつもり

これ買うとき神レンズとか言われてる16-35mm F4(SEL1635)と迷ったわけですが、まだいいかなぁ?って言う意味不明な理由で先にマクロ買っちゃったけどこの選択に間違いはなかったよ

接写するのが楽しくて楽しくてしょうがない。しかもキレッキレに写るしね。

雪が降ったあとだったので適当に庭を歩いて撮影してみた。

DSC01720_2

ただの雑草なのに綺麗に見えてしゅごい!! 

実はこのレンズは雫撮るために買ったようなもんなんですよね。
次は雫を狙って撮影してみました。

DSC01716_1

ふぁあ!!!なんかえっちい感じ
雫が垂れてるところとかとてもえっち

多分被写体はスギゴケだと思うんだよね。まだ枯れずにいっぱい生えてた。
まだ接写に慣れてないから早く間隔つかみたいね!
とりあえず今は冬なんで物でも撮って間隔つかめるようになりますわ


めもらしきもの

AVR系のArduinoではattachInterruptというステキ関数を使うことで外部割り込みを使うことができます。確かUNOではINT0,INT1の二つのピンで外部割込みを使うことでができますね。

これは二相ロータリーエンコーダ等の処理を行うのには非常に便利なわけです。

しかしattachInterruptは有能関数なのですがINTピン以外では有効にできないのはちょっと不便です。

まあ何が言いたいかっていうと強いエンコーダについてるZ相が読めないわけですね。

こういう時に外部割込みピンが無いと少々トリッキーな処理を書いたり
頭の悪い処理を描く必要性が出てしまいます。

INTピン増やしてぇ!!ってわけです。

実はAVRにはINTピン以外に外部割込み可能なPCINTピンがあります。
ぶっちゃけマイコンから飛び出てるIOポート全部ですね。

つまりIOピンのすべては外部割込みピンとして利用できるってわけです。
これはピン変化割り込み(PCINT)と言うのですが若干INTピンを使う方法と比べ制限が付きます。

それは
論理変化時化時にしか割り込めない
ピン個別ではなくポートごとに割り込んでしまう
という点です。

論理変化時にしか割り込めないと言うのは立ち上がり、立ち下りを判別できないってことですね。
これはハンドラ内でピンの状態を読めば解決できるのでそんなに問題にはならないです。
ピン個別ではなくポートごとに割り込んでしまうというのは欠点と言うより利点かもしれませんね
同ポート上の複数のピンで割り込めるかは知らない。マルチプレクサで束ねられてそうだから無理かもしれん

とまあこんな制限があります。この特性をうまく利用していくといいかもしれません。

実際にPCINT機能を使うには二つのレジスタをいじったりポートによってレジスタが違ったりし、更にそれを直接叩いてやるのは混乱を招きますし何やらArduinoっぽくありません

という訳で僕がArudino UNO用にArduino標準関数ライクなライブラリを書いておきました。

実は探すのが面倒だったから作ったというアホな理由

ちょろっと実験して動作確認した程度なのでちょっとした間違いは許して

では早速ヘッダ(PinChangeInterrupt.h)の方から
#pragma once
#ifndef PinChangeInterrupt_H
#define PinChangeInterrupt_H


#include <Arduino.h>
#include <avr/io.h>
#include <avr/interrupt.h>

#ifndef EXTERNAL_NUM_INTERRUPTS
#define EXTERNAL_NUM_INTERRUPTS 3
#endif

#ifndef digitalPinToPCICR(p)
#define digitalPinToPCICR(p)    (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0))
#endif

#ifndef digitalPinToPCICRbit(p)
#define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1))
#endif

#ifndef digitalPinToPCMSK(p)
#define digitalPinToPCMSK(p)    (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0))))
#endif

typedef void (*void_function_pointer)(void);
static void nop(void) {}
static volatile void_function_pointer interrupt_function[EXTERNAL_NUM_INTERRUPTS] = {nop, nop, nop};

enum { PC_INT_0, PC_INT_1, PC_INT_2 };

class PinChangeInterrupt {
  public:
    PinChangeInterrupt();
    ~PinChangeInterrupt();
    void attachInterrupt(uint8_t pin, void (*userFunc)(void));
    void detachInterrupt();

  private:
    uint8_t interrupt_pin;
    uint8_t interrupt_pin_bit_mask;
    uint8_t *interrupt_pin_port;
};
#endif


ソース(PinChangeInterrupt.cpp)の方
#include "PinChangeInterrupt.h"

#define _ISR(vect, interrupt) ISR(vect) {interrupt_function[interrupt]();}

PinChangeInterrupt::PinChangeInterrupt() {
  interrupt_pin = 0;
  sei();
}

PinChangeInterrupt::~PinChangeInterrupt() {
  PinChangeInterrupt::detachInterrupt();
}

void PinChangeInterrupt::attachInterrupt(uint8_t pin, void (*userFunc)(void)) {
  intterrput pin;
  uint8_t pcicr_bit_mask = digitalPinToPCICRbit(interrupt_pin);
  uint8_t pcmsk_bit_mask = digitalPinToPCMSKbit(interrupt_pin);

  //pinMode(interrupt_pin, INPUT);
  *(digitalPinToPCICR(interrupt_pin)) |= _BV(pcicr_bit_mask);
  *(digitalPinToPCMSK(interrupt_pin)) |= _BV(pcmsk_bit_mask);
  interrupt_function[pcicr_bit_mask] = userFunc;
}

void PinChangeInterrupt::detachInterrupt() {
  uint8_t pcicr_bit_mask = digitalPinToPCICRbit(interrupt_pin);
  uint8_t pcmsk_bit_mask = digitalPinToPCMSKbit(interrupt_pin);

  *(digitalPinToPCMSK(interrupt_pin)) &= ~_BV(pcmsk_bit_mask);
  interrupt_function[pcicr_bit_mask] = nop;
}

_ISR(PCINT0_vect, PC_INT_0)
_ISR(PCINT1_vect, PC_INT_1)
_ISR(PCINT2_vect, PC_INT_2)

使い方はほぼattachInterruptと同じです。違うのは割り込みモードの指定ができないだけ

適当にLEDが0番ピンの立ち上がりで1番ピンがトグルするサンプルコードを作ってみました。
#include <PinChangeInterrupt.h>

#define PCINT16_PIN   0
#define LED_BLINK_PIN 1

PinChangeInterrupt pcint;

void blink(void) {
  volatile static bool blink_flg = true;
  if(digitalRead(PCINT16_PIN))digitalWrite(LED_BLINK_PIN, blink_flg = !blink_flg ); //立ち上がりモード
}

void setup() {
  pinMode(PCINT16_PIN, INPUT); //忘れずに
  pinMode(LED_BLINK_PIN, OUTPUT);
  pcint.attachInterrupt(PCINT16_PIN, blink); //void(void)な関数のポインタをぶち込もう
}

void loop() {

}
立下り立ち上がりの判断は割り込みハンドラ内でピン状態を読めばできますよ。
ただどっちでも割り込んじゃうけどね。

このライブラリはATmega328Pや168Pが実装されたUNOやnanoでしか使えない欠陥品です

マクロをいじればMEGAやらLeonardoにも対応できるのでいつかやってみようと思います。


このページのトップヘ