Sie sind nicht angemeldet.

  • »Clemi« ist der Autor dieses Themas

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

1

Donnerstag, 24. Januar 2013, 18:41

Vorstellung meines Arduino UNO

Hallo :wink:

Heute kam mein Arduino UNO an und ich möchte ihn hier mal vorstellen.



Der Arduino ist eine einfache Experimentierplattform, welche hauptsächlich aus einem Mikrocontroller besteht. Bei meinem Arduino UNO R3 ist es ein Atmel Atmega 328P-PU.
Auf der Platine gibt es außerdem eine Vielzahl von Ein- und Ausgängen, diese möchte ich etwas näher beschreiben:

- 14 digitale Ein- und Ausgänge. Digital bedeutet, dass dort entweder Spannung anliegt (digital 1) oder keine Spannung anliegt (digital 0). Sechs von diesen Ausgängen sind PWM-Ausgänge. PWM steht für pulse width modulation, damit kann man z.B. die Helligkeit von LEDs oder die Geschwindigkeit eines Motors steuern.

- 6 Analoge Eingänge. An diese können Sensoren angeschlossen werden, welche einen bestimmten Wert liefern. Beispielsweise kann ein Temperatur-Sensor angeschlossen werden und je nachdem, ob es wärmer oder kälter ist erreicht mehr oder weniger Spannung die Eingänge. So kann der Mikrocontroller ermitteln, wie warm es ist und diesen Wert beispielsweise an ein Display weitergeben.

- 6 POWER-Anschlüsse. Es gibt dort den Anschluss "Vin", dieser steht für Volage In und es liegen 9V Spannung an. Desweiteren gibt es zweimal "GND" = Ground, also der Minus-Pol sowie einen 5V- und einen 3,3V-Anschluss. Der sechste Anschluss ist ein RESET-Anschluss, hier kann man das Board resetten.


Von Arduino gibt es auch eine Open-Source-Software, dies ist eine Entwicklungsumgebung für den PC. In dieser Software werden die Programme für den Mikrocontroller geschrieben, welche dann per USB-Kabel direkt auf das Board geladen werden.

Der Arduino läuft mit 5V Spannung und es gibt zwei Anschlüsse für die Stromversorgung. Zum Einen einen USB-Anschluss, hier werden direkt 5V vom Computer auf den Arduino übertragen. Daneben ist noch eine Buchse für ein Netzteil oder eine Batterie, dort müssen 9V Spannung anliegen. Der Arduino wandelt diese in seine benötigten 5V um.

Ich hoffe, dass das bis hierhin verständlich ist.


Nachdem das Board heute bei mir angekommen ist, habe ich gleich ein wenig damit experimentiert. Es folgen in Wort und Bild drei Beispiele.


1. Blinker


Eine LED wird an Pin 13 und GND angeschlossen. Das Ziel: Sie soll regelmäßig blinken.
Der Code, den ich dazu geschrieben habe:

Quellcode

1
2
3
4
5
6
7
8
9
10
int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}


durch 'int' wird dem Port 13 der Name 'led' gegeben. Nun weiß das Board, dass Port 13 gemeint ist, sobald 'led' geschrieben wird.
'void setup' muss bei jedem Programm geschrieben werden, die Setup Routine läuft ab wenn RESET gedrückt wird.
'pinMode' definiert den angeschlossenen Pin als OUTPUT.
Alles was unter 'void loop' steht beginnt automatisch wieder von vorn, sobald es am Ende angekommen ist.
'digitalWrite' gibt einen Ausdruck an den jeweiligen Pin aus, entweder HIGH (Spannung an) oder LOW (Spannung aus).
Schlussendlich gibt es noch 'delay', dies bedeutet "Verzögern" und gibt an, wie lang der zuvor definierte Zustand gehalten wird. Die Zahl steht für Millisekunden (1000ms = 1Sekunde).

Das war das erste einfache Beispiel, ich hoffe, dass es für den ein oder anderen logisch ist.
Hier noch ein Video meines Programms (dieses schnelle Blinken am Anfang zeigt an, dass der Arduino an eine Spannungsversorgung angeschlossen wurde).


Gleich werden noch weitere Beispiele folgen.
The "Earth" without "Art" is just "Eh".

Hubra

Moderator

Beiträge: 11 438

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

2

Donnerstag, 24. Januar 2013, 21:41

Hallo Clemens. :wink:

Da bin ich mal gespannt was Du damit für Schaltungen zustande bringst.
Werde dir auf jeden Fall weiter zusehen, da ich mich dafür auch Interessiere. :)

Gruß Micha.

  • »Clemi« ist der Autor dieses Themas

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

3

Donnerstag, 24. Januar 2013, 21:53

Hier kommt das zweite Beispiel. Es ist ein Wechselblinker und es kommen zwei LEDs vor.

LED 1 geht an -> LED 1 geht aus -> LED 2 geht an -> LED 2 geht aus.

Noch mehr LEDs kann ich im Moment noch nicht ansteuern, da ich noch auf die bestellte Experimentierplatine und die Steckbrücken warte.


Hier der Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int led1 = 13;
int led2 = 12;

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}

void loop() {
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
}



Hier nun noch das Video:
The "Earth" without "Art" is just "Eh".

Hubra

Moderator

Beiträge: 11 438

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

4

Donnerstag, 24. Januar 2013, 22:03

Hallo Clemens. :wink:

Für den Anfang sieht das doch schon ganz gut aus. :ok:
Nur wurde ich beim Video drehen die störenden Hintergrundgeräusche weg laßen.

Gruß Micha.

  • »Clemi« ist der Autor dieses Themas

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

5

Donnerstag, 24. Januar 2013, 22:05

Hallo Micha,

vielen Dank :) Das mit den Hintergrundgeräuschen habe ich auch erst gemerkt, als ich mir das Video angeschaut habe. Das nächste Mal stelle ich den Fernseher ab :D
The "Earth" without "Art" is just "Eh".

Beiträge: 454

Realname: Christian

Wohnort: Berlin

  • Nachricht senden

6

Freitag, 25. Januar 2013, 07:49

also ich beobachte das mal;) hab auch den Uno im Einsatz, scheitere aber noch hier und da. Endlich ein Arduino-Mitstreiter;) :dafür:

7

Freitag, 25. Januar 2013, 10:32

Hi Clemens,
schön, dass du dich da reinarbeitest.
Da wollte ich auch schon lange dran, aber ich glaub ich trau mich nicht... :whistling:
Na ja, es hat wohl auch mit Stress zu tun, aber ich hab da echt Respekt davor, wenn da jemand so was anfgängt.
Ich hoffe, dass ich da auch mal demnächst was versuche. Allerdings mach ich es nicht auf dem Arduino.
Ich hab mir ein myAVR Board zugelegt. Jetzt muss ich mich nur noch zusammenreißen und Zeit finden.

So lange schau ich dir mal hier beim "Basteln" zu... ;)

lg,
Frank
Modellbau ist Kunst - und manchmal Sport - und darf niemals als Arbeit gesehen werden!

Im Bau: The 24-Gun Frigate Pandora 1:128 - RC
Im Bau: Schlepper Goliath - RC

  • »Clemi« ist der Autor dieses Themas

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

8

Freitag, 25. Januar 2013, 11:37

Schön, dass Interesse besteht. :)
Endlich ein Arduino-Mitstreiter ;) :dafür:
Poste doch ruhig mal deine Projekte und Experimente, das würde mich auch sehr interessieren :)


@Frank: Deine Fortschritte mit dem myAVR würde ich auch sehr gern im Forum lesen. ;)




Mein nächstes Experiment war ein Fader. Fade bedeutet verblassen, es geht darum dass eine LED immer heller wird, und wenn sie eine bestimmte Helligkeit erreicht hat wird sie wieder dunkler. Dazu benötige ich einen PWM-Anschluss, da ich den Stromfluss kontrollieren muss (je höher der Strom, desto heller die LED).




Hier der Code:


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int led = 9;
int brightness = 0;
int fadeAmount = 5;

void setup()  { 
  pinMode(led, OUTPUT);
} 

void loop()  { 
  analogWrite(led, brightness);    
  brightness = brightness + fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  delay(30);
}





Hier nun noch das Video (meine Kamera hat das leider nicht so gut hinbekommen, aber man sollte den Effekt schon etwas sehen):
The "Earth" without "Art" is just "Eh".

Beiträge: 454

Realname: Christian

Wohnort: Berlin

  • Nachricht senden

9

Freitag, 25. Januar 2013, 11:48

Poste doch ruhig mal deine Projekte und Experimente, das würde mich auch sehr interessieren :)
Ach ich bin da noch nicht so weit. Ich bin mehr oder weniger gleich Richtung TLC5940 masrschiert, weil der Arduino für Led-Beleuchtung nicht genug PWM-Kanäle hat. Derzeit wühle ich mich da noch durch den Beispielcode um zu verstehen, wie ich an dem TLC verschiedene Kanalgruppen bilden kann. Wenn ich was zum Vorzeigen habe, melde ich mich ;)

Hubra

Moderator

Beiträge: 11 438

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

10

Freitag, 25. Januar 2013, 12:10

Hallo Clemens. :wink:

Den Effekt kann man aber schon erkennen.
Wenn die jetzt noch im Wechsel Funktionieren, dann würde sich dieser Effekt gut für die Straßenräumer an den alten US - Feuerwehren eignen.

Und das olle Fernsehen ist wieder auf dem Video. :abhau:

Gruß Micha.

  • »Clemi« ist der Autor dieses Themas

Beiträge: 2 787

Realname: Clemens

Wohnort: Thüringen

  • Nachricht senden

11

Freitag, 25. Januar 2013, 13:18

Hallo Micha,
Gute Idee. Da werde ich heute mal ein bisschen probieren, ob ich das auch mit zwei LEDs wechselseitig hinbekomme.
Das Video habe ich schon gestern Nachmittag mit den anderen beiden zusammen aufgenommen, deswegen hört man da noch den Fernseher :abhau:
The "Earth" without "Art" is just "Eh".

12

Freitag, 25. Januar 2013, 19:50

Hey
Das Arduino ist schon ne tolle Plattform für solche Spielereien.
Ich selbst habe im letzten Jahr auf der Grundlage eines Arduinos einen Kettenroboter entwickelt( war ein Schulprojekt, aber als einziger der ein bischen was an Informatikkenntinissen mitbringt ist die meiste Arbeit an mir hängen geblieben ;) )
Wenn es interessiert hier gibts ein Youtubevideo wie unser Roboter einer Linie nachfährt, und hier haben wir eine kleine Website aufgebaut (ist noch nicht fertig).
Dir noch viel Spass bei deinen Experiementen, werde sicher hin und wieder mal vorbeischauen ;)
Greets
Kilian

Werbung