Arduino LEONARDO

47 views
Skip to first unread message

funk...@gmail.com

unread,
Jun 20, 2013, 10:08:10 AM6/20/13
to tag...@googlegroups.com
HI, don`t use the Leonardo. It works only with "Serial1" on Pin 0 and Pin1, as TTL Serial :-(, so U Need TTL to rs232 converter and an USB to RS232 Dongle.
 
expensive, and better to buy a duemila or uno
 
Here is the modified sketch for LEONARDO, and only for this, due his architechture, for them they have one, or bought the wrong one ;-) like me!!!
 
/* Tagtool - Arduino 2 Nodekit V02 */
int pinS1 = 0;
int pinS2 = 1; 
int pinS3 = 2; 
int pinS4 = 3; 
int pinS5 = 4;    
int pinS6 = 5;    
static const int avgCount = 6;
int valS1, valS2, valS3, valS4, valS5, valS6 = 0;   
int arr1[avgCount];
int arr2[avgCount];
int arr3[avgCount];
int arr4[avgCount];
int arr5[avgCount];
int arr6[avgCount];
int pinButton = 7;
int valButton = 0;
int i;
int index = 0;
/**
 * Average the values in the averaging arrays
 */
void avg()
{
  valS1 = valS2 = valS3 = valS4 = valS5 = valS6 = 0;
 
  for(i = 0; i < avgCount; i++)
  {
    valS1 += arr1[i];
    valS2 += arr2[i];
    valS3 += arr3[i];
    valS4 += arr4[i];
    valS5 += arr5[i];
    valS6 += arr6[i];
  }
 
  valS1 /= avgCount;
  valS2 /= avgCount;
  valS3 /= avgCount;
  valS4 /= avgCount;
  valS5 /= avgCount;
  valS6 /= avgCount;
}
void setup() {
  // reset averageArrays
  for (i = 0; i < avgCount; i++)
  {
    arr1[i] = 0;
    arr2[i] = 0;
    arr3[i] = 0;
    arr4[i] = 0;
    arr5[i] = 0;
    arr6[i] = 0;
  }
  index = 0;
   // start serial port at 9600 bps:
  Serial1.begin(9600);
  while (!Serial1) ;
}
void loop() {
    // if we get a valid byte, read analog ins:
   byte request;
   //Serial.print(10);
   if (Serial1.available() > 0) {
     request = Serial1.read();
     if(request == 'A')
     {
       valButton = digitalRead(pinButton);  // read input value from the Pushbutton
   
   
       // out actual values into the averaging arrays
       arr1[index] = analogRead(pinS1);
       arr2[index] = analogRead(pinS2);
       arr3[index] = analogRead(pinS3);
       arr4[index] = analogRead(pinS4);
       arr5[index] = analogRead(pinS5);
       arr6[index] = analogRead(pinS6);
   
       // increment index -> if index exceeds array sizes reset to zero
       index++;
       if (index >= avgCount)
       {
         index = 0;
       }
    
       // calculate average values
       avg();
   
       delay(10);
   
       // Slider 1
       Serial1.write(valS1 / 4);     
    
       // Slider 2
       Serial1.write(valS2 / 4);     
    
       // Slider 3
       Serial1.write(valS3 / 4);     
    
      // Slider 4
      Serial1.write(valS4 / 4);     
   
      // Slider 5
      Serial1.write(valS5 / 4);     
   
      // Slider 6
      Serial1.write(valS6 / 4);     
   
      // Pushbutton
      Serial1.write(valButton * 255);   
    }
    else if(request == 'N')
    {
      Serial1.print("Tagtool.Controller");
    }
  }
}
Reply all
Reply to author
Forward
0 new messages