このブログへの投稿/アップロードについて(コメントは誰でも、投稿は受講者+スタッフのみ)
コメント/投稿/ラベルについて(基本事項)投稿時間の設定(下書き/予定など)プログラム(ソースコード)を投稿する際の注意点Processingのプログラム(Applet)を表示する方法
ArduinoやProcessingについては「建築発明工作ゼミ2008」の方にまとめてあります。
秋葉原の電子工作マップ、Arduino販売店についてはこちら。 :

2010年4月26日月曜日

農業:畑の見学会

4月24日(土)にゼミの課外授業として千葉県で無農薬野菜の生産、出荷をされている「東峰べじたぶるん」の皆さんの畑を見学させていただきました。

今回の見学会では、畑のみに限らず、農作物の生産される「しくみ」が少し見えてくるような、様々なものを見る事が出来ました。

以下、見学会レポート






畑の見学

いろいろな種類の作物が
植えられています。
成長段階も様々です。












苗の植え付け体験

レタスの苗を植えました。

植え付けした苗を作って
いる場所はこのあと見学
させていただきました。

畑の土は柔らかくて温か
いものでした。













畑の片隅に、畑に使用する
土を作っている場所があり
ます。

土を少し掘ると、ミミズや
カブトムシの幼虫などの生
物が生息していました。















苗床の見学

畑周辺には苗床のためのビ
ニールハウスや農具を収納
するための納屋、野菜出荷
のための作業場などが点在
しています。















鶏舎の見学

鶏舎には鶏インフルエンザ
対策として石灰を踏んでか
ら入ります。

鶏の糞は床に敷き詰められた
もみ殻と混ざり、畑の肥料に
なります。

もみ殻は消臭に効果があるよ
うで鶏舎の中はほとんど臭い
はありませんでした。








鶏舎施設の一角に鶏のえさ
を作る設備があります。

鶏のえさは輸入された穀物や
魚粉、畑で穫れた作物の一部
などを混ぜて作るそうです。
















収穫された野菜をおいしく頂きました。今回の見学会では、農作物の生産に関わる様々な体系や
その関係を見ることができましたが、私が野菜を食べる事はそれらの一部に組み込まれているで
しょうか。ミミズは確かに役に立っているようでした。

2010年4月21日水曜日

農業:課外授業

4月24日(土)「畑の見学会」
4月29日(祝)「ビオトープ作り」

それぞれ、雨天の場合は中止します。
*詳細についてはメールで送らせて頂きました。

2010年4月19日月曜日

農業(2010_4_17)

課題:

物質循環や物質代謝を念頭に置きながら、各自関心のあるジャンル、技術、道具などにおいて

そのシステム、回路、構造に複数の生物(作物、植物、ミミズetc)を取り込み、

生産過程にそれらが関与している(関与した)ことのわかる生産物,発明品、道具をつくる。


例:

緑のカーテン 屋上緑化 蓑笠 エタノール 蛭治療(植物ではありませんが) etc,etc


条件:

・数種類の作物を土に植えること(コンパニオンプランツなどを参照する)

・土の中にはミミズを入れ、飼うこと


発表:

・7月末に完成させる

・次回(5/1)の授業時に「建築農業工作ゼミ2009-2010」ブログを使い発表を行うので、講義開始前までに各自プランをブログにアップしておくこと。


備考:

・発案するプランに数種類の作物がふさわしくないとおもった場合は単一作物でもよい

・プランは食べることができればなおよいが、それにこだわらないこと


授業内で紹介した書籍の一覧:

・『完全版 自給自足の本』ジョン・シーモア、文化出版局

・『パーマカルチャー_農的暮らしの永久デザイン』ビル・モリソン、農文協

・『ものと人間の文化史19_農具』飯沼二郎、堀尾尚志、法政大学出版局

・『手作りエネルギー大全』家の光協会

・『栽培植物と農耕の起源』中尾佐助、岩波新書

・『農家が教える 混植・混作・輪作の知恵_害虫が減り、土がよくなる』農文協

・『現代農業2004年8月_ミミズはスゴイ』農文協

・『現代農業2001年4月特別号_不況に活かす 農家の知恵』農文協

・『現代農業2000年4月特別号_21世紀に引き継ぐ 農家の技術 自給の知恵』農文協



栽培/観察/記録方法など

去年のブログ内記事から主なトピックを挙げておきます。

ガラス瓶の中の生態系 定点観測
段ボールコンポスト
バクスター効果
比較栽培に利用できそうなセンサや部品について
植物光合成用 8×8 LEDライト (差し替え式)
温度センサ(LM60BIZ)
温度センサ(LM35DZ)
温/湿度センサ(SHT-71)
光センサ フォトICダイオード(S9648-100)
WEBカメラによる定点観測:(Processingのプログラム例
Arduinoで計測した値を指定のwebサーバに送信/保存する
pachube:世界中のデータをリアルタイムに共有する
農×アート!『 Nature in Our Life 』展示報告1
農×アート!『 Nature in Our Life 』展示報告2
農×アート!『 Nature in Our Life 』展示報告3

2010年4月17日土曜日

建築農業工作ゼミ2010開講

建築農業工作ゼミ2010が2010年4月17日13:00〜からスタートします。
まずは、農業からスタートです。
2010年も引き続きこのサイトを使う予定です(タイトルを2009-2010に変更しました)。
去年までの投稿可能者については一旦リセットさせて頂きます。

追記:
今年度受講生の方には、投稿の招待メールを送らせて頂きました。
登録や投稿などの方法は、こちらの説明をご覧下さい。
尚、工作ゼミで使用する「Processing」や「Arduino」に関しては、去年のこの記事を参考にして下さい。
ちなみに、工作ゼミ開始は6/12からです。
その時にあらためて「Processing」と「Arduino」の説明/実習を行います。
詳細については追って連絡致します。

2010年3月22日月曜日

Arduino Mega:ピンマッピング

左がArduinoボード上のピン番号:右がATmega1280内のピン番号

[PWM]
PIN13: PIN26/PB7(OC0A/OC1C/PCINT7)
PIN12: PIN25/PB6(OC1B/PCINT6)
PIN11: PIN24/PB5(OC1A/PCINT5)
PIN10: PIN23/PB4(OC2A/PCINT4)
PIN9 : PIN18/PH6(OC2B)
PIN8 : PIN17/PH5(OC4C)

PIN7 : PIN16/PH4(OC4B)
PIN6 : PIN15/PH3(OC4A)
PIN5 : PIN5 /PE3(OC3A/AIN1)
PIN4 : PIN1 /PG5(OC0B)
PIN3 : PIN7 /PE5(OC3C/INT5)
PIN2 : PIN6 /PE4(OC3B/INT4)

[COMMUNICATION]
PIN1 : PIN3 /PE1(TXD0)
PIN0 : PIN2 /PE0(RXD0/PCINT8)

PIN14: PIN64/PJ1(TXD3/PCINT10)
PIN15: PIN63/PJ0(RXD3/PCINT9)
PIN16: PIN13/PH1(TXD2)
PIN17: PIN12/PH0(RXD2)
PIN18: PIN46/PD3(TXD1/INT3)
PIN19: PIN45/PD2(RXD1/INT2)
PIN20: PIN44/PD1(SDA/INT1)
PIN21: PIN43/PD0(SCL/INT0)

[DIGITAL]
PIN22: PIN78/PA0(AD0)
PIN23: PIN77/PA1(AD1)
PIN24: PIN76/PA2(AD2)
PIN25: PIN75/PA3(AD3)
PIN26: PIN74/PA4(AD4)
PIN27: PIN73/PA5(AD5)
PIN28: PIN72/PA6(AD6)
PIN29: PIN71/PA7(AD7)
PIN30: PIN60/PC7(A15)
PIN31: PIN59/PC6(A14)
PIN32: PIN58/PC5(A13)
PIN33: PIN57/PC4(A12)
PIN34: PIN56/PC3(A11)
PIN35: PIN55/PC2(A10)
PIN36: PIN54/PC1(A9)
PIN37: PIN53/PC0(A8)
PIN38: PIN50/PD7(TO)
PIN39: PIN70/PG2(ALE)
PIN40: PIN52/PG1(/RD)
PIN41: PIN51/PG0(/WR)
PIN42: PIN42/PL7
PIN43: PIN41/PL6
PIN44: PIN40/PL5(OC5C)
PIN45: PIN39/PL4(OC5B)
PIN46: PIN38/PL3(OC5A)
PIN47: PIN37/PL2(T5)
PIN48: PIN36/PL1(ICP5)
PIN49: PIN35/PL0(ICP4)
PIN50: PIN22/PB3(MISO/PCINT3)
PIN51: PIN21/PB2(MOSI/PCINT2)
PIN52: PIN20/PB1(SCK/PCINT1)
PIN53: PIN19/PB0(/SS/PCINT0)


[ANALOG IN]
PIN0 : PIN97/PF0(ADC0)
PIN1 : PIN96/PF1(ADC1)
PIN2 : PIN95/PF2(ADC2)
PIN3 : PIN94/PF3(ADC3)
PIN4 : PIN93/PF4(ADC4/TCK)
PIN5 : PIN92/PF5(ADC5/TMS)
PIN6 : PIN91/PF6(ADC6/TDO)
PIN7 : PIN90/PF7(ADC7/TDI)

PIN8 : PIN89/PK0(ADC8/PCINT16)
PIN9 : PIN88/PK1(ADC9/PCINT17)
PIN10: PIN87/PK2(ADC10/PCINT18)
PIN11: PIN86/PK3(ADC11/PCINT19)
PIN12: PIN85/PK4(ADC12/PCINT20)
PIN13: PIN84/PK5(ADC13/PCINT21)
PIN14: PIN83/PK6(ADC14/PCINT22)
PIN15: PIN82/PK7(ADC15/PCINT23)


Duemilanoveであれば、
PORTB
PORTC
PORTD
がありますが、Megaではそれらを合わせて
PORTA
PORTB
PORTC
PORTD
PORTE
PORTF
PORTG
PORTH
PORTJ
PORTK
PORTL
があります。

参考:
ポートマニピュレーション
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1245229578
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1241206933

Arduino Mega + Ethernet Shield

Ethernet ShieldはArduino Megaに未対応ですが、以下のサイトを参考に使用してみたいと思います。
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1252386632

一つ目のサイトでは、Ethernet Shieldシールドの10~13ピンを外側に折り曲げ、それら4本のピンをMegaに差し込まないようにしながらマウントしています。後半の説明(April 14th, 2009 UPDATE)では、11~13ピンの3本だけを折り曲げる方法に改良してあるので、その方法で使用してみたいと思います。
3本のピンをMegaには差し込まないように折り曲げてマウントしたら、以下のようにMegaのピンへジャンプワイヤでつないで下さい。

Ethernet Shield 11ピンとMega 51ピン
Ethernet Shield 12ピンとMega 50ピン
Ethernet Shield 13ピンとMega 52ピン

そして、Ethernet Library内の「spi.h」の内容を多少書き換える必要があります。
二つ目のサイト(Forum)には、Megaで使用する際の訂正箇所だけでなく、Megaとそれ以外のボードに対応可能な内容が記載してあるので、それを使いたいと思います。
「spi.h」は、Macならアプリケーション内の「Arduino.app」(バージョン0018)を右クリック(control+クリック)して「パッケージの内容を表示」し、
Arduino.app>Contents>Resouces>Java>libraries>Ethernet>utility>spi.h
にあります。「spi.h」をテキストエディタなどで開き、以下の内容に書き換えます。念のため「spi.h」バックアップをとっておいて下さい。


//-----------------------------------------------------------------------------
//AVR Mega168 SPI HAL
// MODIFIED by Roy Kniskern to handle the Mega pins 7/19/09

#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80


// __AVR_ATmega1280__ will be automatically #defined if the Arduino Mega board is selected
// the ATmega1280 is the chip used in the Mega
#ifdef __AVR_ATmega1280__
// use this to use Ethernet Shield with Arduino Mega
#define SPI0_SS_BIT BIT4
#define SPI0_SCLK_BIT BIT1
#define SPI0_MOSI_BIT BIT2
#define SPI0_MISO_BIT BIT3
#else
// use this for smaller Arduinos (Original version)
#define SPI0_SS_BIT BIT2
#define SPI0_SCLK_BIT BIT5
#define SPI0_MOSI_BIT BIT3
#define SPI0_MISO_BIT BIT4
#endif

#define SPI0_SS_DDR DDRB
#define SPI0_SS_PORT PORTB

#define SPI0_SCLK_DDR DDRB
#define SPI0_SCLK_PORT PORTB

#define SPI0_MOSI_DDR DDRB
#define SPI0_MOSI_PORT PORTB

#define SPI0_MISO_DDR DDRB
#define SPI0_MISO_PORT PORTB


#define SPI0_WaitForReceive()
#define SPI0_RxData() (SPDR)

#define SPI0_TxData(Data) (SPDR = Data)
#define SPI0_WaitForSend() while( (SPSR & 0x80)==0x00 )

#define SPI0_SendByte(Data) SPI0_TxData(Data);SPI0_WaitForSend()
#define SPI0_RecvBute() SPI0_RxData()

#ifdef __AVR_ATmega1280__
// use this to use Ethernet Shield with Arduino Mega

#define SPI0_Init() DDRB |= SPI0_SS_BIT|SPI0_SCLK_BIT|SPI0_MOSI_BIT;\
PORTB |= SPI0_SS_BIT | BIT0; PORTB &= ~(SPI0_SCLK_BIT|SPI0_MOSI_BIT);\
SPCR = 0x50
#else
// use this for smaller Arduinos (Original version)
#define SPI0_Init() DDRB |= SPI0_SS_BIT|SPI0_SCLK_BIT|SPI0_MOSI_BIT;\
PORTB |= SPI0_SS_BIT; PORTB &= ~(SPI0_SCLK_BIT|SPI0_MOSI_BIT);\
SPCR = 0x50
#endif

//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//IInChip SPI HAL
#define IINCHIP_SpiInit SPI0_Init
#define IINCHIP_SpiSendData SPI0_SendByte
#define IINCHIP_SpiRecvData SPI0_RxData

#ifdef __AVR_ATmega1280__
// use this to use Ethernet Shield with Arduino Mega
#define IINCHIP_CS_BIT BIT4
// use this for smaller Arduinos (Original version)
#else
#define IINCHIP_CS_BIT BIT2
#endif

#define IINCHIP_CS_DDR DDRB
#define IINCHIP_CS_PORT PORTB

#define IINCHIP_CSInit() (IINCHIP_CS_DDR |= IINCHIP_CS_BIT)
#define IINCHIP_CSon() (IINCHIP_CS_PORT |= IINCHIP_CS_BIT)
#define IINCHIP_CSoff() (IINCHIP_CS_PORT &= ~IINCHIP_CS_BIT)
//-----------------------------------------------------------------------------



赤色の部分が変更してある内容です。「#ifdef __AVR_ATmega1280__」で条件分けしてくれています。

まとめ:
(1)Ethernet Shield 11,12,13ピンを折り曲げてMegaにマウントする。
(2)Ethernet Shield 11,12,13ピンとMega 51,50,52ピンをジャンプワイヤでつなぐ。
(3)「spi.h」の内容を書き換える。

上記方法では動作確認できましたが、一つ目のサイト
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/
の後半の返答欄に:
シールドの10番ピンだけ曲げてMegaにマウントし10番ピンと8番ピンを連結し「spi.h」を、

#define SPI0_SS_BIT BIT0

#define SPI0_SCLK_BIT BIT5

#define SPI0_MOSI_BIT BIT3

#define SPI0_MISO_BIT BIT4

#define IINCHIP_CS_BIT BIT0

PORTB |= SPI0_SS_BIT | BIT2; PORTB &= ~(SPI0_SCLK_BIT|SPI0_MOSI_BIT);\

に書き換えるようですが、その方法だと動作確認できませんでした。

Arduinoイーサネット・シールド
スイッチサイエンス
売り上げランキング: 15483

*