sanguino.cc
Sanguinoとは@マイクロファン ラボ
SanguinoとArduinoの違いは、下記の通りです
(公式のものを翻訳しました)
・atmega644Pを使用しています。
・合計で32本のIOピンがあります。
・8本のアナログ入力ピンがあります。
・6本のPWM対応ピンがあります。
・64KBのフラッシュメモリーを利用できます。
・4KBのRAMがあります。
・2KBのEEPROMがあります。
・ブレッドボードで作れます。
・100%オープンソースです。
ブレッドボードにICや水晶振動子を取り付けた後、ブートローダーを書き込もうとしましたが、AVR ISP MkIIがUbuntuで認識されていないようです。
いろいろと探してみたところ、ここに解決策がありました。
AVR ISP MkIIをUbuntu11.04で使用する方法;
1./etc/udev/avrisp.rules を作成します。
2.avrisp.rules内に、以下のように記載します。
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"
3.保存した後は、下記コマンドを実行します。
cd /etc/udev/rules.d
sudo ln ../avrisp.rules 60-avrisp.rules
groups
Restart udev
sudo restart service udev
4.念のため再起動しておきます。
これでAVR ISP MkIIが使えるようになったので、次はブートローダーの書き込みです。
Burning the Sanguino Bootloader@replapwiki
上記のサイトにあるように、下記コマンドを実行すると書き込みができます。
wget http://sanguino.googlecode.com/files/Sanguino-0018r1_1_4.zip
unzip Sanguino*zip
sudo avrdude -patmega644P -cavrispmkII -Pusb -U flash:w:Sanguino/bootloaders/atmega644p/ATmegaBOOT_644P.hex
Sanguinoのブートローダーが書き込めたので、次にArduinoのソフトのほうでスケッチを書き込めるようにします。
参考にしたのは下記ページ。
Software For Linux@sanguino.cc
1.googleCodeからSanguinoのファイルをダウンロードして展開します。
2.ArduinoのHardwareフォルダに放り込みます。(私はapt-getからArduinoをインストールしたので、/usr/share/arduino/hardware/ に放り込みました)
3.Ubuntuの場合は、board.txtを若干修正する必要があります。
sanguino.upload=stk500
を
sanguino.upload=arduino
そのあと、Arduinoを再起動すればOKです。
Sanguino |
今はまだそんなにIOピンが必要な訳ではないんですが、とりあえず作ってみました。
Arduino用のラベルが便利だったので、Sanguino用のラベルも作りました。
ラベルは別館に保存してますので、ご自由にどうぞ。
ではまた。
初めて質問させていただきます
返信削除久といいます
SanguinoにはAtm1284を5V16MHzにて動作させています
IDEは1.0.3で当方のPCはWIN8.1です
さて、文字を大きくさせて表示のために、グラフィックLCDを
SPIで使用しました。
データを収集するために、SDカード(5V仕様で基板のなかで
3.3Vに落としています)を取り付けたところ、カードが、
動きません
SDカードの配線は下記の通りです
Sanguino グラフィックLCD Sanguino
CS D2(3) SCL D7(8)
SCK D7(8) SI D5(6)
MOSI D5(6) VDD 3.3V
MISO D6(7) VSS GND
VCC 5V LEDA 200Ω 3.3V
GND GND /CS D4(5)
/RST D3(4)
D/I D1(2)
( )内はピン番号を表します
グラフィックLCDはaitendoのCH1284 SPIタイプのものです
グラフィックLCDを全て外して、サンプルプログラムの
CardInfoを実行しましたがカードが分からない旨の
コメントが表示されます
海外のFAQを見てみましたが、配線については何もないので
チンプンカンプン(最も機械訳ですが)でした
基板の目的は
リナックスのINA226PRCを繋いで電流、電圧、および
稼働時間(RTC8564)を計測しそのデータをSDカードに保存したいと
思っています
SDカードのところがうまくいかないのでよろしくお願いします
UNOのサンプルプログラムではSDカードを動かすときは
pinMode(10, OUTPUT);
を入れるようにありますが、これはSanguinoではどうすれば
良いのでしょうか
動かす方法有ればご教授ください
久です
返信削除前の問い合わせで抜けていました
#include
//#include // 温度センサー(ADT7410)のテスト
#include
#include
#include
//#define SENSOR_ADRS 0x49 // 温度センサーデバイスのI2Cアドレス
//
#define TSP400_baud_rate 9600 // Serial
#define U8GLIB_CS 4 // U8GLIBのCS
#define SD_CS 2 // SDカードのCS
U8GLIB_NHD_C12864 u8g(7, 5, 4, 1, 3); // SPI Com: SCK = 7, MOSI = 5, CS = 4, A0 = 1, RST = 3
でセットしコンパイルをしマイコンに書き込むと
avrdude done. Thank you.
と表示されますが、PCの画面上には
Card failed, or not present
(カードに障害があるか、存在しない)
と表示されます
しかし、SDカードに書き込んである他のデータは
リーダーで読込表示は出来ます
すみません。同上エラーは表示されますがSDカードには
データが書き込まれていましたが、今度はLCDに文字が
表示されなくなりました
SDの取り外しに電源を落としただけなのですが??
書き込みをしているようなので
pinMode(SD_CS, OUTPUT) ; // 出力に
でいいのですかね
SD取り外しに専用のプログラムを作成してみますが
どなたか同様の事象が出た方はいらっしゃいませんでしょうか
なおブレッドボードで組んでいます
自己解決とは行きませんがSDカードのプログラムを実行させると
LCDは表示しなくなることが分かりました
SPIでCSが違えば動くと思ったのですが・・・
この件は取り下げます お忙しいなか申し訳ありませんでした