皆さんこんばんは!

最近技能を頑張ってます!

そんなわけで一昨日頃公式より合格判定が出ましたので確認。

マークシートズレのリスクもあるのでヒヤヒヤの結果発表!


結果ー(タイトルでバレてますが)



無事合格してました!

ちょっと分かりずらい表記ですが技能試験に向けて頑張ります!


応援していただたいた皆様ありがとうございました!



⬇こちらにて確認できます

 


試験の種類を選び受験番号を入れると、結果が確認できます!


追記)

No.5の技能練習〜
割と簡単だったので35分でクリア!
アースありの200V配線はあまり出番ないので丁寧に練習。
端子台のシールはなくしました(´>∀<`)ゝ


本日は天気悪くなるみたいなので相変わらず技能の練習中です


技能本読み返したらなんと45分まで短縮出来ました!
40分で間に合うというより余裕もって30分ぐらいで終わらせられるようにしたいですねー

さらに追記

No.4
記録39分とギリギリ
3相の配線は初だったので手間取りました...
え、®️の配線が100mm短いって?
まあ気にしない気にしない(←コラっ!)

へい!

筆記試験がたぶん合格してるので実技始めました



⬆本を参考に日曜日作った初めてのNo.12
2時間ほどかかりました
ケーブル間違い(二芯と三芯、太さ違いなど)があり、なかなか大変でした
⬆昨日作ったNo.1
見直しが重なり結局50分ほどかかりました
まだまだ高速化を狙いたいですね!

そんなわけでクリスマスの日に行われる試験に向けて頑張りますぅ!

皆様、試験お疲れ様でした!

一応私は合格点にしっかり入ってたみたいです!応援ありがとうございました(技能はこれからですが...)


本日、待ちに待った筆記試験の日!


駅からてくてく歩くこと約10分

試験会場が見えてきました

噂通り、チラシなど配ってました( ̄▽ ̄)

到着!

中々入る機会がないのでドキドキしながら

係員にしたがって行くと...

うおおお!紅葉も相まっていいですなぁー

ここまで来たらもうやりきるしかない!
試験は最後まで粘りました(笑)

試験終了



家に帰り、久々のゲームを堪能




さてさてさて、オーム社から回答の速報が出てるとのことで早速採点
 


結果は...

96点でした(´;ω;`)

午前の試験で、7問目と27問目を落としてしまった...
100点を目指してたのでこれは泣きます..

そして27問目の方は問題文よく読んでなかったのが最大のミスというわけで...一応合格点に届いて良かったです!

それでは実技の練習に入るとしますか♪

今日は電工2種免許の筆記試験で御座います

過去問など解いて直前まで粘ります笑





九十点ぐらい安定して出せるようになったのですがどんな問題が出るかハラハラです

というわけで試験まであと一週間。

息抜きがてら記事を書いてます。

 

さて本題。

 

3Dプリンターで扱えるプラスチックは様々

その中でABSを使った食器の実験#1です。
耐熱性や剛性に優れているので食器として

広く使われてます(知らんけど)

 

そんなわけで残り僅かなフィラメントを使用しておちょこ🍶を作ってみた。

 

とりあえずFusion360で設計

適当です

まず半分のスケッチ作成

回転コマンドで一気に立体化

レンダリング。16コアだと早いですな

一応図面。かなり小さいですが十分かなと

 

 

使ってみて

 

実験内容は以下の通り

①一晩水を入れる

②沸騰直後の熱湯を入れる

 

結果は特に問題なくクリアです。

オリジナルの形状の食器が作れると幅が広がりますね!

 

 

今回分かったこと

 

厚み1mmでも漏れない

が、熱湯入れると柔らかくなるのと熱い

 

それでは!

また色々実験していきます

 

 

使用したもの

 

 

 

 

 

さてさてあと2週間切った今日この頃

遂に受験票到着

中身は個人情報の塊なのでお見せ出来ませんが無事試験の参加資格が揃ったのでまだまだ勉強しますぜい!




現在過去問を中心的にやっておりだいたい75点/100ぐらいまで取れるように✌️

色々パソコン触ったりしたいですが我慢です(笑)


皆様、おはようございます。

日々電気工事士の勉強を進めております。

そんなこともあり、ブログの投稿が追いついてません()

まだ受験票届かないので、若干不安ではありますが着々と覚えていく他ないですね(笑)



今主にスマホのアプリと教本でなんとか頑張ってる感じです。


一通り読み終えたのでテストは聞いてみると60点

しかも連続でピッタリ



確かに合格ラインではありますがギリギリ。

もっと勉強続けようと思います。


法律とかは大体取れてるのですが計算問題や配線図から読み取る問題で点を落としている現状。



安定して8割取れるように頑張りたいですねー!

 

 

 

 

今回は【難易度★★★】です。

 

かなり前に作ってあまり覚えていないためスケッチの解読は各自でお願いします(←)

 

仕様

 

  • リセットボタンでGPSから時計合わせ
  • カソードコモン7セグLEDを6つで分秒表示
  • DS3231でより正確な時刻・バックアップ

だったと思います()

 

 

用意するもの

 

 

 

↑↓どちらか

 

 

発光部分は各自で用意した7セグに合わせてください

 

 

接続

 

 

7セグ部分

 

   Arduino---7seg
   D2---a
   D3---b
   .
   .
   .
   D8---g
   D9---G1
   D10---G2
   D11---G3
   D12---G4

   D13---D.P
   A0---G5
   A1---G6

 

 

NEO-6M(GPS)

 

   Arduino---NEO6M
   5V(3.3V)---VCC
   GND---GND
   A2---TX
   A3---RX

 

 

DS3231

 

   5V---VCC
   GND---GND
   SDA---SDA
   SCL---SCL

 

スケッチ

 

/* How to Connection
   Arduino---7seg
   D2---a
   D3---b
   .
   .
   .
   D8---g
   ---D.P
   D9---G1
   D10---G2
   D11---G3
   D12---G4
   A0---G5
   A1---G6


   Arduino---NEO6M
   5V(3.3V)---VCC
   GND---GND
   A2---TX
   A3---RX

*/
bool Century = false;
static const int RXPin = A2, TXPin = A3;  //NEO 6M

long year, month, day, hour, minute, second;
int c[6];

#include <TinyGPS++.h>
TinyGPSPlus gps;

#include <SoftwareSerial.h>
SoftwareSerial ss(RXPin, TXPin);

#include <DS3231.h>
#include <Wire.h>
DS3231 Clock;

bool h12Flag = false;
bool pmFlag = false;
bool century = false;

boolean Num_Array[10][7] = {
  {1, 1, 1, 1, 1, 1, 0}, //0
  {0, 1, 1, 0, 0, 0, 0}, //1
  {1, 1, 0, 1, 1, 0, 1}, //2
  {1, 1, 1, 1, 0, 0, 1}, //3
  {0, 1, 1, 0, 0, 1, 1}, //4
  {1, 0, 1, 1, 0, 1, 1}, //5
  {1, 0, 1, 1, 1, 1, 1}, //6
  {1, 1, 1, 0, 0, 1, 0}, //7
  {1, 1, 1, 1, 1, 1, 1}, //8
  {1, 1, 1, 1, 0, 1, 1}  //9
};

void setup()
{

  Serial.begin(9600);

  Wire.begin();

  for (int i = 2; i < 16; i++)
  {
    pinMode(i, OUTPUT);
  }

  ReadGPS();


}
void loop()
{
  year = Clock.getYear();
  month = Clock.getMonth(Century);
  day = Clock.getDate();
  hour = Clock.getHour(h12Flag, pmFlag);
  minute = Clock.getMinute();
  second = Clock.getSecond();

  hour += 9; //JST=UTC+9
  if (hour >= 24)
  {
    day += hour / 24;
    hour = hour % 24;
  }
  Serial.print("sevseg: ");
  Serial.println(hour * 10000 + minute * 100 + second);
  /*
    Serial.print("GPS: ");
    Serial.println( gps.time.hour() * 10000 + gps.time.minute() * 100 + gps.time.second());
    Serial.println();
  */
  SevSegShowTime(hour * 10000 + minute * 100 + second);
}

void ReadGPS()
{
Reset:

  ss.begin(9600);
  long WaitTime = millis();

  c7s(0);

  while (!ss.available() && WaitTime + 6000 > millis() && gps.satellites.value() == 0)
  {
    digitalWrite(5, HIGH);

    if (((millis() - WaitTime) / 1000) < 4)
    {
      digitalWrite(((millis() - WaitTime) / 1000) + 9, LOW);
      c7s(0);
    }
    if (3 < ((millis() - WaitTime) / 1000) && ((millis() - WaitTime) / 1000) < 6)
    {
      digitalWrite(((millis() - WaitTime) / 1000) + 10, LOW);
      c7s(0);
    }
  }

  c7s(0);

  while (ss.available())
  {
    //Serial.print(ss.read());
    char g = ss.read();
    gps.encode(g);
  }
  if (gps.time.minute() == 0)
  {
    goto Reset;
  }
  else
  {
    Clock.setYear(gps.date.year() - 2000);
    Clock.setMonth(gps.date.month());
    Clock.setDate(gps.date.day());
    //    Clock.setDoW(DoW);
    Clock.setHour(gps.time.hour());
    Clock.setMinute(gps.time.minute());
    Clock.setSecond(gps.time.second());
  }

  ss.end();

}


void SevSegShowTime(long Time6)
{
  for (int i = 0; i < 6; i++)
  {
    c[5 - i] = Time6 % 10;
    Time6 /= 10;
  }

  NumPrint(c[0]);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delayMicroseconds(200);
  c7s(1);

  NumPrint(c[1]);
  digitalWrite(9, HIGH);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delayMicroseconds(200);
  c7s(1);

  NumPrint(c[2]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[3]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, LOW);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[4]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, LOW);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[5]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, LOW);
  delay(2);
  c7s(1);

}

void NumPrint(int Number) {

  for (int i = 0; i <= 6; i++)
  {
    digitalWrite(i + 2, Num_Array[Number][i]);
  }
}

void c7s(int Delay)
{
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delay(Delay);
}

 

 

スケッチ解説?

 

GPSから時計を受信&DS3231に書き込み

void ReadGPS()
{
Reset:

  ss.begin(9600);
  long WaitTime = millis();

  c7s(0);

  while (!ss.available() && WaitTime + 6000 > millis() && gps.satellites.value() == 0)
  {
    digitalWrite(5, HIGH);

    if (((millis() - WaitTime) / 1000) < 4)
    {
      digitalWrite(((millis() - WaitTime) / 1000) + 9, LOW);
      c7s(0);
    }
    if (3 < ((millis() - WaitTime) / 1000) && ((millis() - WaitTime) / 1000) < 6)
    {
      digitalWrite(((millis() - WaitTime) / 1000) + 10, LOW);
      c7s(0);
    }
  }

  c7s(0);

  while (ss.available())
  {
    //Serial.print(ss.read());
    char g = ss.read();
    gps.encode(g);
  }
  if (gps.time.minute() == 0)
  {
    goto Reset;
  }
  else
  {
    Clock.setYear(gps.date.year() - 2000);
    Clock.setMonth(gps.date.month());
    Clock.setDate(gps.date.day());
    //    Clock.setDoW(DoW);
    Clock.setHour(gps.time.hour());
    Clock.setMinute(gps.time.minute());
    Clock.setSecond(gps.time.second());
  }

  ss.end();

}

 

 

この関数に6桁の数字を入れると時分秒で表示

 

void SevSegShowTime(long Time6)
{
  for (int i = 0; i < 6; i++)
  {
    c[5 - i] = Time6 % 10;
    Time6 /= 10;
  }

  NumPrint(c[0]);
  digitalWrite(9, LOW);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delayMicroseconds(200);
  c7s(1);

  NumPrint(c[1]);
  digitalWrite(9, HIGH);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delayMicroseconds(200);
  c7s(1);

  NumPrint(c[2]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[3]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, LOW);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[4]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, LOW);
  digitalWrite(A1, HIGH);
  delay(2);
  c7s(1);

  NumPrint(c[5]);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(A0, HIGH);
  digitalWrite(A1, LOW);
  delay(2);
  c7s(1);

}

 

 

この関数に1桁の数字を入れると7セグ1本ずつ表示

void NumPrint(int Number) {

  for (int i = 0; i <= 6; i++)
  {
    digitalWrite(i + 2, Num_Array[Number][i]);
  }
}

 

最後に

 

 

かなり適当になってしまいましたが、

スケッチの参考になれば幸いです。

一応1年ほど連続動作して問題ないことが確認できました

先日新たにAssettoCorsa用のトラックMOD作成&アップロードしました!
是非とも遊んで見てください!

https://www.racedepartment.com/downloads/mini-4wd-3d-corse.54785/ 






立体コースの作成ができるかという新たな試みです。

ただ、ジャンプでクラッシュしやすく危ないので近いうちに改良版をゼロから作ろうかなと思います