Wenn man sich die Arduino IDE downlädt, dann enthält die jede Menge an
Beispielprojekten.
Öffnet man ein solches Projekt in der IDE, dann steht oberhalb des Codes
in der Kommentarsektion drin, welche elektronischen Bauteile für dieses
Beispiel benötigt werden.
Das Problem ist jetzt nur, wenn ich eine Gesamtliste aller Bauteile
haben möchte, dann müsste ich alle Projektdateien einzeln öffnen, die
Bauteile raussuchen und erst dann hätte ich eine Gesamtliste.
Ich hätte das gerne einfacher, daher würde ich gerne wissen, ob es eine
Liste aller Bauteile gibt, die in allen Beispielen verwendet werden?
Über den Daumen würde ich mal sagen:
mit ner Hand voll LED's, 1k Widerständen, Tastern, und Potis lässt sich
(fast?) alles durchspielen das nicht nen Beispiel für bestimmte Hardware
ist.
Knobold schrieb:> ob es eine> Liste aller Bauteile gibt, die in allen Beispielen verwendet werden
Nicht dass ich wüsste, aber wenn du dir dann schließlich die Arbeit
machst und das zusammenträgst, kannst du es ja im Anschluss für die
Allgemeinheit freigeben. Dann können wir hier dem nächsten der danach
fragt ein Ja geben.
Erstmal sollte man doch wissen was man eigentlich bauen möchte? Daraus
ergibt sich dann normalerweise was für Teile man benötigt.
Aber für die Generation Arduino gibts auf Ebay auch "Komplett" Pakete
Arduino mit einer ganzen Sammlung an "Shields"
Ich habe mir jetzt mal stichprobenartig den Quellcode angesehen und es
scheint so, dass die meisten *.ino Quellcodedateien so aufgebaut sind,
das die elektronischen Bauteile im Kommentarbereich Zeile für Zeile mit
einem voranstehenden * Zeichen aufgelistet werden.
Mit dem grep Befehl kann man nach dieser Zeichenfolge und einem vor- und
nachstehenden Leerzeichen suchen und so kann man dann eine passable aber
nicht fehlerfreie Liste erstellen.
Mit diesem Befehl geht es:
grep -r -i " \* " --include=*.ino
Dieser gibt alle Zeilen aus, die ein * Zeichen gefolgt von einem
Leerzeichen haben. Falls ein Satz der ein nötiges Bauteil umschreibt
aber länger als eine Zeile ist, wird der Rest des Satzes nicht
mitberücksichtigt.
Auch gibt diese grobe Suche leider auch alle Zeilen aus, in der das *
Zeichen als Multiplikationsoperator im Quellcode verwendet wird.
D.h. perfekt und fehlerfrei ist die Liste nicht, aber durchaus ein
Anfang.
Dazu wäre ein schlaueres Skript notwendig, aber so auf die schnelle
sollte das ausreichen.
Allerdings gibt es auch ein paar wenige Bauteile, die zwar in der
Kommentarsektion erwähnt werden, aber kein voranstehendes * Zeichen
haben.
Die findet man dann so nicht.
Und leider kann man auch nicht die Quellcodeteile rausfiltern, in dem
man z.B. zwei Leerzeichen vor das * Zeichen als Filterfunktion nutzt, da
nicht jede Bauteilliste mit 2 und mehr Leerzeichen beginnt.
Also perfekt und fehlerfrei ist das nicht, aber zumindest besser als gar
nichts.
Der Befehl spuckt dann übrigens folgende Liste aus:
01.Basics/ReadAnalogVoltage/ReadAnalogVoltage.ino: float voltage =
sensorValue * (5.0 / 1023.0);
02.Digital/BlinkWithoutDelay/BlinkWithoutDelay.ino: * Use the onboard
LED.
02.Digital/BlinkWithoutDelay/BlinkWithoutDelay.ino: * Note: Most
Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
02.Digital/Button/Button.ino: * LED attached from pin 13 to ground
02.Digital/Button/Button.ino: * pushbutton attached to pin 2 from +5V
02.Digital/Button/Button.ino: * 10K resistor attached to pin 2 from
ground
02.Digital/Button/Button.ino: * Note: on most Arduinos there is already
an LED on the board
02.Digital/Debounce/Debounce.ino: * LED attached from pin 13 to ground
02.Digital/Debounce/Debounce.ino: * pushbutton attached from pin 2 to
+5V
02.Digital/Debounce/Debounce.ino: * 10K resistor attached from pin 2 to
ground
02.Digital/Debounce/Debounce.ino: * Note: On most Arduino boards, there
is already an LED on the board
02.Digital/DigitalInputPullup/DigitalInputPullup.ino: * Momentary switch
attached from pin 2 to ground
02.Digital/DigitalInputPullup/DigitalInputPullup.ino: * Built-in LED on
pin 13
02.Digital/StateChangeDetection/StateChangeDetection.ino: * pushbutton
attached to pin 2 from +5V
02.Digital/StateChangeDetection/StateChangeDetection.ino: * 10K resistor
attached to pin 2 from ground
02.Digital/StateChangeDetection/StateChangeDetection.ino: * LED attached
from pin 13 to ground (or use the built-in LED on
02.Digital/toneKeyboard/toneKeyboard.ino: * 3 force-sensing resistors
from +5V to analog in 0 through 5
02.Digital/toneKeyboard/toneKeyboard.ino: * 3 10K resistors from analog
in 0 through 5 to ground
02.Digital/toneKeyboard/toneKeyboard.ino: * 8-ohm speaker on digital pin
8
02.Digital/toneMelody/toneMelody.ino: * 8-ohm speaker on digital pin 8
02.Digital/toneMelody/toneMelody.ino: int pauseBetweenNotes =
noteDuration * 1.30;
02.Digital/toneMultiple/toneMultiple.ino: * 3 8-ohm speaker on digital
pins 6, 7, and 8
02.Digital/tonePitchFollower/tonePitchFollower.ino: * 8-ohm speaker on
digital pin 9
02.Digital/tonePitchFollower/tonePitchFollower.ino: * photoresistor on
analog 0 to 5V
02.Digital/tonePitchFollower/tonePitchFollower.ino: * 4.7K resistor on
analog 0 to ground
03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino: * potentiometer
connected to analog pin 0.
03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino: * LED connected from
digital pin 9 to ground
03.Analog/AnalogInput/AnalogInput.ino: * Potentiometer attached to
analog input 0
03.Analog/AnalogInput/AnalogInput.ino: * center pin of the potentiometer
to the analog pin
03.Analog/AnalogInput/AnalogInput.ino: * one side pin (either one) to
ground
03.Analog/AnalogInput/AnalogInput.ino: * the other side pin to +5V
03.Analog/AnalogInput/AnalogInput.ino: * LED anode (long leg) attached
to digital output 13
03.Analog/AnalogInput/AnalogInput.ino: * LED cathode (short leg)
attached to ground
03.Analog/AnalogInput/AnalogInput.ino: * Note: because most Arduinos
have a built-in LED attached
03.Analog/AnalogWriteMega/AnalogWriteMega.ino: * LEDs attached from
pins 2 through 13 to ground.
03.Analog/Calibration/Calibration.ino: * Analog sensor (potentiometer
will do) attached to analog input 0
03.Analog/Calibration/Calibration.ino: * LED attached from digital pin 9
to ground
03.Analog/Fading/Fading.ino: * LED attached from digital pin 9 to
ground.
03.Analog/Smoothing/Smoothing.ino: * Analog sensor (potentiometer
will do) attached to analog input 0
04.Communication/ASCIITable/ASCIITable.ino: * as raw binary values
04.Communication/ASCIITable/ASCIITable.ino: * as ASCII-encoded decimal,
hex, octal, and binary values
04.Communication/Midi/Midi.ino: * digital in 1 connected to MIDI jack
pin 5
04.Communication/Midi/Midi.ino: * MIDI jack pin 2 connected to ground
04.Communication/Midi/Midi.ino: * MIDI jack pin 4 connected to +5V
through 220-ohm resistor
04.Communication/MultiSerial/MultiSerial.ino: * Any serial device
attached to Serial port 1
04.Communication/MultiSerial/MultiSerial.ino: * Serial monitor open on
Serial port 0:
04.Communication/PhysicalPixel/PhysicalPixel.ino: * LED connected from
digital pin 13 to ground
04.Communication/ReadASCIIString/ReadASCIIString.ino: * Red anode:
digital pin 3
04.Communication/ReadASCIIString/ReadASCIIString.ino: * Green anode:
digital pin 5
04.Communication/ReadASCIIString/ReadASCIIString.ino: * Blue anode:
digital pin 6
04.Communication/ReadASCIIString/ReadASCIIString.ino: * Cathode : GND
04.Communication/SerialCallResponse/SerialCallResponse.ino: *
potentiometers attached to analog inputs 0 and 1
04.Communication/SerialCallResponse/SerialCallResponse.ino: * pushbutton
attached to digital I/O 2
04.Communication/SerialCallResponseASCII/SerialCallResponseASCII.ino: *
potentiometers attached to analog inputs 0 and 1
04.Communication/SerialCallResponseASCII/SerialCallResponseASCII.ino: *
pushbutton attached to digital I/O 2
04.Communication/VirtualColorMixer/VirtualColorMixer.ino: *
potentiometers attached to analog inputs 0, 1, and 2
05.Control/Arrays/Arrays.ino: * LEDs from pins 2 through 7 to ground
05.Control/ForLoopIteration/ForLoopIteration.ino: * LEDs from pins 2
through 7 to ground
05.Control/IfStatementConditional/IfStatementConditional.ino: *
potentiometer connected to analog pin 0.
05.Control/IfStatementConditional/IfStatementConditional.ino: * LED
connected from digital pin 13 to ground
05.Control/IfStatementConditional/IfStatementConditional.ino: * Note: On
most Arduino boards, there is already an LED on the board
05.Control/switchCase/switchCase.ino: * photoresistor from analog in 0
to +5V
05.Control/switchCase/switchCase.ino: * 10K resistor from analog in 0 to
ground
05.Control/switchCase2/switchCase2.ino: * 5 LEDs attached to digital
pins 2 through 6 through 220-ohm resistors
05.Control/WhileStatementConditional/WhileStatementConditional.ino: *
photo resistor connected from +5V to analog in pin 0
05.Control/WhileStatementConditional/WhileStatementConditional.ino: *
10K resistor connected from ground to analog in pin 0
05.Control/WhileStatementConditional/WhileStatementConditional.ino: *
LED connected from digital pin 9 to ground through 220 ohm resistor
05.Control/WhileStatementConditional/WhileStatementConditional.ino: *
pushbutton attached from pin 2 to +5V
05.Control/WhileStatementConditional/WhileStatementConditional.ino: *
10K resistor attached from pin 2 to ground
06.Sensors/Memsic2125/Memsic2125.ino: accelerationX = ((pulseX / 10) -
500) * 8;
06.Sensors/Memsic2125/Memsic2125.ino: accelerationY = ((pulseY / 10) -
500) * 8;
07.Display/barGraph/barGraph.ino: * LEDs from pins 2 through 11 to
ground
07.Display/RowColumnScanning/RowColumnScanning.ino: * Digital pins 2
through 13,
07.Display/RowColumnScanning/RowColumnScanning.ino: * analog pins 2
through 5 used as digital 16 through 19
07.Display/RowColumnScanning/RowColumnScanning.ino: * center pins are
attached to analog pins 0 and 1, respectively
07.Display/RowColumnScanning/RowColumnScanning.ino: * side pins attached
to +5V and ground, respectively.
09.USB/Keyboard/KeyboardLogout/KeyboardLogout.ino: * Arduino Leonardo or
Micro
09.USB/Keyboard/KeyboardLogout/KeyboardLogout.ino: * wire to connect D2
to ground.
09.USB/Keyboard/KeyboardMessage/KeyboardMessage.ino: * pushbutton
attached from pin 4 to +5V
09.USB/Keyboard/KeyboardMessage/KeyboardMessage.ino: * 10-kilohm
resistor attached from pin 4 to ground
09.USB/Keyboard/KeyboardReprogram/KeyboardReprogram.ino: * Arduino
Leonardo, Micro, Due, LilyPad USB, or Yún
09.USB/Keyboard/KeyboardReprogram/KeyboardReprogram.ino: * wire to
connect D2 to ground.
09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino: * none
09.USB/KeyboardAndMouseControl/KeyboardAndMouseControl.ino: * 5
pushbuttons attached to D2, D3, D4, D5, D6
09.USB/Mouse/ButtonMouseControl/ButtonMouseControl.ino: * 5 pushbuttons
attached to D2, D3, D4, D5, D6
09.USB/Mouse/ButtonMouseControl/ButtonMouseControl.ino: int xDistance
= (leftState - rightState) * range;
09.USB/Mouse/ButtonMouseControl/ButtonMouseControl.ino: int yDistance
= (upState - downState) * range;
09.USB/Mouse/JoystickMouseControl/JoystickMouseControl.ino: * 2-axis
joystick connected to pins A0 and A1
09.USB/Mouse/JoystickMouseControl/JoystickMouseControl.ino: *
pushbuttons connected to pin D2 and D3
10.StarterKit_BasicKit/p03_LoveOMeter/p03_LoveOMeter.ino: float voltage
= (sensorVal / 1024.0) * 5.0;
10.StarterKit_BasicKit/p03_LoveOMeter/p03_LoveOMeter.ino: float
temperature = (voltage - .5) * 100;
11.ArduinoISP/ArduinoISP/ArduinoISP.ino:#define beget16(addr) (addr
256 + *(addr+1) )
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: param.flashsize = buff[16] *
0x01000000
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: + buff[17] *
0x00010000
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: + buff[18] *
0x00000100
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: spi_transaction(0x40 + 8 *
hilo,
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: unsigned int start = here * 2;
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: unsigned int length = 256 *
getch();
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: return spi_transaction(0x20 +
hilo * 8,
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: int start = here * 2;
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: int length = 256 * getch();
11.ArduinoISP/ArduinoISP/ArduinoISP.ino: here += 256 * getch();
Eigentlich bringt so eine Liste nichts.
Die Beispiele werden ziemlich schnell langweilig. Und dann finden sich
tausende interessierte Beispiele. Funkthermometer abfragen, Thermostat
steuern, Blumentöpfe überwachen, Fische füttern...
Nach 4 der mitgelieferten Beispiele hast du den Bogen raus und brauchst
Bauteile für die interessanten Projekte.
Knobold schrieb:> Der Befehl spuckt dann übrigens folgende Liste aus:
Aha. Und jetzt?
Hasz Du eine Idee, was Du mit dem Arduino aufbauen willst?
Für "mal-zum-probieren" haben ja schon viele was gesagt (Sortimente).
Und wenn Du ein Beispiel interessant findest, ja dann kaufst Du Dir die
benötigten Teile eben.
Und glaube mir, mit der Zeit sammelt sich so manches an, was man doch
nicht verwendet hat... aber später... vielleicht... mal sehen...
;-)
Gängige Bausteine sind:
- 74HC595 (oder andere Schieberegister)
- MAX7219
- PCF8574
- TLC5940
- Neopixel-Leds
Und dann die Platinchen rund um RTC, GPS, Analogerweiterung usw. usw...
Nur, es weiß ja niemand was Du machen möchtest.
Knobold schrieb:> Ratgeber schrieb:>> Ich glaube mit "Bauteile" meint er "Shields" oder "Module">> Nein, definitiv nicht.
Was für eine Liste erwartest Du denn? Sollen wir Dir Links auf die
Halbleiterseiten von Farnell und Co schicken?
Das was Du suchst gibt es so nicht weil jeder seinen Schwerpunkt hat.
Sehe es als Herausforderung. Schaue dir ein paar Dateien an und schreibe
dir ein Script oder Programm, das genau das richtige raussucht.
Wenn die Bauteile immer im ersten Kommentar stehen sollte man sich doch
alles zwischen /* ... */ in eine Datei schreiben lassen können.
So wie es aussieht möchtest du ja programmieren lernen. Das ist doch
eine gute erste Aufgabe. Und falls du es schon kannst, sollte das recht
schnell zu erledigen sein.
Jörg R. schrieb:> Knobold schrieb:>> Ratgeber schrieb:>>> Ich glaube mit "Bauteile" meint er "Shields" oder "Module">>>> Nein, definitiv nicht.>> Was für eine Liste erwartest Du denn? Sollen wir Dir Links auf die> Halbleiterseiten von Farnell und Co schicken?>> Das was Du suchst gibt es so nicht weil jeder seinen Schwerpunkt hat.
Die Beispiele in der IDE sind alle wohl definiert, das ist keine Frage
des Schwerpunkts.
Das wäre es nur dann, wenn ich mir irgendwelche Beispiele im Internet
zusammensuchen und dafür ne Liste erwarten würde.
Das ist hier nicht der Fall.
Marc V. schrieb:> Knobold schrieb:>> Ich hätte das gerne einfacher, daher würde ich gerne wissen, ob es eine>> Liste aller Bauteile gibt, die in allen Beispielen verwendet werden?>> Hier:> https://www.aliexpress.com/item/The-Best-RFID-Star...>> Da ist sogar eine CD mit Beispielen dabei.
Ja, das ist eine Bauteilsammlung mit eigenen Tutorials, nicht die, die
bei der IDE dabei sind.
Klaus schrieb:> Sehe es als Herausforderung. Schaue dir ein paar Dateien an und> schreibe> dir ein Script oder Programm, das genau das richtige raussucht.> Wenn die Bauteile immer im ersten Kommentar stehen sollte man sich doch> alles zwischen /* ... */ in eine Datei schreiben lassen können.> So wie es aussieht möchtest du ja programmieren lernen. Das ist doch> eine gute erste Aufgabe. Und falls du es schon kannst, sollte das recht> schnell zu erledigen sein.
Ich will nicht programmieren lernen, das kann ich schon. Ich wollte mir
nur den Aufwand vermeiden mir was programmieren zu müssen, hätte ja sein
können, das jemand nach so einer Liste schonmal gesucht hat.
Knobold schrieb:> Ich hätte das gerne einfacher, daher würde ich gerne wissen, ob es eine> Liste aller Bauteile gibt, die in allen Beispielen verwendet werden?
Von bloßen Reinstecken der Bauteile ins Steckbrett und Aufspielen des
Sketches wirst du kein bisschen lernen. In Shenzhen gibt es genug Läden,
die Sortimente von Breakout-Boards verkaufen, aber was willst du mit dem
ganzen Zeugs.
Knobold schrieb:> Wenn man sich die Arduino IDE downlädt, dann enthält die jede Menge an> Beispielprojekten.>> Öffnet man ein solches Projekt in der IDE, dann steht oberhalb des Codes> in der Kommentarsektion drin, welche elektronischen Bauteile für dieses> Beispiel benötigt werden.>> Das Problem ist jetzt nur, wenn ich eine Gesamtliste aller Bauteile> haben möchte, dann müsste ich alle Projektdateien einzeln öffnen, die> Bauteile raussuchen und erst dann hätte ich eine Gesamtliste.>> Ich hätte das gerne einfacher, daher würde ich gerne wissen, ob es eine> Liste aller Bauteile gibt, die in allen Beispielen verwendet werden?
Also insgesamt je eine Handvoll 10k-Widerstände, LEDs, Pushbuttons und
Potentiometer, dazu "Any serial device" sowie ggf. einen analogen Sensor
(ein Potentiometer geht auch).