|
1037
|
International / Deutsch / Re: Wert auf 2 Sekunden hochzählen ?
|
on: March 28, 2012, 11:35:00 pm
|
|
Das Problem bei diesem Code ist, das Du nie weisst ob das gemessene "HIGH" Signal schon ein neuer Impuls ist, oder noch der alte, den Du bereits gezählt hast. Ich würde immer auf einen Wechsel von LOW nach HIGH testen, um sicher zu sein, das es ein neuer Impuls ist, den ich zähle. Bei jedem erkannten Flankenwechsel von LOW zu HIGH wird dann der aktuelle Wert von millis() gespeichert (long last = millis()). Wenn der nächste Flankenwechsel erkannt wird, kann man den gespeicherten Wert mit dem aktuellen vergleichen. Die Differenz aus beiden Werten ist dann die vergangene Zeit zwischen 2 Impulsen (millis() - last). Mario.
|
|
|
|
|
1038
|
International / Deutsch / Re: Brauche schnelle Hilfe ... Weiß nicht weiter! ( RPM auslesen)
|
on: March 28, 2012, 11:28:49 pm
|
|
Ich verstehe nicht, wazu Du einen Timer brauchst? Du hast ein Eingangssignal, das periodisch auftritt und das Dir sagt, wenn eine vollständige Umdrehung abgeschlossen ist. Das einzige was Du machen musst, ist die Zeit zwischen zwei Impulsen messen und daraus dann die Umdrehungsgeschwindigkeit ableiten. Dazu brauchst Du keinen Timer, denn was nützt Dir dieses regelmäßige "Timing", wenn vorher klar ist, das es nicht zum gemessenen Wert passt. Die Logik wie Du das umsetzen kannst, wurde hier schon mehrfach beschrieben.
|
|
|
|
|
1041
|
International / Deutsch / Re: Arduino 10 x 12V, 10Watt LEDs steuern
|
on: March 28, 2012, 05:33:56 am
|
Du brauchst pro LED-Lampe einen Transistor, allerdings nur eine Spannungsversorgung. Ein 12V Netzteil ist schon mal eine gute Idee. Da Deine Lampen 10W haben, sprechen wir von knapp 1A pro Lampe (genauer 834mA bei 12V), Du musst also ein Netzteil haben das im Ernstfall 10A liefern kann, wenn alle Lampen mit 100% leuchten. Die TIP120 sollten verwendbar sein (NPN Darlington Treiber, 60V, 5A und 5V Basis-Emitter Spannung), in der Regel wird ein 1kOhm Widerstand zwischen Basis und Arduino geschaltet. (siehe hier http://ctheds.wordpress.com/2007/10/30/tip-120/) Wichtig ist, das Du die Masseleitungen des Arduino und des externen Netzteils verbindest, wie auch in den verschiedenen Beispielen angegeben. Wenn Dein Arduino nicht viel mehr machen muss als die Lampen steuern, sollte sogar ein Arduino reichen, da Du ein PWM-Signal auch per Software auf den "normalen" Output Pins erzeugen kannst. Siehe hier: http://effluviaofascatteredmind.blogspot.com/2010/02/arduino-pwm-on-all-pins.htmlMario.
|
|
|
|
|
1043
|
International / Deutsch / Re: Arduino 10 x 12V, 10Watt LEDs steuern
|
on: March 27, 2012, 02:04:00 pm
|
|
Naja, dazu wäre es gut, wenn Du ein wenig über Dein Projekt erzählen würdest. Die LEDs dimmen ist eine Sache, aber die Helligkeit der einzelnen Lampen muss ja durch irgendwas gesteuert werden. Also Sensoren, Taster, externe Daten ... was auch immer. Davon hängt sicher ab was man aus den Sachen die Du zur Verfügung hast bauen kann.
|
|
|
|
|
1044
|
International / Deutsch / Re: Arduino 10 x 12V, 10Watt LEDs steuern
|
on: March 27, 2012, 10:51:34 am
|
|
Der Arduino hat 6 PWM Ausgänge. Wenn Du mehr als 6 LEDs einzeln dimmen willst, brauchst Du zusätzliche Hardware. Es gibt recht einfache Schaltungen die per Schieberegister recht viele PWM Ausgänge "erzeugen" lassen. Es gibt auch ICs, die bis zu 16 LEDs dimmen können. LEDs mit 12V kannst Du nicht direkt über den Arduino betreiben, allerdings kannst Du die LEDs über den Arduino schalten z.B über MOSFETs, das klappt auch mit dimmen. Wieviele LED-Lampen willst Du denn ansteuern und müssen alle einzeln gedimmt werden, oder geht das auch in Gruppen?
|
|
|
|
|
1045
|
International / Deutsch / Re: Fuses auslesen mit avrdude
|
on: March 27, 2012, 12:28:49 am
|
OK, erledigt. Mit dem USBtinyISP kann ich bei beiden Arduinos die Fuses auslesen. Seltsam, das es über den Bootloader nicht geht, der sich ja wie ein stk500 verhalten soll. Und ich musste noch nicht mal an den Chips herum kratzen
|
|
|
|
|
1046
|
International / Deutsch / Re: Fuses auslesen mit avrdude
|
on: March 26, 2012, 11:36:46 pm
|
|
Das scheitert zur Zeit an einem weiteren Controller :-) Zumindest habe ich dem Duamilanove jetzt Daten abringen können. Ein Dauer "grep" auf die akuell laufenden Prozesse, während die IDE ein Sketch überträgt hat die passenden Parameter zu Tage gefördert. Übertragen wird mit 57600baud. Das hatte ich zwar auch probiert, vermutlich aber mit dem falsche Programmer als Parameter. Auch beim Duemilanove werden die Fuses alle mit 0x0 ausgegeben, was nun aber nicht zusätzlich verwundert, ist es doch der gleiche Hersteller.
|
|
|
|
|
1047
|
International / Deutsch / Re: Fuses auslesen mit avrdude
|
on: March 26, 2012, 09:43:12 pm
|
Hmm, auch die Fuses direkt lesen bringt nix: ./avrdude -c stk500 -P /dev/cu.usbserial-A500CO5U -p m2560 -Ulock:r:-:h -Uefuse:r:-:h -Uhfuse:r:-:h -Ulfuse:r:-:h -C ../etc/avrdude.conf
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x1e9801 avrdude: reading lock memory:
Reading | ################################################## | 100% 0.02s
avrdude: writing output file "<stdout>" 0x0 avrdude: reading efuse memory:
Reading | ################################################## | 100% 0.01s
avrdude: writing output file "<stdout>" 0x0 avrdude: reading hfuse memory:
Reading | ################################################## | 100% 0.02s
avrdude: writing output file "<stdout>" 0x0 avrdude: reading lfuse memory:
Reading | ################################################## | 100% 0.01s
avrdude: writing output file "<stdout>" 0x0
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Einen andreren Programmer beim Lesen des Duemilanove würde ich auch ausschliessen, ich sehe auch während avrdude versucht auf den Controller zuzugreifen die TX-Led leuchten. Ich habe auch schon verschiedene Baudraten erzwungen, leider ohne Erfolg.
|
|
|
|
|
1048
|
International / Deutsch / Re: Ist mein Projekt (Schaltstellung auf LC-Display ausgeben) etwas für Arduino ?
|
on: March 26, 2012, 01:54:31 pm
|
|
Ich denke das hängt davon ab, ob Du weitermachen willst, oder ob es bei dem einen Projekt bleibt. Wenn es nur das eine Projekt werden soll, dann bau den Arduino mit ein und gut is. Willst Du weitermachen, wäre es schade um den Arduino. Es gibt dann je nach Geschick, Geldbeutel und Geduld verschiedene Möglichkeiten. Den Encoder auslesen und Text auf ein Display packen, sollte auch mit wenig Bauteilen und einem ATtiny gehen. Da Du für Deine Aufgabe auch nicht viel Rechenleistung braucht, kannst Du evtl. sogar auf den internen Takt zurückgreifen. Das ganze auf eine Rasterplatine gepackt mit den wenigen zusätzlichen Bauteilen dann wars das schon. Das ist aber keine Lösung, die man am Anfang schnell aus dem Ärmel schüttelt. Wie gesagt es hängt vor allem von Deiner Lernbereitschaft und Durchhaltevermögen ab. Auf jeden Fall ist der Arduino ein super Einstieg in die µController Technik, da viele komplizierte, fehleranfällige und anfänglich unverständliche Dinge durch die IDE übernommen werden und man sich gut auf sein eigentliches Projekt konzentrieren kann. Mario.
|
|
|
|
|
1049
|
International / Deutsch / Fuses auslesen mit avrdude
|
on: March 26, 2012, 12:19:30 pm
|
Hallo, ich versuche gerade von einem DFROBOT dfrduino mega (m2560) und einem dfrduino 2009 duemilanove per avrdude die fuses auszulesen. Leider mit bescheidenem Erfolg. Beim Mega bekomme ich zumindest eine Antwort: ./avrdude -c stk500v2 -P /dev/cu.usbserial-A500CO5U -p m2560 -n -v -C ../etc/avrdude.conf
avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "../etc/avrdude.conf" User configuration file is "/Users/mario/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/cu.usbserial-A500CO5U Using Programmer : stk500v2 AVR Part : ATMEGA2560 Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PA0 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail :
Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500V2 Description : Atmel STK500 Version 2.x firmware Programmer Model: AVRISP Hardware Version: 15 Firmware Version Master : 2.10 Vtarget : 0.0 V SCK period : 165.0 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x1e9801 avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0
avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: safemode: Fuses OK
avrdude done. Thank you.
Aber alle fuses scheinen auf 0x0 gesetzt zu sein, was mich etwas wundert. Beim duemilanove bekomme ich noch nichtmal einen connect: ./avrdude -c stk500 -P /dev/cu.usbserial-A500COCS -p m328p -n -v -C ../etc/avrdude.conf
avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "../etc/avrdude.conf" User configuration file is "/Users/mario/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/cu.usbserial-A500COCS Using Programmer : stk500 avrdude: stk500v2_ReceiveMessage(): timeout
Beide Arduinos lassen sich auf dem gleichen Rechner (Mac OS 10.6) sowohl mit der IDE 1.0 als auch mit der 023 ansprechen. Jemand eine Idee was ich falsch mache? Mario.
|
|
|
|
|
1050
|
International / Deutsch / Re: arduino abschalten...
|
on: March 26, 2012, 09:18:28 am
|
|
schalte doch einfach die Spannungsversorgung weg. z.b. über ein solid-state relais. Damit bleibt dann auch der Zustand so, wenn mal der komplette strom weg ist.
|
|
|
|
|