/Designs/Spectrograph/SW/colores/colores.pde
27,10 → 27,9
 
int lights[] = {light0, light1};
 
#define LAMP1 13 // Callibration Lamp 1
#define LAMP2 6 // Callibration Lamp 2
//#define LAMP1 13 // Callibration Lamp 1
//#define LAMP2 6 // Callibration Lamp 2
 
int lamps[] = {LAMP1, LAMP2};
 
#define FW1 7 // [PD7 - red] Slit Wheel 1-st from light
#define FW2 8 // [PB0 - yellow] Grism Wheel 2-nd from light
38,8 → 37,8
 
int filters[] = {FW1, FW2, FW3};
 
const int steps = 3500; // change this to fit the number of steps
const int sspeed = 10; // max. 15 // stepper motor speed
const int STEPS = 3500; // change this to fit the number of steps
const int SSPEED = 8000; // max. 15 // stepper motor speed
 
// initialize the stepper library on pins
#define M1 9
46,22 → 45,99
#define M2 10
#define M3 11
#define M4 12
Stepper myStepper(steps, M1,M2,M3,M4);
Stepper myStepper(200, M1,M2,M3,M4);
 
// DS18S20 Temperature chip
OneWire ds(5); // 1-Wire pin
byte addr[2][8]; // 2x 1-Wire Address
 
char deleni16[16]={'0','1','1','2','3','3','4','4','5','6','6','7','7','8','9','9'};
 
char serInString[100];
int serInIndx = 0;
int in1, in2;
 
void motor (int arg)
void motor (word arg)
{
word n;
word s=SSPEED;
/*
for(n=0;n<2500000/SSPEED;n++)
{
digitalWrite(M1, LOW);
digitalWrite(M2, HIGH);
digitalWrite(M1, LOW);
digitalWrite(M2, HIGH);
delayMicroseconds(SSPEED);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
delayMicroseconds(SSPEED);
}
*/
 
if(arg==-1)
{
for(n=0;n<STEPS/4;n++)
{
digitalWrite(M1, LOW);
digitalWrite(M2, HIGH);
// digitalWrite(M3, LOW);
// digitalWrite(M4, HIGH);
delayMicroseconds(s);
// digitalWrite(M1, LOW);
// digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, LOW);
delayMicroseconds(s);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
// digitalWrite(M3, HIGH);
// digitalWrite(M4, LOW);
delayMicroseconds(s);
// digitalWrite(M1, HIGH);
// digitalWrite(M2, LOW);
digitalWrite(M3, LOW);
digitalWrite(M4, HIGH);
delayMicroseconds(s);
if(s>1500)s-=16;
}
}
else
{
for(n=0;n<STEPS/4;n++)
{
// digitalWrite(M1, HIGH);
// digitalWrite(M2, LOW);
digitalWrite(M3, LOW);
digitalWrite(M4, HIGH);
delayMicroseconds(s);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
// digitalWrite(M3, HIGH);
// digitalWrite(M4, LOW);
delayMicroseconds(s);
// digitalWrite(M1, LOW);
// digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, LOW);
delayMicroseconds(s);
digitalWrite(M1, LOW);
digitalWrite(M2, HIGH);
// digitalWrite(M3, LOW);
// digitalWrite(M4, HIGH);
delayMicroseconds(s);
if(s>1500)s-=16;
}
}
/*
myStepper.setSpeed(1);
myStepper.step(arg * 10);
myStepper.setSpeed(sspeed);
myStepper.step(arg * steps);
*/
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
digitalWrite(M3, LOW);
157,7 → 233,8
pinMode(FW3, OUTPUT);
 
pinMode(6, OUTPUT);
analogWrite(6, 250);
//analogWrite(6, 254);
digitalWrite(6, HIGH);
// initialize the serial port:
Serial.begin(9600);
186,6 → 263,7
 
void telemetrie ()
{
int t;
Serial.print ("FW1=");
Serial.print (digitalRead (filters[0]) ? '1' : '0');
Serial.print (",FW2=");
193,13 → 271,15
Serial.print (",FW3=");
Serial.print (digitalRead (filters[2]) ? '1' : '0');
Serial.print (",T1=");
Serial.print (temperature (0) >> 4);
t=temperature(0);
Serial.print (t >> 4);
Serial.print (".");
Serial.print (temperature (0) % 16);
Serial.print (deleni16[t & 0xf]);
Serial.print (",T2=");
Serial.print (temperature (1) >> 4);
t=temperature(1);
Serial.print (t >> 4);
Serial.print (".");
Serial.print (temperature (1) % 16);
Serial.print (deleni16[t & 0xf]);
Serial.print (",L1=");
Serial.print (light (0));
Serial.print (",L2=");
237,6 → 317,16
case 'M':
motor (1); // vysunuto
break;
 
case 'x':
myStepper.setSpeed(100);
myStepper.step(3000);
break;
case 'y':
myStepper.setSpeed(10.0);
myStepper.step(-3000);
break;
 
case 'A':
digitalWrite(FW1, HIGH);
break;