아두이노

8장 굴절률 측정하기

내동 2016. 2. 29. 09:45

8장 굴절률 측정하기

준비물 아두이노우노 레이저 서보모터 조도센서 브레보드 저항10키로옴 케이불 수조

 

 

CDS

nt value;

int cdsport = A0;

 

void setup(){

pinMode(cdsport, INPUT);

Serial.begin(9600);

}

 

void loop(){

value = analogRead(cdsport);

Serial.print("CDS :");

Serial.println(value);

delay(100);

}

 

 

실험장치프로그램

 

#include <Servo.h>

 

Servo servo1;

int servoport = 13;

float angle = 0;

int cdsport = A0;

int value;

int MINcds = 1024;

float MINangle;

float h = 27.2, w = 59, d = 6.4;

float y1, y2, n;

 

void setup(){

pinMode(cdsport, INPUT);

servo1.attach(servoport);

Serial.begin(9600);

}

 

void loop(){

Serial.println("wait");

for(angle=0;angle<=90;angle+=0.1){

value=analogRead(cdsport);

servo1.write(angle);

delay(10);

if(value<MINcds){

MINangle=angle;

MINcds=value;

}

}

y1 = d*tan(MINangle*PI/180);

y2 = h-y1;

n=sin(MINangle*PI/180)*sqrt(sq(w)+sq(y2))/(y2);

Serial.println();

Serial.print("angle : ");

Serial.println(MINangle);

Serial.print("CDS : ");

Serial.println(MINcds);

Serial.print("n : ");

Serial.println(n);

Serial.println("");

delay(1000);

}

 

  

서보모터

#include <Servo.h>

 

Servo servo1;

int servoport = 13;

int angle = 0;

 

void setup(){

servo1.attach(servoport);

}

void loop(){

 

for(angle = 0; angle <= 90; angle++){

servo1.write(angle);

delay(100);

}

}