JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

種蒔き終了

2024-05-30 21:08:40 | 家庭菜園と花
 昨日はハツカダイコンの2回目の種まきました。今日は朝から晴天。トウモロコシの種を蒔きました。


 2畝に32か所に種を蒔きました。1か所に3粒ずつ。トウモロコシは1株あたり収穫できるのは1本ですから、たいした量ではありません。

 鳥による食害を防ぐため芽が出るまで不織布をかけておきます。

 これでほぼ種まきは終了です。(コマツナとチンゲンサイ、ホウレンソウの2回目の種まきを残しています)

 ハツカダイコンとコマツナ、チンゲンサイは既に間引きを行いすくすくと育っています。苗で植えたナス、ピーマン、シシトウ、トマトは順調に生育しています。

 今日の畑の様子です。


 タワーの下では、ムラサキカタバミが咲き始めました。



Arduino UNO R4 (WiFi) OLEDテスト その2

2024-05-29 17:38:43 | Arduino
 前の記事に続き、Arduino UNO R4 WiFi でOLEDに文字を表示するテストをします。

 Zennというサイトにあるデモプログラムにのスケッチの文字表示の部分だけを取り出しました。
--------------------------------------------------------------------
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(115200);

// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { 
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }

  // Show initial display buffer contents on the screen --
  // the library initializes this with an Adafruit splash screen.
  //display.display();
  //delay(2000); // Pause for 2 seconds

  // Clear the buffer
  display.clearDisplay();

  display.setTextSize(1);      // Normal 1:1 pixel scale
  display.setTextColor(WHITE); // Draw white text
  display.setCursor(0, 0);     // Start at top-left corner
  display.cp437(true);         // Use full 256 char 'Code Page 437' font

  // Not all the characters will fit on the display. This is normal.
  // Library will draw what it can and the rest will be clipped.
for(int16_t i=0; i<256; i++) {
    if(i == '\n') display.write(' ');
    else          display.write(i);
  }
  display.display();
delay(2000);
  display.clearDisplay();

  display.setTextSize(1);             // Normal 1:1 pixel scale
  display.setTextColor(WHITE);        // Draw white text
  display.setCursor(0,0);             // Start at top-left corner
  display.println(F("Hello, world!"));

  display.setCursor(0,20);
  display.setTextColor(BLACK, WHITE); // Draw 'inverse' text
  display.println(3.141592);

  display.setCursor(0,40);
  display.setTextSize(2);             // Draw 2X-scale text
  display.setTextColor(WHITE);
  display.print(F("0x")); display.println(0xDEADBEEF, HEX);

  display.display();

}

void loop() {

}
--------------------------------------------------------------------
 最初にこのように文字が表示されます。


display.write(i);によってasciiコードの対応する文字を表示することができます。

 2秒後に次のような画面になります。


 文字サイズ1で「Hello, World!」が表示されます。

 次に反転文字で数字3.141592を表示するわけですが、3.14までしか表示されません。

 最後に、文字サイズ2で、HEX表示をしています。

 display.print()またはdisplay.println()で、書式を指定して文字を表示するようです。

Arduino UNO R4 (WiFi) OLED テスト その1

2024-05-28 19:45:28 | Arduino
 今日は一日中雨降りでした。晴耕雨読。今日は家庭菜園は休みです。久しぶりにArduino UNO R4 WiFiを引っ張り出してきてOLEDの表示テストをしました。

 Arduino UNO R3でテストしたスケッチでやってみると、このチップでは使えませんというメッセージが出てNGでした。

 ネット上を探すとArduino UNO R4でのOLEDの表示例がありました。ZennというサイトでZenn記事は、こちら。この記事を参考にしてサンプルプログラムを書き込んでみるとデモが表示されました。

 まず、Arduino IDE(私はver 2.3.2を使っています)を立ち上げ、ライブラリマネージャで必要なライブラリ
Adafruit GFX Library by Adafruit
Adafruit SSD1306 by Adafruit 
をインストールします。

 この後、スケッチ例「ssd1306_128x64_i2c.ino」をコンパイル書き込みしてみましたが何も表示されませんでした。原因はよくわかりません。

 ということで、Zennというサイトに掲載されているスケッチを元にして、OLEDの表示テストをしました。Arduino UNO R4(WiFi)とOLED(128x64)の接続回路図です。



 まず、グラフィック関係の表示テストをしました。点、線、四角形、丸、三角、角が丸い四角などを描くことができます。
 テストしたスケッチです。サンプルから必要な部分を抜き出しました。
 bufferに図形を描き、display.display();でOLEDに画面を転送しています。

-----------------------------------------------------------------
/*
Arduino UNO R4 OLED test
2024.5.28
JH7UBC Keiji Hata
*/

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
Serial.begin(115200);

// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { 
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
}

  // Show initial display buffer contents on the screen --
  // the library initializes this with an Adafruit splash screen.
  //display.display();
  //delay(2000); // Pause for 2 seconds

  // Clear the buffer
display.clearDisplay();

  // Draw a single pixel
display.drawPixel(10, 10, WHITE);
display.display();
delay(100);

  //Draw line
display.drawLine(30, 10, 50, 30, WHITE);
display.display();
delay(100);

  //Draw rectangle
display.drawRect(60,10,20,20,WHITE);
display.display();
delay(100);

  //Drw fillrectangle
display.fillRect(90,10,20,20,WHITE);
display.display();
delay(100);

  //Draw circle
display.drawCircle(10,50,10,WHITE);
display.display();
delay(100);

  // Draw fillcircle
display.fillCircle(40,50,10,WHITE);
display.display();
delay(100);

  //Draw triangle
display.drawTriangle(70,40,60,60,80,60,WHITE);
display.display();
delay(100);

  //Draw roundrectangle
display.drawRoundRect(90,40,20,20,3,WHITE);
display.display();
delay(100);
}

void loop() {
}
-----------------------------------------------------------------

 Arduino UNO R4 WiFiとOLEDの接続の様子です。OLEDは秋月電子から購入したものです。


 表示結果です。


 次回は、文字を表示してみます。

今日の落ちこぼれ花壇

2024-05-26 18:22:40 | 家庭菜園と花
 一昨日5月24日にオクラと初夏ホウレンソウの種を蒔きました。残るはトウモロコシとエダマメの種まきです。

 5月18日に種を蒔いたハツカダイコンは発芽し本葉が開いたので、1回目の間引きをしました。これからどんどん成長していくでしょう。

 タワーの北側に「落ちこぼれ花壇」と名付けた小さな花壇があります。この花壇は、鉢から土に下した植物やどこからか飛んでて芽を出した植物で構成される花壇です。

 今年もオルレアがたくさん咲きました。オルレアの白にムシトリナデシコのピンクが混じって、すごくきれいです。


 お隣の花壇からこぼれてきたムラサキツユクサが咲きました。



 ムラサキツユクサといえば、生物の実験教材で、減数分裂の顕微鏡観察に使いましたね。懐かしいなー。

 昨年購入したカーネーションを秋にこの花壇に下しました。冬を超えて花を咲かせ始めました。

 地面に下したカーネーションは地面を這うように伸びて花を咲かせます。
 これからたくさん花を咲かせてくれるでしょう。

 トマトの棚を組む

2024-05-22 12:29:50 | 家庭菜園と花
 昨日は、コマツナ、チンゲンサイとインゲンの種を蒔きました。インゲンは鳥の食害を防ぐため不織布をかけてあります。(写真の奥に見えます)

 今日は、先日定植したトマトにまずマルチングを施し、いぼ竹で棚を組みました。


 一般的には逆V型に支柱を立てるのですが、それだと枝を十分に伸ばせません。そこで数年前から4角形に棚を組むことにしました。

 支柱の上まで枝が伸びた後は水平に枝を伸ばしていきます。ぐるぐる回るようにすれば、かなりの長さまで枝を伸ばすことができ、たくさん収穫てきることになります。

 この後、初夏ホウレンソウ、オクラ、エダマメ、トウモロコシの種を蒔きます。