LoginSignup
0
0

More than 5 years have passed since last update.

TOPPERSコンテスト受賞作品紹介(16)第六回(2016)アプリケーション開発部門フリークラス 銀賞 Sessalet(せされっと)

Last updated at Posted at 2018-06-24

TOPPERS「活用アイデア」・「アプリケーション開発」コンテスト
は、2011年から毎年実施されています。
https://www.toppers.jp/contest.html

「アプケーション開発」は、ソースコードの公開を前提としています。
「活用アイデア」でも、その後実現したソースコードなどもある。探しながら紹介。

なお、この記事は、TOPPERSプロジェクトの公式見解ではなく、
小川清 の 技術者個人の考えに基づいています。

目的(purpose)

TOPPERS開発アイデア・アプリケーション開発コンテスト受賞作品には、良質な算譜、技術的に崇高な志向、目的を達成するための意思などが感じられる。広く、source codeを表示して紹介し、次の応募作品を促す。

成果(outcome)

応募作品の算譜を眺めると、その技術者の得意分野や技法を感じることができる。応募作品のソースコードを使ってみようという気になる。ソースコードを一度コンパイルしたくなる。自分も良い作品を作ろうという気になる。

TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介(16)第六回(2016)フリークラス 銀賞

Sessalet(せされっと)山根ゆりえ(株式会社 達人出版会),渡辺のぼる(合同会社 ワタナベ技研),島敏博(セイコーエプソン株式会社)

応募資料(application material)等

コンテスト応募資料
https://www.toppers.jp/docs/contest/2016/Sessalet(せされっと).pdf

Download

ソースコード
https://www.toppers.jp/docs/contest/2016/src_sessalet.zip

関連資料(related URL)

算譜(source code)

control.c
// EV3操作用の関数
#include "ev3api.h"
#include "syssvc/serial.h"
#include "app.h"
//#include "control.h"

// Debug Message on LCD
void lcd_new_message(const char* msg) {
    ev3_lcd_fill_rect(0, 0, EV3_LCD_WIDTH, EV3_LCD_HEIGHT, EV3_LCD_WHITE);
    ev3_lcd_draw_string(msg, 10, EV3_LCD_HEIGHT / 2);
}

// フタを開ける(モータ-ID, フタを開けるために必要なモータの回転角度, フタを開けるスピード)
void openCover(void) {
    ev3_motor_rotate(cover_motor, COVER_OPEN_DEGREE, COVER_OPEN_SPEED, false);
}

// フタを閉じる
void closeCover(void) {
    ev3_motor_rotate(cover_motor, COVER_CLOSE_DEGREE, COVER_CLOSE_SPEED, false);
}

// ノズルを出す
void putOutNozzle(void) {
    ev3_motor_rotate(nozzle_motor, NOZZLE_DEGREE, NOZZLE_SPEED, true);
}

// ノズルをしまう
void putAwayNozzle(void) {
    ev3_motor_rotate(nozzle_motor, NOZZLE_OFF_DEGREE, NOZZLE_SPEED, true);
}

// ウォシュレットの水を出す
void openSplay(void) {
    ev3_motor_set_power(splay_motor, 50);
}

// ウォシュレットの水を止める
void closeSplay(void) {
    ev3_motor_set_power(splay_motor, 0);
}

// 洗浄水を流す(ブザー音で代替)
void openFlash(void) {
    ev3_speaker_play_tone(FLASH_SOUND, SOUND_MANUAL_STOP);
}

// 洗浄水を止める
void closeFlash(void) {
    ev3_speaker_stop();
}

// 着座判定
int chkSeated(const int reflect_min, const int reflect_max) {
    int reflect = ev3_color_sensor_get_reflect(seated_sensor);
    static char msg[100];
    sprintf(msg, "reflect: %d\r\n", reflect);
    (void)serial_wri_dat(SIO_PORT_BT, msg, sizeof(msg));
    if (reflect_min < reflect && reflect < reflect_max) {
        return 0;
    } else {
        return 1;
    }
}

参考資料(reference)

「TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介」まとめ
https://qiita.com/kaizen_nagoya/items/72b882d96b2841f25faf

TOPPERS活用アイデア・アプリケーション開発コンテストを振り返る
https://researchmap.jp/joxkbxlck-1778110/
「応募すると何が嬉しい」TOPPERS活用アイデア・ アプリケーション開発コンテスト
https://www.slideshare.net/kaizenjapan/ss-78528931

「TOPPERS活用アイデア・アプリケーション開発コンテスト」への道

文書履歴(document history)

ver. 0.10 初稿 20180624

0
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
0
0