Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Lyd script stjålet fra http://forum.arduino.cc/index.php/topic,51043.0.html
- LCD script stjålet fra http://www.geeetech.com/wiki/index.php/Serial_I2C_1602_16%C3%972_Character_LCD_Module
- Pin usage:
- Analog
- 0 delayPin, 10k pot
- 1 lightsenPin, LDR sensor
- 2 lightsenpotPin, 10k pot
- 3 NC
- 4 SDA on LCD
- 5 SCL on LCD
- Digital
- 0 modeselectorPin, select between audio og light trigger, 0=Light, 1=Audio
- 1 laserPin
- 2 meetPin, checking audio
- 3
- 4
- 5
- 6
- 7 flashPin, triggering flash
- 8
- 9
- 10
- 11
- 12
- 13 LED pin
- */
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
- const int modeselectorPin = 0;
- const int laserPin = 1;
- const int ledPin = 13;
- const int meetPin = 2;
- const int flashPin = 7;
- int delayPin = 0; // Sat til midter ben på 10K potmeter, juster delay fra hændelse til shot.
- int delayVal = 0; // Standard værdi på delay indtil justeret.
- int lightsenPin = 1; // LRD der måler laserlys
- int lightsenpotPin = 2; // Sat til midter ben på 10K potmeter, juster lysfølsomheden
- int meet = LOW; // Sæt trigger output til lav
- void setup() {
- pinMode(ledPin, OUTPUT);
- pinMode(laserPin, OUTPUT);
- digitalWrite(flashPin, LOW);
- digitalWrite(laserPin, LOW);
- digitalWrite(meetPin, HIGH);
- digitalWrite(ledPin, LOW);
- lcd.init(); // initialize the lcd
- lcd.backlight(); // Tænd backlight
- lcd.print("Hejsa verden"); // Send en opstarts besked til LCD
- }
- void loop()
- {
- delayVal = analogRead(delayPin);
- lcd.print(delayVal);
- if(digitalRead(modeselectorPin) == 0){ // Tjek om vi vil bruge lyd eller lys
- digitalWrite(laserPin, HIGH); // Tænd for laseren
- // Light trigger start
- if(analogRead(lightsenPin) < analogRead(lightsenpotPin)){
- delay(delayVal); // Forsinkelse fra lys til flash skud
- digitalWrite(flashPin, HIGH); // flash skyder
- delayMicroseconds (20); // vent på at flash er skudt
- digitalWrite(flashPin, LOW); // Sluk flash
- digitalWrite(ledPin, HIGH); // Tænd LED for at indikerer flash opladning
- delay(4000); // Hvile tid, så der ikke kommer flere flash
- digitalWrite(ledPin, LOW);
- }
- // Light trigger slut
- }else{ // Det ser ud til at vi valgte lyd
- // Sound trigger start
- meet = digitalRead(meetPin); // Tjekker om lyd pin er lav
- if (meet == LOW){ // Hvis lyd pin er lav, så kør skidtet
- delay(delayVal); // Forsinkelse fra lyd til flash skud
- digitalWrite(flashPin, HIGH); // flash skyder
- delayMicroseconds (20); // vent på at flash er skudt
- digitalWrite(flashPin, LOW); // Sluk flash
- digitalWrite(ledPin, HIGH); // Tænd LED for at indikerer flash opladning
- delay(4000); // Hvile tid, så der ikke kommer flere flash
- digitalWrite(ledPin, LOW);
- }
- // Sound trigger slut
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment