Помогите переделать код под attiny 2313

mkvmaks
Offline
Зарегистрирован: 07.07.2013

Всем привет. Собрал готове устройство на arduino uno v3 + PIR датчик + TIP120 (транзисторы). Хочу все это дело перенести на attiny 2313 Помогите с кодом - может уже кто-то делал такое??? 

/*  
    Arduino with PIR motion sensor
    For complete project details, visit: http://RandomNerdTutorials.com/pirsensor
    Modified by Rui Santos based on PIR sensor by Limor Fried


http://allaboutee.com/2011/05/16/arduino-tutorial-rgb-led/
http://randomnerdtutorials.com/arduino-with-pir-motion-sensor/
*/
 
//int led = 13;                // the pin that the LED is atteched to
int sensor = 2;              // the pin that the sensor is atteched to
int state = LOW;             // by default, no motion detected
int val = 0;                 // variable to store the sensor status (value)

#define REDPIN 5
#define GREENPIN 6
#define BLUEPIN 3
  
#define FADESPEED 5     // чем выше число, тем медленнее будет fade-эффект



void setup() {
  pinMode(REDPIN, OUTPUT);
  pinMode(GREENPIN, OUTPUT);
  pinMode(BLUEPIN, OUTPUT);
  //pinMode(led, OUTPUT);      // initalize LED as an output
  pinMode(sensor, INPUT);    // initialize sensor as an input
  Serial.begin(9600);        // initialize serial
}

void loop(){
  int r, g, b;
  val = digitalRead(sensor);   // read sensor value
  if (val == HIGH) {   
  for (r = 0; r < 256; r++) {
    analogWrite(REDPIN, r);
    delay(FADESPEED);
  }   
 
  for (b = 255; b > 0; b--) {
  analogWrite(BLUEPIN, b);
  delay(FADESPEED);
  }
 for (g = 0; g < 256; g++) {
    analogWrite(GREENPIN, g);
    delay(FADESPEED);
  }
  // fade от желтого к зеленому
  for (r = 255; r > 0; r--) {
    analogWrite(REDPIN, r);
    delay(FADESPEED);
  }
  // fade от зеленого к зеленовато-голубому
  for (b = 0; b < 256; b++) {
    analogWrite(BLUEPIN, b);
    delay(FADESPEED);
  }
  // fade от зеленовато-голубого к голубому
  for (g = 255; g > 0; g--) {
    analogWrite(GREENPIN, g);
    delay(FADESPEED);
  } 
    // check if the sensor is HIGH
   // digitalWrite(led, HIGH);   // turn LED ON
  //  delay(100);                // delay 100 milliseconds 
    
    if (state == LOW) {
      Serial.println("Motion detected!"); 
      state = HIGH;       // update variable state to HIGH
    }
  } 
  else {
    analogWrite(GREENPIN, LOW);
    analogWrite(BLUEPIN, LOW);
    analogWrite(REDPIN,LOW);    
//      digitalWrite(led, LOW); // turn LED OFF
      delay(400);             // delay 200 milliseconds 
      
      if (state == HIGH){
        Serial.println("Motion stopped!");
        state = LOW;       // update variable state to LOW
    }
  }
}

 

bwn
Offline
Зарегистрирован: 25.08.2014

А непроще в ATMEGу 8 это залить?

mkvmaks
Offline
Зарегистрирован: 07.07.2013

Ее к сожалению нету  в наличии (((