がじぇっとるねさす

ホビーとエレクトロニクスを繋げるサイト

ロボット覚醒プロジェクト第一弾
親子で作る!自動で歩く昆虫ロボット


プロジェクト定義

本プロジェクトは、秋葉原にロボット専門店を持つ“ツクモ” と、半導体メーカーの“ルネサスエレクトロニクス”の2社で発足し、 親子向けを中心に、ロボットや電子部品を使ったワークショップやイベントを通して、ものづくり日本の人材育成に貢献するために活動します。

テーマ

「手動→自動」

プロジェクト名のロボット覚醒とは、ロボットを目覚めさせ自律させること。
動かすために人間の手が必要になるロボットを、コンピューターとなる電子部品を組み込んで自動的に動かす。
意図しない動きをするおもちゃから、子供が新しい発見や発想をしたり、改造によって可能性を広げる過程から、 自分のものへのこだわりを深めるなど、ものづくりに必要な気質を養うことが目標です。

video

実施イベント

親子で作る!自動で歩く昆虫ロボット

リモコンで操作するクワガタ/カブト型のロボット(タミヤ製)を覚醒し、自動で障害物を避けながら進むロボットにします。 ワークショップで基本的な改造方法のレクチャーとキットを提供し、その後自由にカスタマイズを行った参加者同士の ロボットで競技大会を実施します。

schedule

イベントへのご参加

以下の各Webサイトからご応募ください。

12月20日(日) 第1回ワークショップ

http://connpass.com/event/23456/


1月17日(日) 第2回ワークショップ

http://connpass.com/event/24458/


2月21日(日) 競技大会

http://connpass.com/event/25555/



ドキュメント

覚醒説明資料

robot_kakusei_rev10.pdf


発表資料 ロボット覚醒編

robot_kakusei.pdf


発表資料 ロボットもっと覚醒編

robot_kaizou.pdf


はじめてのKURUMI(桜色マイコンボードのスタート)

http://japan.renesasrulz.com/gr_user_forum_japanese/b/weblog2/archive/2015/06/10/kurumi.aspx


KURUMIスケッチリファレンス/p>

http://tool-cloud2.renesas.com/Renesas/ref_kurumi/gr_reference_j.html


ワークショップのプログラム


/*
  ロボット覚醒プロジェクト:
  物を避けて進むプログラム
  This program is public domain.
*/
#include <Arduino.h>

#define LED_R 22
#define LED_G 23
#define LED_B 24

void setup() {
  // put your setup code here, to run once:
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(LED_B, OUTPUT);
  digitalWrite(LED_R, HIGH);
  digitalWrite(LED_G, HIGH);
  digitalWrite(LED_B, HIGH);
}

void loop() {
  // put your main code here, to run repeatedly: 
  unsigned int eye_right = analogRead(A0);
  unsigned int eye_left = analogRead(A1);
  
  if (eye_right < 700 && eye_left < 700){ // Both eye see nothing 
    // forward
    digitalWrite(LED_R, HIGH);
    digitalWrite(LED_G, HIGH);
    digitalWrite(LED_B, LOW);
    analogWrite(5, 200);
    analogWrite(3, 0);
    analogWrite(6, 255);
    analogWrite(9, 0);
  } else if (eye_right >= 700 && eye_left < 700) { // Right eye see a thing 
    // turn left
    digitalWrite(LED_R, LOW);
    digitalWrite(LED_G, HIGH);
    digitalWrite(LED_B, HIGH);
    analogWrite(5, 0);
    analogWrite(3, 0);
    analogWrite(6, 255);
    analogWrite(9, 0);    
  } else if (eye_right < 700 && eye_left >= 700) { // Left eye see a thing 
    // turn right
    digitalWrite(LED_R, HIGH);
    digitalWrite(LED_G, LOW);
    digitalWrite(LED_B, HIGH);
    analogWrite(5, 200);
    analogWrite(3, 0);
    analogWrite(6, 0);
    analogWrite(9, 0);    
  } else {
    digitalWrite(LED_R, HIGH);
    digitalWrite(LED_G, HIGH);
    digitalWrite(LED_B, HIGH);
    analogWrite(5, 200);
    analogWrite(3, 0);
    analogWrite(6, 0);
    analogWrite(9, 255);    
  }
  delay(500);
  
}

    

share