Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <timer.h>
- #include <Keyboard.h>
- auto timer = timer_create_default();
- int ledPin = 13;
- int ledr = 3;
- int leda = 6, ledb = 9, ledc = 10, ledd = 11;
- int buzz = 5;
- const int button = 12 ;
- int bstate = 0, bstate2;
- int aR = A1, aL = A0;
- int dR = 0, dL = 0;
- int mode = 0;
- int btone = 0;
- void setup() {
- // put your setup code here, to run once:
- pinMode(ledPin, OUTPUT); pinMode(ledr, OUTPUT); pinMode(leda, OUTPUT); pinMode(ledb, OUTPUT); pinMode(ledc, OUTPUT); pinMode(ledd, OUTPUT);
- pinMode(buzz, OUTPUT); pinMode(button, INPUT_PULLUP);
- pinMode(aR, INPUT); pinMode(aL, INPUT);
- if (Serial) {
- tone(buzz, 300); delay(100); noTone(buzz); delay(300); tone(buzz, 1000); delay(300); noTone(buzz); tone(buzz, 1000); delay(300); noTone(buzz); tone(buzz, 1000); delay(300); noTone(buzz);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(leda, HIGH); delay(100); digitalWrite(ledb, HIGH); delay(100); digitalWrite(ledc, HIGH); delay(100); digitalWrite(ledd, HIGH); delay(100);
- digitalWrite(ledd, LOW); delay(100); digitalWrite(ledc, LOW); delay(100); digitalWrite(ledb, LOW); delay(100); digitalWrite(leda, LOW);
- }
- digitalWrite(ledr, HIGH);
- Serial.begin(9600);
- }
- void loop() {
- bstate2 = digitalRead(button);
- bstate = bstate2;
- buttonmode();
- //=======================================================================================================================================================
- dR = analogRead(aR) * 2;
- dL = analogRead(aL) * 2;
- handleSerial();
- if (mode == 1) {
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(1000);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(1000);
- digitalWrite(leda, HIGH); delay(100); digitalWrite(ledb, HIGH); delay(100); digitalWrite(ledc, HIGH); delay(100); digitalWrite(ledd, HIGH); delay(100);
- digitalWrite(ledd, LOW); delay(100); digitalWrite(ledc, LOW); delay(100); digitalWrite(ledb, LOW); delay(100); digitalWrite(leda, LOW); delay(100);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(leda, HIGH); delay(100); digitalWrite(ledb, HIGH); delay(100); digitalWrite(ledc, HIGH); delay(100); digitalWrite(ledd, HIGH); delay(100);
- digitalWrite(ledd, LOW); delay(100); digitalWrite(ledc, LOW); delay(100); digitalWrite(ledb, LOW); delay(100); digitalWrite(leda, LOW); delay(100);
- digitalWrite(ledr, LOW), digitalWrite(ledPin, LOW), delay(100);
- digitalWrite(ledr, HIGH), digitalWrite(ledPin, HIGH), delay(100);
- digitalWrite(leda, HIGH); delay(100); digitalWrite(ledb, HIGH); delay(100); digitalWrite(ledc, HIGH); delay(100); digitalWrite(ledd, HIGH); delay(100);
- digitalWrite(ledd, LOW); delay(100); digitalWrite(ledc, LOW); delay(100); digitalWrite(ledb, LOW); delay(100); digitalWrite(leda, LOW); delay(100);
- }
- if (mode == 2) {
- beat();
- vum();
- }
- }
- void buttonmode()
- {
- if (bstate == LOW)
- {
- if (mode == 0)
- {
- mode++;
- }
- if (mode == 1)
- {
- mode++;
- }
- if (mode == 2)
- {
- mode = 0;
- }
- btone = 1;
- Serial.print("mode = "); Serial.println(mode);
- }
- else
- {
- if (btone == 1)
- {
- if (mode == 0)
- {
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- }
- if (mode == 1)
- {
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- }
- if (mode == 2)
- {
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- tone(buzz, 1000);
- delay(200);
- noTone(buzz);
- }
- btone = 0;
- }
- }
- }
- void beat()
- {
- Serial.print("Right = "), Serial.println(dR);
- Serial.print("Left = "), Serial.println(dL);
- Serial.println(" ");
- int SR = map(dR, 0, 426, 0, 255);
- int SL = map(dL, 0, 426, 0, 255);
- if (SR == 0)
- {
- digitalWrite(ledr, HIGH);
- digitalWrite(ledr, HIGH);
- }
- else
- {
- analogWrite(ledr, SR);
- }
- }
- void vum()
- {
- int SR = map(dR, 0, 426, 0, 255);
- if (SR == 0)
- {
- analogWrite(leda, 0);
- analogWrite(ledb, 0);
- analogWrite(ledc, 0);
- analogWrite(ledd, 0);
- }
- else
- {
- analogWrite(leda, SR); delay(10);
- analogWrite(ledb, SR); delay(10);
- analogWrite(ledc, SR); delay(10);
- analogWrite(ledd, SR); delay(10);
- }
- }
- void handleSerial()
- {
- while (Serial.available() > 0)
- {
- char incomingCharacter = Serial.read();
- switch (incomingCharacter)
- {
- case 'm':
- case 'M':
- {
- if (mode == 1 | mode == 0)
- {
- Serial.println("Audio Reactive Mode");
- mode = 2;
- }
- else
- {
- Serial.println("Kamu masih dalam 'Audio Reactive Mode'");
- }
- break;
- }
- case 'i':
- case 'I':
- {
- if (mode == 2 | mode == 0)
- {
- Serial.println("Idle Mode");
- mode = 1;
- }
- else
- {
- Serial.println("Kamu masih dalam 'Idle Mode'");
- }
- break;
- default:
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement