Arduino Board

Gast #4627653
Lesenswert?

Anfänger schrieb:
> über einen Programmer an meinem PC und am Netzteil, so
> leuchtet die POWER (PWR) Led anstatt blau rot.

Ach so .....

Stellt sich die Frage ob die LED auf dem Arduino Nano Board
gemeint ist oder die auf dem Programmer. Da wir deine Board(s)
nicht kennen können wir das nur riechen und das wird schwierig.
Gast #4627833
Lesenswert?

> Stellt sich die Frage ob die LED auf dem Arduino Nano Board
> gemeint ist oder die auf dem Programmer. Da wir deine Board(s)
> nicht kennen können wir das nur riechen und das wird schwierig.

ich meine die Led auf dem Adruino Board und nicht auf dem Programmer.

Ich habe versucht die LED,die am Pin 5(Port P) angeschlossen ist, 
blinken zu lassen. Das Program sieht wie folgt aus:


#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
int main(void)
{
DDRB=0b00100000;

while (1)
{
PORTB|=(1<<PB5);
_delay_ms(500);
PORTB&=~(0<<PB5);
_delay_ms(500);
}
return 0;
}


Wenn ich den Arduino Board nur an dem Netzteil (Spannung 7 V) schließe, 
dann blinkt die Led. Wenn ich zudem den Board über den Programmer an 
meinem PC anschließe und das Programm laufen lasse, dann blinkt die Led 
weiter (ich sehe keinen Unterschied). Somit weiss ich nicht ob mein 
Programm überhaupt läuft..
Gast #4627838
Lesenswert?

Natürlich siehst du keinen Unterschied, weil das Programm in beiden 
Fällen läuft und tut, was es soll.

> Somit weiss ich nicht ob mein Programm überhaupt läuft..

Wenn es nicht laufen würde, würde die LED nicht blinken. Wenn du z.B. 
den Reset Taster drückst und festhälst, wird die LED aufhören, zu 
blinken.

Die LED's auf dem Arduino Nano Board sind einfarbig - kann man dem 
Schaltplan entnehmen. Wenn deine rot leuchten, dann hat der Hersteller 
dort eben rote LED's eingebaut. Bei den niedrigen Preisen musst du 
solche Abweichungen gegenüber dem Original hinnehmen.
Gast #4627853
Lesenswert?

Hallo,

dies ist unsauber
1
DDRB=0b00100000;

und hier ist noch ein Fehler
1
while (1) {
2
  PORTB|=(1<<PB5);
3
  _delay_ms(500);
4
  PORTB&=~(0<<PB5); // <==
5
  _delay_ms(500);


Da musst Du dir noch das Bit-Setzen und -Löschen ansehen.
Gast #4627877
Lesenswert?

Karl M. schrieb:
> Hallo,
>
> dies ist unsauberDDRB=0b00100000;
> und hier ist noch ein Fehlerwhile (1) {
>   PORTB|=(1<<PB5);
=======>>>   PORTB|=(1<<5);    //??
>   _delay_ms(500);
>   PORTB&=~(0<<PB5);
=======>>>   PORTB&=~(0<<5);  //??
>   _delay_ms(500);
>
> Da musst Du dir noch das Bit-Setzen und -Löschen ansehen.
Gast #4627880
Lesenswert?

Anfänger schrieb:
> Wenn ich den Arduino Board nur an dem Netzteil (Spannung 7 V) schließe,
> dann blinkt die Led. Wenn ich zudem den Board über den Programmer an
> meinem PC anschließe und das Programm laufen lasse, dann blinkt die Led
> weiter (ich sehe keinen Unterschied). Somit weiss ich nicht ob mein
> Programm überhaupt läuft..

Damit das Progamm"laufen" kann muss es erst am PC compiliert und dann 
auf den Arduino übertragen werden. Das hast Du ja bereits gemacht. Da 
sich das Programm nun auf dem Arduino befindet, wird er es immer 
ausführen, wenn Du ihn mit Strom versorgst. Du brauchst ja nur mal die 
Zeiten zu ändern, das Programm neu zu compilieren und zu übertragen und 
dann blinkt die LED anders. Auch wenn der Arduino nur mit dem Netzteil 
verbunden ist und nicht mit dem PC.

Das ist Sinn und Zweck eines Mikrocontrollers.
Gast #4627909
Lesenswert?

Hallo Anfänger,

wie schon geschrieben, fehlen Dir Grundlagen. Alle haben mal angefangen 
und diese kann man noch lernen.
Fehler ist, das Bit PB5 wird nur einmalig gesetzt =1 und nie wieder 
gelöscht, so kann da auch nichts blinken.
Gast #4627929
Lesenswert?

Anfänger schrieb:
> Sorry, ich meine Port B gemäß das Bild

ist schon klar, steht auch im Quelltext und in der Hardwarebeschreibung 
des Arduinoboards.

Verwendest Du nun den Ardiono-Bootloader oder einen ISP Programmer?

Dann folgt ein weiteres Problem, sind die Fusebits des m328p so 
geändert, dass er ohne Bootloader läuft ?
#4627956
Lesenswert?

Es gibt auch ein Arduino-Forum.

Die Leute dort sind viel geübter im Umgang mit Anfängerproblemen, da sie 
die ja alle schon selbst durchgemacht haben.

Dort bist Du sicher besser aufgehoben.

Anfänger schrieb:
> Wenn ich den Arduino Board nur an dem Netzteil (Spannung 7 V) schließe,
> dann blinkt die Led. Wenn ich zudem den Board über den Programmer an
> meinem PC anschließe und das Programm laufen lasse, dann blinkt die Led
> weiter (ich sehe keinen Unterschied). Somit weiss ich nicht ob mein
> Programm überhaupt läuft..

Zunächst: 7V ist eine blöde Spannung. Der 328 läuft mit 5V, die aus den 
zugeführten 7V per Spannungsregler entstehen müssten. Ein normaler 
Spannungsregler braucht aber mindestens drei Volt mehr als die 
Ausgangsspannung, hier also mehr als 8V.
 Man muss da aber aufpassen, welcher Anschluss für die ungeregelten >8V 
Speisespannung ist und welcher für die bereits geregelten 5V ist. Den 
5V-Pin darf man auf keinen Fall an die 7V anschließen.

Viele Chinaboards haben ein Testprogramm aufgespielt, das ein Blinken im 
1-sec-Takt erzeugt. Das ist anscheinend bei Dir aktiv.

Dein eigenes Programm solltest Du erst einmal mit einem delay von 200ms 
schreiben, damit Du erst einmal erkennst, ob dein oder das 
China-Programm läuft.

Dazu musst Du anscheinend noch lernen, wie man ein selbst erstelltes 
Programm auf einen atmega328 entweder per ISP oder per 
Arduino-bootloader überspielt und die damit verbundenen Meldungen im 
Fehlerfalle versteht.

Das erklär ich Dir aber nicht. Wenn ich den von dir geposteten 
Bildschirm lesen wollte, bekäme ich Genickschmerzen.
Gast #4628066
Lesenswert?

Karl M. schrieb:
> Anfänger schrieb:
>> Sorry, ich meine Port B gemäß das Bild
>
> ist schon klar, steht auch im Quelltext und in der Hardwarebeschreibung
> des Arduinoboards.
>
> Verwendest Du nun den Ardiono-Bootloader oder einen ISP Programmer?
>

Ich verwende einen ISP Programmer.
Gast #4628205
Lesenswert?

> Ich verwende einen ISP Programmer.

Welchen?
Was hast du in der IDE dazu eingestellt?
Wie ist er mit dem Arduino Modul verbunden?

Ich denke, wenn du die wichtigen fragen erkennst und beantwortest, löst 
du auch das Problem selbst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren