mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino VU Meter Problem Fehler Programm


Autor: Boss4538 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Mikrocontroller Gemeinde,

bin gerade neu hier auf der Seite gelandet durch eine Empfehlung von 
einem Freund. Habe auf YouTube ein Video Tutorial entdeckt wie man sich 
mit einem Arduino ein VU-Meter bauen kann 
(Youtube-Video "1 Arduino VU Meter Tutorial"). Vorab ich bin erst 
Einsteiger was Programmieren betrifft und das hier ist mein Erstes 
Projekt mit einem Arduino.
Beim Hochladen des bereits vorgefertigten Programmcodes auf den Arduino 
wird eine Fehlermeldung angezeigt. Kann damit nicht viel anfangen wäre 
nett wenn jemand mir verraten könnte was ich tun muss um es zum laufen 
zu bekommen.



Hier der Programmcode:

int led[10] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; // Assign the pins for 
the leds
int leftChannel = 0;  // left channel input
int left, i;

void setup()
{
for (i = 0; i < 10; i++)  // Tell the arduino that the leds are digital 
outputs
  pinMode(led, OUTPUT);
//  Serial.begin(9600); // Uncomment to enable troubleshooting over 
serial.
}

void loop()
{
left = analogRead(leftChannel);  // read the left channel
// Serial.println(left);  // uncomment to check the raw input.
left = left / 50;    // adjusts the sensitivity
//  Serial.println(left);  // uncomment to check the modified input.
// left = 1500;  // uncomment to test all leds light.
// left = 0;    // uncomment to check the leds are not lit when the 
input is 0.

  if (left == 0)  // if the volume is 0 then turn off all leds
   {
   for(i = 0; i < 10; i++)
     {
     digitalWrite(led, LOW);
     }
  }

  else
  {
   for (i = 0; i < left; i++) // turn on the leds up to the volume level
    {
     digitalWrite(led, HIGH);
    }

    for(i = i; i < 10; i++)  // turn off the leds above the voltage 
level
     {
      digitalWrite(led, LOW);
     }
  }
}




Fehlermeldung:
Arduino: 1.6.7 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, 
ATmega2560 (Mega 2560)"

D:\Eigene Dateien\User\Desktop\sketch_sep04a\sketch_sep04a.ino: In 
function 'void setup()':

sketch_sep04a:8: error: invalid conversion from 'int*' to 'uint8_t {aka 
unsigned char}' [-fpermissive]

   pinMode(led, OUTPUT);

                      ^

In file included from sketch\sketch_sep04a.ino.cpp:1:0:

C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:125:6: error: 
initializing argument 1 of 'void pinMode(uint8_t, uint8_t)' 
[-fpermissive]

 void pinMode(uint8_t, uint8_t);

      ^

D:\Eigene Dateien\User\Desktop\sketch_sep04a\sketch_sep04a.ino: In 
function 'void loop()':

sketch_sep04a:25: error: invalid conversion from 'int*' to 'uint8_t {aka 
unsigned char}' [-fpermissive]

      digitalWrite(led, LOW);

                           ^

In file included from sketch\sketch_sep04a.ino.cpp:1:0:

C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: error: 
initializing argument 1 of 'void digitalWrite(uint8_t, uint8_t)' 
[-fpermissive]

 void digitalWrite(uint8_t, uint8_t);

      ^

sketch_sep04a:33: error: invalid conversion from 'int*' to 'uint8_t {aka 
unsigned char}' [-fpermissive]

      digitalWrite(led, HIGH);

                            ^

In file included from sketch\sketch_sep04a.ino.cpp:1:0:

C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: error: 
initializing argument 1 of 'void digitalWrite(uint8_t, uint8_t)' 
[-fpermissive]

 void digitalWrite(uint8_t, uint8_t);

      ^

sketch_sep04a:38: error: invalid conversion from 'int*' to 'uint8_t {aka 
unsigned char}' [-fpermissive]

       digitalWrite(led, LOW);

                            ^

In file included from sketch\sketch_sep04a.ino.cpp:1:0:

C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: error: 
initializing argument 1 of 'void digitalWrite(uint8_t, uint8_t)' 
[-fpermissive]

 void digitalWrite(uint8_t, uint8_t);

      ^

exit status 1
invalid conversion from 'int*' to 'uint8_t {aka unsigned char}' 
[-fpermissive]

Ungültige Bibliothek D:\Eigene 
Dateien\User\Documents\Arduino\libraries\keypad_lcd in D:\Eigene 
Dateien\User\Documents\Arduino\libraries\keypad_lcd gefunden
Ungültige Bibliothek D:\Eigene 
Dateien\User\Documents\Arduino\libraries\LCD1602for_023 in D:\Eigene 
Dateien\User\Documents\Arduino\libraries\LCD1602for_023 gefunden
Ungültige Bibliothek D:\Eigene 
Dateien\User\Documents\Arduino\libraries\keypad_lcd in D:\Eigene 
Dateien\User\Documents\Arduino\libraries\keypad_lcd gefunden
Ungültige Bibliothek D:\Eigene 
Dateien\User\Documents\Arduino\libraries\LCD1602for_023 in D:\Eigene 
Dateien\User\Documents\Arduino\libraries\LCD1602for_023 gefunden

  Dieser Report hätte mehr Informationen mit
  "Ausführliche Ausgabe während der Kompilierung"
  aktiviert in Datei > Einstellungen.

Autor: Boss4538 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
int led[10] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; // Assign the pins for the leds
int leftChannel = 0;  // left channel input
int left, i;

void setup()
{
for (i = 0; i < 10; i++)  // Tell the arduino that the leds are digital outputs
  pinMode(led, OUTPUT);
//  Serial.begin(9600); // Uncomment to enable troubleshooting over serial.
}

void loop()
{
left = analogRead(leftChannel);  // read the left channel
// Serial.println(left);  // uncomment to check the raw input.
left = left / 50;    // adjusts the sensitivity  
//  Serial.println(left);  // uncomment to check the modified input.
// left = 1500;  // uncomment to test all leds light.
// left = 0;    // uncomment to check the leds are not lit when the input is 0.

  if (left == 0)  // if the volume is 0 then turn off all leds
   {
   for(i = 0; i < 10; i++)
     {
     digitalWrite(led, LOW);
     }
  }
  
  else
  {
   for (i = 0; i < left; i++) // turn on the leds up to the volume level
    {
     digitalWrite(led, HIGH);
    }
    
    for(i = i; i < 10; i++)  // turn off the leds above the voltage level
     {
      digitalWrite(led, LOW);
     }
  }
}


Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

for (i = 0; i < 10; i++)  
  pinMode(led[i], OUTPUT);
              ^
             

Wobei das die schlimmste Portzuweisung ist, die ich je gesehen habe :-D 
Arduino halt, kannst du nix für.

AAAAber:

hier gibt es Formatierungen im Forum, das man Code auch in Code packen 
kann. Bzw. längere Geschichten als .c Datei anhängen. Sonst ist das ein 
Graus das zu lesen.

btw.: Willkommen.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe gerade, das du bei jedem "led" die Arrayposition vergessen 
hast. Da muss überall das [n] dahinter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.