Bygga Laser säkerhetssystem med atmega8 (arduino) (6 / 6 steg)
Steg 6: Koden
int sensorPin = A0;
int potensioPin = A1;
int ledPin = 13.
int sensorValue = 0;
int potensioValue = 0;
int laserPin = 12;
void setup() {
Serial.BEGIN(9600);
pinMode (ledPin, produktionen);
pinMode (2, utgång);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (laserPin, produktionen);
}
void loop() {
digitalWrite (laserPin, hög);
sensorValue = analogRead(sensorPin);
potensioValue = analogRead(potensioPin);
sensorValue = karta (sensorValue, 0, 1023, 0, 100);
potensioValue = karta (potensioValue, 0, 1023, 0, 100);
Serial.println(potensioValue); om (sensorValue < 99) {
digitalWrite 5, hög,
digitalWrite (6, hög).
digitalWrite (7, hög).
digitalWrite 8, hög.
digitalWrite (9, hög).
digitalWrite 10, hög.
digitalWrite (11, hög).
för (int jag = 0; jag < = potensioValue; i ++) {
digitalWrite (ledPin, hög);
Delay(100);
digitalWrite (ledPin, låg);
Delay(100);
Buzz (7, 2500, 200);
Buzz (9, 2500, 200);
IF(i == potensioValue)
{
Buzz (2, 2500, 100 * potensioValue);
Buzz (9, 2500, 100 * potensioValue);
digitalWrite (5, låg).
digitalWrite (6, låg).
digitalWrite (7, låg).
digitalWrite 8, låg.
digitalWrite (9, låg).
digitalWrite (10, låg).
digitalWrite (11, låg).
}
}
}
}
{Ogiltig buzz (int targetPin, lång frekvens, lång längd)
lång delayValue = 1000000/frekvens/2;
lång numCycles = frekvens * längd / 1000;
för (länge jag = 0; jag < numCycles; i ++) {
digitalWrite(targetPin,HIGH);
delayMicroseconds(delayValue);
digitalWrite(targetPin,LOW);
delayMicroseconds(delayValue);
}
}
Tack vare Läs hoppas detta instructables och jag detta användbara...