人生で初めて遊んだゲーム

お題「人生で初めて遊んだゲーム」

 

こんにちはこんばんは めまめまです。

今回は「人生で初めて遊んだゲーム」について話していこうと思います。

めまめまが初めて遊んだゲームは

ポケモンレンジャーバトナージ

です。(歳がばれちゃう...)

 

 

このゲーム、プレイした記憶が今でも残っています。(多分3週ぐらいした)

とくに最終ボス、ダークライとのバトルの時に虹色のビーム(?)みたいなのが使えてすごい盛り上がった記憶があります。

クリアした後もクエストが追加されたりしてずっと遊んでいましたね。

【初心者向け】コスパ最強 自作ゲーミングPC

今回は初心者向けのゲーミングPCのパーツを紹介していこうと思います。

自作PCの組み方、パーツを紹介している人は山ほどいますが、ほとんどの人は「このマザーボードにはこのCPU!」といったように規格などの説明をしていないので、初心者には難しいと思います。(めまめまもよくわかんなかった)

この記事ではそういった規格などの話もするので、ほんとの初心者でも理解できると思います。

 

1 ゲーミングPCのパーツ紹介(めまめまおすすめ)

PCに必要なパーツは、電源、マザーボード、メモリ、記憶媒体(SSD,HDDなど)、CPU、グラフィックボード、etc...などいろいろありますが、いろんな種類があって迷いますよね。

そのため、めまめまが使っているor借りてみて、結構使えると思ったものを紹介します。

 

1-1 マザーボード

マザーボードにもサイズがあり、ATXが305×244mm、microATXが244×244mm、Mini-ITXが170×170mmです。

だいたい三種類のサイズがありますが、microATXをお勧めします。

ATXはでかいので、価格がちょっと高くなりますし、mini-ITXはサイズを小さくすることで余計にコストがかかっており、高くなるからです。

 ←おすすめマザーボード

 

 

また、マザーボードはCPUの種類、又は世代によって変えなければいけません。

例えば、

Intel Corei7 プロセッサー 12700KFはLGA1700という規格です。

組みたいCPUが決まってから、その規格を調べる(LGA~~~とAmazonで検索すれば対応品が出てくる)のがおすすめです。

 

1-2 CPU

先ほどおすすめしたマザーボードの規格はLGA1200なのでそれに対応した規格のCPUを紹介します。

 

めまめまのおすすめはIntel Corei5 11400Fです。

なんでこれがおすすめかっていうと、安いからです。

なんで安いかって言うと、まずこれ単体では映像を表示することができないからです。

つまりグラフィック機能がないから安いのですが、今回作るのはゲーミングPC。

どうせグラフィックボードつけるので関係ないです。

あとはこのシリーズ、クソ雑魚ですが、冷却ファンがついてきます。

安く組みたい人だったらこれで十分だと思います。

←おすすめCPU

 

1-3 グラフィックボード

ゲーミングPCにはグラフィックボードが命みたいなものですので、いいやつを買いたいところですがグラボは高いです。

そのため、ちょっと高いけどほとんどのゲームは遊べるグラボを紹介します。

こちらのRTX3060がおすすめです。

最近出たRTX4000番代シリーズと比べたら価格は半分くらいなのでコスパはいいと思います。

グラボはやりたいゲームとお財布と相談しながら選んでください。

 

1-4 記憶媒体(SSDなど)

パソコンのデータを保存するSSDなどは容量が多いほうがいいです。

ケチって少なくすると後で絶対後悔します。

今回紹介したマザーボードはM.2に対応しているので、M.2SSDを買ったほうがいいです。

1TBあれば安心

 

1-5 メモリ

ゲーミングPCのメモリは16GB以上はあったほうがいいです。

このメモリは値段が安いからおすすめ。見た目を変えたいのならDDR4に対応してるメモリなら大丈夫。

 

1-6 電源

電源もケチってワット数が小さいの買う人もいるかもしれませんが、電力が足りなくて起動しなくなる可能性もあるので600W以上は買っといたほうがいいです。

80PLUS Bronze認証品だと電気代が安くなるからおすすめ。

 

2 その他キーボードなど

ゲーミングPCと言えばぴかぴか光るキーボード! マウス! と思う人が多いと思いますが、いざ使ってみると目障りになって光らせなくなるので、エレコムの事務用キーボードがいいです。メンブレン式ですが、うち心地が良くて愛用しています。

 

マウスはゲーム用買っといたほうがいいです。

事務用だと素早い動きに反応してくれませんからね。

今回は目が疲れてきたのでこの辺で終わりたいと思います。

ブログを見てくださり、ありがとうございました!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本来の目的とは違う使い方をしているもの。

お題「本来の目的とは違う使い方をしているもの。」

 

めまめまが本来の目的と違う使い方をしているのは

ボディーシャンプーですね。

自転車のグリップ(持ち手)を交換するのに使っています。

 

気分によって持ち手を変えるので(週に3回程度)かなりの量を使っています(笑)

 

いらない情報かもしれませんが、自転車のグリップの外し方も説明したいと思います。

 

使ってるやつ↑

 

1 外し方①

自転車のグリップに針金を刺して、隙間からシャンプーを流し込みます。

 

2 外し方②

シャンプーを流し込んだら、グリップ全体になじませるようにグリップを握ります。

 

3 外し方③

シャンプーをなじませ、しばらくしたらするっと抜けます。

外した後はタオルなどでふき取るときれいになります。

 

4 最後に

今回は「本来の目的とは違う使い方をしているもの」について書こうと思いましたが、

ちょっと話がずれてしまいましたね(笑)

メマメマメマ

 

 

 

 

M5StickC plus を使った工作例 その①~降雪確認装置編~

M5StickCPlus って使ったことありますか?

めまめまはとある講座に参加して初めて使ったのですが、かなり幅広いことに使えて、めっちゃ便利なので今でも遊んでいます。

その中でもめまめまの傑作である"降雪確認装置"を紹介します。

Amazon.co.jp: Plus ESP32-PICOミニIoT開発ボード iotキット フィンガーコンピューターカラーLCD : パソコン・周辺機器

 

 

 

目次----------------------

降雪確認装置の仕組み

降雪確認装置の仕組みは単純です。

図のようにセンサーが反応したら、ラインに通知されるという仕組みです。

 

M5stickCのバッテリーだけだと一時間弱でバッテリーが切れてしまうので、モバイルバッテリーを繋げました。

モバイルバッテリーを繋げることで一週間は充電しなくても動いてくれます。

 

どうやってLineに通知するの?~M5stickCPlusとLine Notifyのつなげ方~

 

装置の仕組みの章でサラッと「ラインに通知する」と言いましたが、M5stickCPlus とLine を繋げるのはとても簡単です。

M5StickCからスマートフォンへ通知 ~ LINE Notifyを使って防犯装置を作る | kunimiyasoft

わたしはこちらのサイトを参考にしました。

 

センサーの作り方

次に一番重要なセンサーについて解説します。

センサーはこのように雪の重みで傘がつぶれて反応するようにしました。

赤丸のところがセンサー

実際に作ってみたい方は、オリジナルのセンサーを作っても面白いかもですね。

 

全体のプログラム

 



#include <M5StickCPlus.h>
#include <ssl_client.h>
#include <WiFiClientSecure.h>
#include <Ticker.h>

// 使用するGPIOポート --------
#define WATER_PIN  36 // 雪センサー

// Wi-Fi設定 --------
const char *WIFI_SSID = "**********"; //Wi-FiSSID
const char *WIFI_PASS = "***********"; //Wi-Fiのパスワード

// LINEの設定 -------- トークン発行 さっき紹介したサイトを参考に
bool USE_LINE_NOTIFY = true;
const char* LINE_HOST = "notify-api.line.me";
const char* LINE_TOKEN = ""; //ゲットしたライントークンを入力

// 設定 --------
const int BATT_LOW_ALERM = 20;  // バッテリー残量アラーム(%) 低下時に通知


const int MUSIC_BPM = 120;

// マクロ定義 --------
#define sp(x) Serial.println(x)
#define spn(x) Serial.print(x)
#define spf(fmt, ...) Serial.printf(fmt, __VA_ARGS__)
#define lp(x) M5.Lcd.println(x)
#define lpn(x) M5.Lcd.print(x)
#define lpf(fmt, ...) M5.Lcd.printf(fmt, __VA_ARGS__)
#define array_length(x) (sizeof(x) / sizeof(x[0]))

// ================================================================================

// WiFiに接続する
void connect_wifi() {
  int i, stat;
  WiFi.mode(WIFI_STA);  // ステーションモード
  WiFi.disconnect();
  delay(100);
  WiFi.printDiag(Serial);
  while (true) {
    // 接続を試みる
    WiFi.begin(WIFI_SSID, WIFI_PASS);
    lpn("WiFi connecting...");
    spn("WiFi connecting...");
    for (i = 0; i < 150; i++) {
      stat = WiFi.status();
      spn(stat);
      if (stat == WL_DISCONNECTED) { //6
        spn(".");
        if (i == 149) {
          lpn("! ");
          sp("abort");
        }
      } else if (stat == WL_CONNECT_FAILED) { //2  (WL_NO_SSID_AVAIL=1)
        lpn("<<FAIL>>\n");
        sp(" err=" + String(stat) + " Failed");
        delay(3000);
        break;
      } else if (stat == WL_CONNECTED) { //3
        lp("<<OK>> connected!\n");
        lpn("IP= ");
        lp(WiFi.localIP());
        sp("\nWiFi connected!");
        spn("IP address: ");
        sp(WiFi.localIP());
        break;
      }
      delay(200);
    }
    // 接続できたか?
    if (stat == WL_CONNECTED) {  //接続成功 //3
      break;
    } else {  //接続失敗
      WiFi.disconnect();
      delay(3000);
    }
  }
}

// バッテリー残量の計算
int get_battery() {
  return round(((M5.Axp.GetBatVoltage() - 3.0f) / (4.2f - 3.0f)) * 100);
}

// ================================================================================ https POST

// LINE Notify メッセージ  絶対に変えるな!!
bool send_line(String message) {
  bool res = false;
  spn("connecting LINE server...");
  WiFiClientSecure sclient;
  sclient.setInsecure();  // 証明書の検証をしない
  if (sclient.connect(LINE_HOST, 443)) {
    String query = "message=" + message;
    String request = String("")
      + "POST /api/notify HTTP/1.1\r\n"
      + "Host: " + LINE_HOST + "\r\n"
      + "Authorization: Bearer " + LINE_TOKEN + "\r\n"
      + "Content-Length: " + String(query.length()) +  "\r\n"
      + "Content-Type: application/x-www-form-urlencoded\r\n\r\n"
      + query + "\r\n";
    spn("sending...");
    sclient.print(request);
    //sp(request);
    while (sclient.connected()) {
      String buff = sclient.readStringUntil('\n');
      //sp("|"+buff);
      break;
    }
    sp("done");
    res = true;
  } else {
    sp("failed");
  }
  sclient.stop();
  return res;
}

// ================================================================================ タイマー割込み

// BEEP音楽を再生する
Ticker ticker1;
int start_play_music = 0;
void play_music(int musicno) {
  start_play_music = musicno;
}

// バックグラウンドでBEEP音を再生する(10msごとに実行される関数)
void play_background() {
  static int musicno = 0;
  static int step = 0;
  static unsigned long stop_ms = 0;
  M5.Beep.update();

  // 再生開始
  if (start_play_music > 0) {
    musicno = start_play_music;
    start_play_music = 0;
    step = 0;
    stop_ms = 0;
  }

  // 次の音階を設定する
 
}

// ================================================================================ セットアップ

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

  // LED設定
  pinMode(M5_LED, OUTPUT);
  digitalWrite(M5_LED, HIGH); //OFF

  // 水位センサー ピン設定
  pinMode(WATER_PIN, INPUT);

  //ディスプレイ&フォント設定
  M5.Lcd.setRotation(3);  // 横向き・ホームボタンが左
  M5.Lcd.fillScreen(TFT_BLACK);
  M5.Lcd.setTextColor(TFT_WHITE);
  M5.Lcd.setTextFont(1);
  M5.Lcd.setTextSize(1);
  M5.Lcd.setCursor(0, 2);

  // BEEP設定
  M5.Beep.setBeep(2000, 100);
  M5.Beep.beep();

  // タイマー割込みの開始:
  ticker1.attach_ms(10, play_background);

  // WiFi接続
  connect_wifi();
  delay(1000);
  M5.Beep.beep();
  delay(200);
  M5.Beep.beep();
}

// ================================================================================ メインループ

void loop() {
  static int mode = 0;
  static int detect_cnt = 0;
  int i;
  bool res;
  M5.update();

  // 1秒おきにフラグを立てる
  static uint32_t tm = 0;
  static uint32_t old_ms = 0;
  bool refresh = false;
  if (tm == 0 || tm+1000 < millis()) {
    refresh = true;
    tm = millis();
  }
  if (millis() < old_ms) tm = 0;
  old_ms = millis();

  // メインボタンを1回押したらお湯はり開始
  if(mode == 0 && M5.BtnA.wasPressed()) {
    sp("Start");
    M5.Beep.beep();
    res = send_line("%0D%0A計測開始!");  // LINEに通知する
    if (!res) lp("Line Error!");
    mode = 1;
    refresh = true;
  } else if(mode >= 1 && M5.BtnA.wasPressed()) {
    // メインボタンをもう1回押したら終了
    sp("Shutdown...");
    M5.Beep.beep();
    mode = 3;
    refresh = true;
  }

  // 雪の状態をチェック
  int yuki = digitalRead(WATER_PIN);
  digitalWrite(M5_LED, yuki ? LOW : HIGH);
  if (mode == 1) {
    if (yuki) detect_cnt ++;
    if (detect_cnt == 1) {
        // ゆき
    }
    if (detect_cnt >= 500) {  // 5秒連続して検出したら (100=1s)
      mode = 2;
      refresh = true;
      sp("雪かき");
       
      send_line("%0D%0A雪かき!");  // LINEに通知する
    }
  }

  // モードに応じた画面表示
  static bool battnotified = false;
  if (refresh) {
    M5.Lcd.fillScreen(TFT_BLACK);
    M5.Lcd.setCursor(0, 4);
    M5.Lcd.setTextSize(2);
    int battery = get_battery();  // バッテリー残量取得
    lp("Battery "+String(battery)+"%\n\n");
    switch (mode) {
      case 0:
        lp("Push to Start\n");
        break;
      case 1:
        lp("KEISOKU\n");
        M5.Lcd.setTextSize(1);
        lp("count="+String(detect_cnt)+"\n");
        break;
      case 2:
        lp("YUKIKAKI");
        break;
      case 3:
        lp("Shutdown...");
        break;
    }
    // バッテリー残量警告
    if (!battnotified && battery < BATT_LOW_ALERM) {
      battnotified = true;
      send_line("%0D%0Aモバイルバッテリーが接続されていません "+String(battery)+"%70");  // LINEに通知する
    }
  }

  // 電源オフ
  if (mode == 3) {
    WiFi.disconnect();
    delay(2000);
    M5.Axp.PowerOff();  // 電源オフ
  }

  // サイドボタンでモード戻す
  if(M5.BtnB.wasPressed()) {
    M5.Beep.beep();
    mode = 0;
    detect_cnt = 0;
    battnotified = false;
  }

  delay(10);
}

 

 

最後に

M5StickCplusとLineのつなげ方、全体のプログラムを紹介しましたが、

やはり屋外で使用するものなので防水機能が必須です。

降雪確認装置におすすめな防水グッズはこちらです。(実際に使用していたもの)

 

 

 

完成した装置を保温シートにクルクルっと包み込んで、目玉クリップで隙間をふさげば湖に沈めない限り、水没はしません。

 

 

【コスパ最強!?】DELL Latitude 5285 のレビュー

今回はDell latitude 5285のレビューをしていきます。

アマゾンで格安で販売されていますが、レビューしている人がとても少なかったので、

実際に私が使ってみてよかった点と、悪かった点を解説します。

 

 

1 外観

外観は本体が金属製、取り外し可能なキーボードは布(?)みたいな材質でできており、高級感はあります。

タブレット用のペンもついてきたので絵を描くのにも使えそうですね。

しかし、悪い点としては本体に傷がつきやすく、色的にも傷が目立ちやすいです。

スタバでイキれそうなデザイン

傷がちょっと目立つ

端子はUSB2.0、Type-C×2

じつはキーボードが光る

 

 

2 性能

性能に関しては価格相応かなぁと思います。

第七世代のcore i5 7200Uもしくは7300U 搭載でメモリは8GB、ストレージは256GB

実際に買ってみた

私みたいに、ブログを書いたり、ツイッターを見たりするだけの人はこの性能で十分かもしれませんが、

動画編集、実況(Vtuberさんなどは特に)、ゲームにはあまり向いていません。
一応、マイクラぐらい軽いゲームなら動きます。

 

実況者さんなどにはめまめまがメインで使ってるこのPCがおすすめです。

https://amzn.to/41pQHMI

 

3 充電に関して(Dell latitude 5285の充電について)

充電器は購入時に65Wの純正充電器がついてきますが、とても大きく持ち運びづらいので小型の充電器もしくはモバイルバッテリーを購入することをお勧めします。

めまめまのおすすめ充電器/モバイルバッテリーはこちらです。

https://amzn.to/3M9QLf7(充電器,Dell latitude 5285で動作確認済み)

https://amzn.to/3M7EbNd(モバイルバッテリー,同じく動作確認済み)

 

4 まとめと余談

今回、Dell latitude 5285 を購入してみて、自分みたいなブログメインの人ならかなりいい買い物だなぁと思いました。

最初に発売されたときは本体だけで17万円もしたパソコンですからね。

それが今なら3万円台で買えちゃいます。

最高ですよね。

 

余談ですが、めまめまはこのPCをほぼメインみたいな感じで使っています。

↑配信もできるくらい普通に動く

 

 

 

 

 

 

【迷ったらコレ!】オタクグッズの処分方法

[blog:g:10257846132707194461:banner]

 

 

お題「オタクグッズの処分方法を教えてください。金額を考えてふと我に返ってるところです。」

 

 

オタクグッズって思い入れがあるものが多いので手放しづらいですよね。。

そのため、今回は楽にオタクグッズを手放す方法を解説していこうと思います。

 

オタクグッズの手放し方①

一つ目は"親しい友達に譲る"です。

個人的にもこれがベストだと思います。

中古ショップに売るよりも知っている人の手にわたるので安心ですよね。

しかし、いらないといわれた場合の対処法も紹介しておきます。

 

オタクグッズの手放し方②

二つ目は"ツイッターなどのSNSで欲しい人に譲る"です。

これはトラブルが起きることが多々あるので(実体験)あまりお勧めはしませんが、同じ推しを推している人同士なら大丈夫だと思います。

自分は処分できてうれしい、相手は欲しいグッズが手に入ってうれしい、とwinwinな関係になります。

 

オタクグッズの手放し方③

三つ目は"セカンドストリートなどの中古ショップに売る"です。

これがもしかしたら一番手軽に手放せれるかもしれませんが、買取価格が安い場合があるので注意です。

また、未成年は保護者がいないと売ることができません。

 

 

まとめ

やはり、めまめまが一番お勧めするのは親しい友達に譲るですね。

ちなみに、めまめまが大好きな某Vtuberの抱き枕カバーを手放すときは友人に渡しました。

大切に使ってくれてるかな...

おすすめのタブレットPC

 

 

 

 

 

【高校生必見】新しい学校のサボり方

突然ですが皆さん、学校をさぼりたいと思ったことはありませんか?

でも、簡単にさぼることはできませんよね?

そのため、今の高校生だからできる"新しい学校のサボり方"を伝授します!

 

 

1 Classiを使った欠席連絡

一番"サボり"をしやすいのはClasssiを使った欠席連絡です。

しかしこの手段は学校側でClassiを採用していないと使用できないので注意が必要です

 

 

1-1 欠席連絡のやり方


Classiを使っている人ならわかると思いますが、最初にこの画面を開きます。

 

そしてここから保護者用のアカウントにログインするのですが、ほとんどの人は

ログインID、パスワードが分からないと思います。

 

そのため次にログインID&パスワードの入手方法を説明します。

 

 

 

1-2 Classiの保護者用アカウントにアクセスする方法

Classiの保護者用アカウントにアクセスする方法ですが、とても簡単です。

それは学校の先生に聞くだけです。

学校では生徒及び保護者のID、パスワードをすべて保管しているので「親がログインできなくなった」と言えば教えてくれます。

「そんなことしたら親にばれちゃうじゃん!」と思う人もいると思いますが、そんなことでいちいち連絡するほど学校は暇じゃないのでバレる心配はありません

 

1-3 ログインした後

無事、ログインID、パスワードを手に入れたら後は欠席連絡をするだけです!

こんな感じの画面です。

 

2 おまけ~学校をサボったとき、どこで過ごすの!?~

学校をサボることに成功したとしても、どこで過ごすかとても悩みますよね

そのため、めまめまがおすすめするサボるのにちょうどいい場所を紹介します。

 

2-1 カラオケ

一つ目は、カラオケです。

カラオケはフリータイムでだいたい1000円~入れるのでとてもおすすめです。

フリーWi-Fiもあるので歌うのに疲れたらyoutube を見るのもいいですね。

 

2-2 図書館などの公共施設

二つ目は図書館などの公共施設です。

平日なので人が少なくてゆったりできますし、いろんな本を読めます。

しかも多くの図書館にフリーWi-Fiがあるのでネットサーフィンも楽しめます。

余談ですが、めまめまがよく行っている図書館はコンセント付きの席がありパソコンの充電を気にせずに作業することができてとても便利です。

 

まとめ

やはり一番難しいのはパスワードなどを先生から聞くことですね。

でも、よほど暇な高校じゃない限り親に連絡はしません。

勇気をもって聞いてみましょう!

 

Amazon | メッシュ サドル 自転車サドル スポーツサドル スパイダー メッシュ 軽量 通気性 衝撃吸収 メッシュ サドル(グリーン) | Kato-YenUji | サドル

↑めまめまが使ってるサドル