1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

電子工作コンテスト、見つけたので、やってみる。

コンテストテーマ  「イチ」で発想、関連付け

コンセプト

イチは一でしょう

世界一

日本一

今日一

今日一の気持ち

さりげなく、気持ちを伝える

してもいい日の絶対サイン

コンテスト応募のストーリー(構成案)

  • 作品名: 「今日一(キョウイチ)のサイン」
    〜言葉にしない、2人だけの絶対1シグナル〜

ストーリーの組み立て:

  • 背景: 「イチ」というテーマから、私たちは世界一や日本一ではなく、身近な「今日一(きょういち)の気持ち」に着目しました。
  • 課題: パートナーに対して「今日は甘えたい」「話を聞いてほしい」「(一緒に過ごしても)いい日だよ」という気持ちは、気恥ずかしくて口に出せないことがあります。
  • 解決策: そこで、ボタンを「1回」押すだけで、相手にだけさりげなく自分の「今日一のサイン」を届ける電子工作を開発しました。
    技術の力で、日常のコミュニケーションをより優しく、確実につなぎます。

早速、失敗

ホールICが、アナログ値を返さない。
BD7411Gは、オンオフの2値だった。
VRで代用しよう。

VL53L0xという距離センサはある。

I2Cらしい。調べておこう。

開発手順

picoは、ターミナルだけで、開発できる。

micropythonだから。

ターミナルは、c#で書いた。

using System;
using System.IO.Ports;
using System.Threading;

namespace ohi
{
	class pico {
		private static SerialPort port;
		public static void Read() {
			while (true)
			{
				Console.WriteLine(port.ReadLine());
			}
		}
		public static void Main(string[] args) {
			port = new SerialPort();
			port.PortName = "COM3";
			port.Parity = Parity.None;
			port.DataBits = 8;
			port.BaudRate = 38400;
			port.StopBits = StopBits.One;
			port.DtrEnable = true;
			port.RtsEnable = false;
			Thread readThread = new Thread(Read);
			try
			{
				port.Open();
				readThread.Start();
			}
			catch (Exception)
			{
				Console.WriteLine("Fail: Port open of COM3. Application stops.");
				Environment.Exit(1);
			}
			while (true)
			{
				string line = Console.ReadLine();
				port.Write(line + "\r");
				//port.WriteLine(line);
			}
		}
	}
}





書込みは、ampy

ws2812を光らせて見る。

ピン配置図(ビジュアルイメージ)

PicoをUSB端子が上にくるように置いたときの、具体的なピンの位置です。

      [ USB 端子 ]
    +---------------+
 1  | GP0      VBUS | 40  =======> [ LEDの VCC (5V) へ ]

    |               |
    |               |
 22 | GP17     GND  | 38  =======> [ LEDの GND へ ]
    +---------------+
 ||
 ||
 +=========================> [ LEDの DIN (信号) へ ]

プログラム

ledは7個

import array
import time
import rp2
from machine import Pin
@rp2.asm_pio(sideset_init=rp2.PIO.OUT_LOW, autopull=True, pull_thresh=24, out_shiftdir=rp2.PIO.SHIFT_LEFT)
def ws2812():
   label("loop")
   out(x, 1)
   nop().side(1)
   jmp(not_x, "tugi")
   nop()
   nop()
   nop().side(0)
   label("tugi")
   nop().side(0)
   nop()
   jmp("loop")
sm = rp2.StateMachine(0, ws2812, freq = 5_000_000, sideset_base = Pin(17))
sm.active(1)
def main():
   global sm
   NUM_LEDS = 7
   ar = array.array("I", [0 for _ in range(NUM_LEDS)])
   for i in range(7 * NUM_LEDS):
      for j in range(NUM_LEDS):
         r = j * 100 // (NUM_LEDS - 1)
         b = 100 - j * 100 // (NUM_LEDS - 1)
         if j != i % NUM_LEDS:
            r >>= 3
            b >>= 3
         ar[j] = r << 16 | b
      sm.put(ar, 8)
      time.sleep_ms(90)
   for i in range(24):
      for j in range(NUM_LEDS):
         ar[j] >>= 1
      sm.put(ar, 8)
      time.sleep_ms(10)
main()

作品投稿シート

  • 作品ステータス: 必須
    アイデア/開発中/完成/供養
  • 作品タイトル: 必須
    50文字まで入力できます
  • 作品のURL:
    作品の公式URL、アプリストアのURL、Githubページなどを入力ください
  • 概要: 必須
    SNSなどに共有時に表示されます。100文字以内でわかりやすく伝えましょう。例)流れる音楽のリズムに乗って歩けば、乗りたい電車の時刻にちょうどよく到着できるアプリ。
  • ライセンスの設定注意
    ※2022/5/23からライセンス表記がされました。
    表示する:Creative Commons Attribution CC BY version 4.0 or later (CC BY 4+)
    表示しない
    ▼詳細設定項目
  • 画像:
    5枚まで登録可能。1枚目はメイン画像として採用されます。

add_photo_alternate
ここに画像をドラッグ。またはクリックでファイルを選択。
推奨サイズ:880x495px
画像形式:png、jpg

  • 動画:
    YouTube、もしくはVimeoのURLを入力ください。

例)https://www.youtube.com/watch?=***

  • システム構成:
    どうやって作ったかを画像、Markdown記法やHTMLで解説ください。

icon
ここに画像をドラッグ。またはクリックでファイルを選択。
推奨サイズ:880x495px
システム構成図があると伝わりやすくおすすめです。
画像形式:png、jpg

例)1. 加速度センサで投げられを検知、2.GPSと天気APIにより現在地の予報取得、3.姿勢と光で予報をお知らせ(晴れ,曇り,雨の3種)

  • 開発素材:
    使用するAPI、ツール、デバイスなどを3文字以上入力し、候補から選択ください。

例:Twilio、Unity、Arduino

  • タグ:
    プログラミング技術や作品を表すタグ。5個程度つけることでより多くの人に見てもらいやすくなります。

例:Objective-C、Python、機械学習、寿司、ねこ

  • ストーリー:
    Markdown記法やHTMLで入力できます。 作品の特徴や技術的こだわりなど、作品について伝えたいことをご自由にお書きください。
    そして、最後にチームメンバーで共有している、このプロトタイプにかける、Wow なメッセージをご入力ください。

便利な埋め込み機能を是非ご利用ください。Twitter、You Tube(ショート動画含む)、SlideShare、speakerdeck、CARTO、MakeCode などのURLを入力すると、自動的にコンテンツが表示され、表現がリッチになります。

  • スライドモード:
    改ページは「---」を入力ください。OFFにすると「プレゼンテーションを開始」ボタンが非表示になります。

  • メンバー登録:
    ProtoPediaにアカウントを持つチームメンバーの表示名(orユーザーID)を入力し、候補から選択ください。

  • チーム名を入力:
    user
    ohisamallc @ohisamallc
    役割を3つ入力してください
    face
    メンバーを追加するadd

  • 関連リンク:
    この作品に関係の深いページ(技術ブログ、イベントブログ、受賞記事、関連作品など)あれば入力ください。

例)https://www.○○○.com/○○○
例)https://www.○○○.com/○○○
例)https://www.○○○.com/○○○
例)https://www.○○○.com/○○○
例)https://www.○○○.com/○○○

以上。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?