Richtig! In meiner Reisetasche haust ständig eine kleine Kiste mit einem Uno, Steckbrett und diversen Bauteilen inkl. TFT-Touch-Display. Super Übungsset für langweilige Hotelabende. Software auf em Lappi und sämtliche Literatur auf dem Tablet. BESSER als jedes TV-Programm.xanakind hat geschrieben: kommende Woche bin ich bei einem Kundem im Ausland.
Da bietet es sich doch gerade an, Abends im Hotel einen weiteren Modus in das Programm zu wurschteln.....
Der AVR-/ARDUINO-Faden
Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese
- Heaterman
- Beiträge: 3990
- Registriert: Fr 28. Jun 2013, 10:11
- Wohnort: Am Rand der Scheibe, 6 m unter NN
Re: Der AVR-/ARDUINO-Faden
-
- Beiträge: 240
- Registriert: Mo 16. Feb 2015, 13:50
Re: Der AVR-/ARDUINO-Faden
Hallo
Ich dreh noch durch!
es geht um das Entwicklungsboard 810 366
ich versuche seit Tagen da ein Programm draufzuspielen.
dazu habe ich das Board mit einem Arduino Nano V3 als ISP Programmer verbunden und
den ISP Sketch geladen.
im Arduino in der Datei Boards einen Arduino mit 168 in 168P geändert und angewählt.
Als Programmer auch auf "Arduino als ISP" eingestellt.
Bei allen versuchen über "Upload mit Programmer " kommt immer die Meldung "Invalid Device signature."
das Spiel habe ich an 3 Rechnern und mehrfach probiert. nichts geht, und immer die gleiche Meldung.
hat noch einer eine Idee dazu?
dank im Vorraus
frickelfred56
Ich dreh noch durch!
es geht um das Entwicklungsboard 810 366
ich versuche seit Tagen da ein Programm draufzuspielen.
dazu habe ich das Board mit einem Arduino Nano V3 als ISP Programmer verbunden und
den ISP Sketch geladen.
im Arduino in der Datei Boards einen Arduino mit 168 in 168P geändert und angewählt.
Als Programmer auch auf "Arduino als ISP" eingestellt.
Bei allen versuchen über "Upload mit Programmer " kommt immer die Meldung "Invalid Device signature."
das Spiel habe ich an 3 Rechnern und mehrfach probiert. nichts geht, und immer die gleiche Meldung.
hat noch einer eine Idee dazu?
dank im Vorraus
frickelfred56
-
- Beiträge: 1653
- Registriert: So 11. Aug 2013, 19:53
- Wohnort: bei Frankfurt/Main
Re: Der AVR-/ARDUINO-Faden
Der Rechenknecht sagt dir doch 1A wo das Problem ist. AVRdude kan anscheinend die Device ID auslesen, meckert aber dann rum, weil die Device ID nicht zu dem angegebenen Atmel passt. Ein Blick auf die Pollinseite verräts:Bei allen versuchen über "Upload mit Programmer " kommt immer die Meldung "Invalid Device signature."
das Spiel habe ich an 3 Rechnern und mehrfach probiert. nichts geht, und immer die gleiche Meldung.
Und zukünftig würde ich an deiner Stelle "richtige" Arduino pro minis für die Hälfte aus China kaufen. Und dazu noch eine Hand voll CP2102 USB-UART Wandler. Sowas braucht man als "Hintergrundrauschen" IMMER auf Lager.Mikrocontroller: ATmega168PA
Und wenn du dann keine Lust mehr auf Arduino hast, nimmst du einfach den Makefile von mir:
https://github.com/ozonisator/arduinoplainc
und schreibst Programme in C. Wenn Bedarf besteht gibts auch ein kleines Tutorial wie man das Makefile benutzt.
-
- Beiträge: 240
- Registriert: Mo 16. Feb 2015, 13:50
Re: Der AVR-/ARDUINO-Faden
Das habe ich gelesen aber keinen unterschied zum reinen P gefunden.
wenn da einer ist möge er mal mit dem Zaunpfahl winken.
Den Preisunterschied gesehen, war aber noch ein Lückenfüller nötig.
Wenn's zur Droge auswächst sind die von der anderen Seite der Kugel sicher auch mal drann.
frickelfred56
wenn da einer ist möge er mal mit dem Zaunpfahl winken.
Den Preisunterschied gesehen, war aber noch ein Lückenfüller nötig.
Wenn's zur Droge auswächst sind die von der anderen Seite der Kugel sicher auch mal drann.
frickelfred56
-
- Beiträge: 1653
- Registriert: So 11. Aug 2013, 19:53
- Wohnort: bei Frankfurt/Main
Re: Der AVR-/ARDUINO-Faden
http://playground.arduino.cc/Bootloader ... loader168P
das hast du auch brav befolgt ?
Du kannst auch mal in den Einstellungen den verbose Output in der Konsole aktivieren, dann sieht man deutlich mehr.
das hast du auch brav befolgt ?
Du kannst auch mal in den Einstellungen den verbose Output in der Konsole aktivieren, dann sieht man deutlich mehr.
-
- Beiträge: 240
- Registriert: Mo 16. Feb 2015, 13:50
Re: Der AVR-/ARDUINO-Faden
alles noch mal überprüft ausser der Eepromgröße keinen Unterschied gefunden
Ich verwende allerdings die Windows-Version 1.0.6
da ist der 168p schon in der Datei 'avrdude.conf' drinn.
geändert habe ich 'Bords.txt'
Änderung nochmal kontrolliert kein Ergebnis.
Ich verwende allerdings die Windows-Version 1.0.6
da ist der 168p schon in der Datei 'avrdude.conf' drinn.
geändert habe ich 'Bords.txt'
Änderung nochmal kontrolliert kein Ergebnis.
Re: Der AVR-/ARDUINO-Faden
Wird denn vorher die Devicesignatur angezeigt?
Aus dieser kann man entweder Rückschlüsse auf den AVR oder auf den Fehler ziehen (das Auslesen gelingt fast immer, es gibt keine Prüfsumme!).
Bedenke z.B. auch, dass sich die Atmega168 und 168p softwareseitig ausschließlich in der Signatur unterscheiden!
Es macht also Sinn, mal zu gucken, welche Signatur ausgelesen wurde, und zu welchem AVR die passt, bzw bei Signaturen wie 00 01 02 die Verkabelung zu optimieren (Für 00 01 02 braucht es ein paar doppelte Taktflanken, was je nach ISP-Strippe gerne mal vorkommt).
Aus dieser kann man entweder Rückschlüsse auf den AVR oder auf den Fehler ziehen (das Auslesen gelingt fast immer, es gibt keine Prüfsumme!).
Bedenke z.B. auch, dass sich die Atmega168 und 168p softwareseitig ausschließlich in der Signatur unterscheiden!
Es macht also Sinn, mal zu gucken, welche Signatur ausgelesen wurde, und zu welchem AVR die passt, bzw bei Signaturen wie 00 01 02 die Verkabelung zu optimieren (Für 00 01 02 braucht es ein paar doppelte Taktflanken, was je nach ISP-Strippe gerne mal vorkommt).
- Fritzler
- Beiträge: 12603
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Der AVR-/ARDUINO-Faden
FALSCH!ferdimh hat geschrieben:Bedenke z.B. auch, dass sich die Atmega168 und 168p softwareseitig ausschließlich in der Signatur unterscheiden!
P hat einen weiteren Stromsparmodus (extended Standby) und der Brown Out ist per Software abschaltbar um im Stromsparmodus mehr Strom einzusparen (picoPower).
-
- Beiträge: 240
- Registriert: Mo 16. Feb 2015, 13:50
Re: Der AVR-/ARDUINO-Faden
Alles nicht
Beim ersten Versuch wird nur 'not in sync: resp=0x15' angezeigt.
bei der Wiederholung kommt 'Invalide Device Signature' usw . Die Signatur wird nicht angezeigt
auch habe ich nichts zum lesen gefunden.
frickelfred56
Beim ersten Versuch wird nur 'not in sync: resp=0x15' angezeigt.
bei der Wiederholung kommt 'Invalide Device Signature' usw . Die Signatur wird nicht angezeigt
auch habe ich nichts zum lesen gefunden.
frickelfred56
Re: Der AVR-/ARDUINO-Faden
Das sieht doch sehr nach einem Problem mit dem Verbindungskabel aus.frickelfred56 hat geschrieben:Beim ersten Versuch wird nur 'not in sync: resp=0x15' angezeigt.
-
- Beiträge: 240
- Registriert: Mo 16. Feb 2015, 13:50
Re: Der AVR-/ARDUINO-Faden
Hallo,
nachdem ich mein USB AVR Lab nun endgültig zerstört habe und ein serieller Programmer auch nicht das Ware ist, suche ich was gescheites.
Neben AVR ISPMKII und Dragon habe ich den "Atmel IC"E gefunden.
http://shop.embedded-projects.net/atmel ... -shop.html
Scheint recht neu zu sein, im Netz finde ich nicht viel. Hat jemand Erfahrung damit? Klingt ja super; kann alle möglichen Atmels programmieren, Debuggen, läuft mit USB, schickes Gehäuse etc.
Wo ist der Haken? Oder ist der der gleiche wie der JTAG ICE?
schöne Grüße,
Felix
nachdem ich mein USB AVR Lab nun endgültig zerstört habe und ein serieller Programmer auch nicht das Ware ist, suche ich was gescheites.
Neben AVR ISPMKII und Dragon habe ich den "Atmel IC"E gefunden.
http://shop.embedded-projects.net/atmel ... -shop.html
Scheint recht neu zu sein, im Netz finde ich nicht viel. Hat jemand Erfahrung damit? Klingt ja super; kann alle möglichen Atmels programmieren, Debuggen, läuft mit USB, schickes Gehäuse etc.
Wo ist der Haken? Oder ist der der gleiche wie der JTAG ICE?
schöne Grüße,
Felix
Re: Der AVR-/ARDUINO-Faden
Hab mich nun mal getraut, die fertige Steuerung mit Treibern im Handgepäck mitzunehmen.
Komplett mit LED Treibern und Schiebepotis zum spielen. Ging sogar ohne weiteres durch die Sicherheitskontrolle.
Glück gehabt
Da das Wetter typisch Britisch ist, habe ich dafür auch tatsächlich mal ausreichend Zeit
Komplett mit LED Treibern und Schiebepotis zum spielen. Ging sogar ohne weiteres durch die Sicherheitskontrolle.
Glück gehabt
Da das Wetter typisch Britisch ist, habe ich dafür auch tatsächlich mal ausreichend Zeit
Re: Der AVR-/ARDUINO-Faden
Ich hab schon ein bisschen mit Atmegas gespielt, programmiert mit Bascom.
Nachdem mich Microsoft zu sehr geärgert hat und ich deswegen keine Lizenzen mehr kaufen will, wird in Zukunft auch der Bastelkellerrechner ein Linux haben.
Jetzt will ich wieder mit Atmegas spielen. C hat seinen Schrecken auch verloren, also was soll schief gehen?
Was verwende ich am sinnvollsten?
avrdude und der Burn-o-mat können schonmal hex-files rüberschieben, klappt. Ok oder gibts was deutlich besseres?
Editor ist eigentlich nur Geschmacksache, oder?
Compiler gcc-avr mit avr-libc?
Ist das sinnvoll? Was verwendet Ihr?
Danke schonmal und viele Grüße,
Daniel
Nachdem mich Microsoft zu sehr geärgert hat und ich deswegen keine Lizenzen mehr kaufen will, wird in Zukunft auch der Bastelkellerrechner ein Linux haben.
Jetzt will ich wieder mit Atmegas spielen. C hat seinen Schrecken auch verloren, also was soll schief gehen?
Was verwende ich am sinnvollsten?
avrdude und der Burn-o-mat können schonmal hex-files rüberschieben, klappt. Ok oder gibts was deutlich besseres?
Editor ist eigentlich nur Geschmacksache, oder?
Compiler gcc-avr mit avr-libc?
Ist das sinnvoll? Was verwendet Ihr?
Danke schonmal und viele Grüße,
Daniel
- zauberkopf
- Beiträge: 9528
- Registriert: So 11. Aug 2013, 15:33
- Wohnort: gefährliches Halbwissen
Re: Der AVR-/ARDUINO-Faden
Also ich mach es gerne so :
Editor Kate, (mit dem ich 99,9% all meine meine Programme schreibe)
und ein schönes Makefile vom Virtex.
Als Target nehme ich mittlerweile sehr gerne die Arduino clones.. habe aber auch von ladyada den https://learn.adafruit.com/usbtinyisp
Das schöne an Kate ist, das man unten ein Terminalfenster hat, in das man wechseln kann.
Das was mir an der Arduino-IDE nicht gefällt, ist das diese abstürzt.
Editor Kate, (mit dem ich 99,9% all meine meine Programme schreibe)
und ein schönes Makefile vom Virtex.
Als Target nehme ich mittlerweile sehr gerne die Arduino clones.. habe aber auch von ladyada den https://learn.adafruit.com/usbtinyisp
Das schöne an Kate ist, das man unten ein Terminalfenster hat, in das man wechseln kann.
Das was mir an der Arduino-IDE nicht gefällt, ist das diese abstürzt.
- Fritzler
- Beiträge: 12603
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Der AVR-/ARDUINO-Faden
avr-gcc mit avr-libc, dann is alles paletti.
Installationsanleitungen gibts im Netz zuhauf.
Editor ist Geschmackssache, unter UBuntu ist gedit schön schlank und vor allem grafisch.
VI(M) soll ja toll sein aber ich brauch was zum klicken
PS: Wenn die aus Redmond so weiter machen (alles nach 7 ist Ultramurks!), dann hab ich auch bald als Haupt OS nen Linux
Installationsanleitungen gibts im Netz zuhauf.
Editor ist Geschmackssache, unter UBuntu ist gedit schön schlank und vor allem grafisch.
VI(M) soll ja toll sein aber ich brauch was zum klicken
PS: Wenn die aus Redmond so weiter machen (alles nach 7 ist Ultramurks!), dann hab ich auch bald als Haupt OS nen Linux
- zauberkopf
- Beiträge: 9528
- Registriert: So 11. Aug 2013, 15:33
- Wohnort: gefährliches Halbwissen
Re: Der AVR-/ARDUINO-Faden
Naja.. also zum Frickeln hat Linux auch echt seine Momente !PS: Wenn die aus Redmond so weiter machen (alles nach 7 ist Ultramurks!), dann hab ich auch bald als Haupt OS nen Linux
z.B. kann man ja aus einem AVR sowas tütteln : http://www.recursion.jp/avrcdc/cdc-io.html
d.H. also mal eben nen AVR zum IO-Board degradiert.. und dann tüttelst das teil an die USB schnitstelle.
Und dann kannste in Shellsripten Hardware steuern :
z.B :
echo "FB_PORTC_&_" > /dev/ttyACM0
Den Befehl, könntest Du auch ohne probleme mit einem Icon verbinden..
und schon ist die Kaffeemaschiene an !
Nichts leichter als das.. keine Treiber.. ... reinstecken und spass haben.. (Die perfekte Fricklerhure also.. )
- Fritzler
- Beiträge: 12603
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Der AVR-/ARDUINO-Faden
Ich spiel schon länger an LInux, sogar bis auf Kernelmodule schreiben runter.
Dieses Späßchen da is aber echt nett
Dieses Späßchen da is aber echt nett
-
- Beiträge: 1653
- Registriert: So 11. Aug 2013, 19:53
- Wohnort: bei Frankfurt/Main
Re: Der AVR-/ARDUINO-Faden
Du kannst dir billige Arduinoboards kaufen, und das hier verwenden: https://github.com/ozonisator/arduinoplainc Das geht über den arduino Bootloader und einen USB-Seriell Wandler.avrdude und der Burn-o-mat können schonmal hex-files rüberschieben, klappt. Ok oder gibts was deutlich besseres?
Für 2e bekommt man ein kleines Platinchen mit Spannungsregler und Resonator, wo alle Pins (mehr oder weniger gescheit) rausgeführt sind. Da kauf ich mir nicht mehr einen Atmel und bau was selbst... Pinbelegung für den 328p im TQFP gibts hier http://www.hobbytronics.co.uk/image/dat ... pinout.jpg
- zauberkopf
- Beiträge: 9528
- Registriert: So 11. Aug 2013, 15:33
- Wohnort: gefährliches Halbwissen
Re: Der AVR-/ARDUINO-Faden
Genau, so mach ich das auch nur noch...
Pure Atmels nur noch, wenns nicht anders geht.
Pure Atmels nur noch, wenns nicht anders geht.
Re: Der AVR-/ARDUINO-Faden
Vielen Dank schonmal für die Tips, das klingt doch alles schonmal gut.
Ich hab noch 2 oder 3 Atmega8, ein Entwicklungsboard und einen USB-ASP rumliegen. Zum Spielen langts also erstmal.
Die Arduino-Hardware sieht aber echt vorlockend aus. Vor allem wenn man außer einem Micro-USB-Kabel (und dem Rechner) keine Hardware zum flashen braucht.
Da sollte ich mir auch mal einen (oder mehrere) zum probieren zulegen. Gibts einen bevorzugten Shop für die Dinger?
Ich hab noch 2 oder 3 Atmega8, ein Entwicklungsboard und einen USB-ASP rumliegen. Zum Spielen langts also erstmal.
Die Arduino-Hardware sieht aber echt vorlockend aus. Vor allem wenn man außer einem Micro-USB-Kabel (und dem Rechner) keine Hardware zum flashen braucht.
Da sollte ich mir auch mal einen (oder mehrere) zum probieren zulegen. Gibts einen bevorzugten Shop für die Dinger?
-
- Beiträge: 1653
- Registriert: So 11. Aug 2013, 19:53
- Wohnort: bei Frankfurt/Main
Re: Der AVR-/ARDUINO-Faden
Ich kauf immer die hier:
http://www.ebay.com/itm/Redesign-Pro-Mi ... 2ec77675a9
Bei dem gleichen Shop kann man für einen guten Kurs auch gleich CP2102 Wandler eintüten, braucht man eh immer.
http://www.ebay.com/itm/Redesign-Pro-Mi ... 2ec77675a9
Bei dem gleichen Shop kann man für einen guten Kurs auch gleich CP2102 Wandler eintüten, braucht man eh immer.
- Heaterman
- Beiträge: 3990
- Registriert: Fr 28. Jun 2013, 10:11
- Wohnort: Am Rand der Scheibe, 6 m unter NN
Re: Der AVR-/ARDUINO-Faden
Wollte gerade den bewährten Elektrodrachen http://www.electrodragon.com empfehlen, aber anscheinend liefert der neuerdings nicht mehr aus Belgien?
Re: Der AVR-/ARDUINO-Faden
Der Electrodrache liefert jetzt aus China - kommt meist in ca. 2 Wochen an.
Tipp: Nur kleine Pakete (unter 50 Dollar) machen - dann geht's üblicherweise auch ohne Probleme & Kosten durch den Zoll...
Edit: http://eckstein-shop.de/ ist auch ein Chinamann, aber mit deutschem Lager --> keine Probleme mit dem Zoll.
Tipp: Nur kleine Pakete (unter 50 Dollar) machen - dann geht's üblicherweise auch ohne Probleme & Kosten durch den Zoll...
Edit: http://eckstein-shop.de/ ist auch ein Chinamann, aber mit deutschem Lager --> keine Probleme mit dem Zoll.
Zuletzt geändert von Sir_Death am Mi 5. Aug 2015, 15:42, insgesamt 1-mal geändert.
Re: Der AVR-/ARDUINO-Faden
Also mir wird die Lieferung aus Belgien noch angeboten. Dafür muss man im Warenkorb aber erstmal auf "Proceed to checkout" klicken und dann bei der Lieferadresse "Germany" einstellen.
Dann wird unten die LIste mit den Versandoptionen aktualisiert. Da steht dann auch wieder "Belgium Post"
Dann wird unten die LIste mit den Versandoptionen aktualisiert. Da steht dann auch wieder "Belgium Post"
Re: Der AVR-/ARDUINO-Faden
die belgische Post hat als Absender dann aber trotzdem eine Adresse in Shenzen...
- zauberkopf
- Beiträge: 9528
- Registriert: So 11. Aug 2013, 15:33
- Wohnort: gefährliches Halbwissen
Re: Der AVR-/ARDUINO-Faden
Hi !
Ich überlege mir gerade den hier zu Samplen : http://www.atmel.com/devices/ATA8515.aspx?tab=documents
AVR + ISM Tranceiver.
Das teilchen wird interessant : das package habe ich noch nie verlötet.. und ich weis bis dato auch noch nicht, wie ich den Programmieren soll.
AVRDUDE kennt den nämlich nicht.
Digikey hat lieferschwierigkeiten...
Und überhaupt.. ich erkenne aus dem Datenblatt gar nicht, wie ich die PLL programmieren soll !
Probleme über Probleme..
vielleicht ist der TH72011 + tiny doch die bessere wahl..
Ich überlege mir gerade den hier zu Samplen : http://www.atmel.com/devices/ATA8515.aspx?tab=documents
AVR + ISM Tranceiver.
Das teilchen wird interessant : das package habe ich noch nie verlötet.. und ich weis bis dato auch noch nicht, wie ich den Programmieren soll.
AVRDUDE kennt den nämlich nicht.
Digikey hat lieferschwierigkeiten...
Und überhaupt.. ich erkenne aus dem Datenblatt gar nicht, wie ich die PLL programmieren soll !
Probleme über Probleme..
vielleicht ist der TH72011 + tiny doch die bessere wahl..
Re: Der AVR-/ARDUINO-Faden
Als Programmer eignet sich ein USBASP (meiner von Fischl).
Software: Programmierung in C mit WinAVR/avrgcc
Hardware: ATmegaXYZ auf Lochraster.
Fertige Boards habe ich auch bei eHaJo, EleConT und chip45 gesehen, kann preislich natürlich nicht mit Chinaboards mithalten, haben dafür teils mehr Peripherie an Bord. Starter-Teilesets gibts bei it-wns.
Wer's ganz klein braucht kann sich mal die Digisparks ansehen, z.B. bei cboden.
Software: Programmierung in C mit WinAVR/avrgcc
Hardware: ATmegaXYZ auf Lochraster.
Fertige Boards habe ich auch bei eHaJo, EleConT und chip45 gesehen, kann preislich natürlich nicht mit Chinaboards mithalten, haben dafür teils mehr Peripherie an Bord. Starter-Teilesets gibts bei it-wns.
Wer's ganz klein braucht kann sich mal die Digisparks ansehen, z.B. bei cboden.
- Fritzler
- Beiträge: 12603
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Der AVR-/ARDUINO-Faden
@Jan
so wies aussieht ist der ATA8515 auch garnicht User Programmierbar, der hat kein user Flash, sondern nurn Firmware Flash, hä was?
Siehe auch im Datenblatt unter:
1.4.1 Typical 3V Application with External Microcontroller
Unter 1.4.2 Typical 3V Stand-Alone Application steht dann auch nurnoch der ATA8510
Ansonsten wenn du doch den 10er meinst (Im Link steht nur der 15er).
avrdude hat ne configdatei und die kannste einfach erweitern.
Musst eben "nur" im Datenblatt gucken welche Signatur der hat und mit welchem anderen AVR die Fusebits gleich sind.
Dann nen configeintrag zusammenkopieren
Speicherpagegrüße steht jas auch im DB.
Zur PLL: kein Plan!
Bei Atmel sampeln ist übrigens auch nicht, im Atmel store gibts genau 0 Stück
Aber da gibts doch was nettes von Texas Instruments mit Zigbee oder WLAN uder Bluetooth (je nach Baureihe) mit ARM Kern drinne
http://www.ti.com/product/cc3200
Oder guck dir hier was ab:
https://rad1o.badge.events.ccc.de/
so wies aussieht ist der ATA8515 auch garnicht User Programmierbar, der hat kein user Flash, sondern nurn Firmware Flash, hä was?
Und dann steht da was von SPI Commands, der 8515 is also nur als SPI Slave nutzbar?In the Atmel ATA8510 the internal microcontroller with 20Kbyte user flash can be used to add custom extensions to the
Atmel firmware. The Atmel ATA8515 embeds only the firmware ROM without user memory.
Siehe auch im Datenblatt unter:
1.4.1 Typical 3V Application with External Microcontroller
Unter 1.4.2 Typical 3V Stand-Alone Application steht dann auch nurnoch der ATA8510
Ansonsten wenn du doch den 10er meinst (Im Link steht nur der 15er).
avrdude hat ne configdatei und die kannste einfach erweitern.
Musst eben "nur" im Datenblatt gucken welche Signatur der hat und mit welchem anderen AVR die Fusebits gleich sind.
Dann nen configeintrag zusammenkopieren
Speicherpagegrüße steht jas auch im DB.
Zur PLL: kein Plan!
Bei Atmel sampeln ist übrigens auch nicht, im Atmel store gibts genau 0 Stück
Aber da gibts doch was nettes von Texas Instruments mit Zigbee oder WLAN uder Bluetooth (je nach Baureihe) mit ARM Kern drinne
http://www.ti.com/product/cc3200
Oder guck dir hier was ab:
https://rad1o.badge.events.ccc.de/
- zauberkopf
- Beiträge: 9528
- Registriert: So 11. Aug 2013, 15:33
- Wohnort: gefährliches Halbwissen
Re: Der AVR-/ARDUINO-Faden
Ich brauch aber 433MHZ..
Hintergrund ist der : Also die Suse, für die ich mal die Wanze gebaut habe,
die will eventuell ne richtige Austellung daraus machen.
So oder so ähnlich..
Jedenfalls denkt die über Wanzen nach, die gleichzeitig senden sollen...
Also brauch ich nen Sender mit ner PLL, und das ganze am besten Programmierbar, damit ich 10 unterschiedliche Frequenzen habe.
Die eigentliche idee ist also einen TH72011 + attiny zu verwenden.
Das quarz kann ich mittels capazitätsdiode modulieren..
Dann nur noch die einstellbare PA auf geringste stufe (1mW) stellen.. und fertig ist die Wanze für den Kunstbedarf.
Und so einen FM Mini-TX kann man auch für Mini-Ballonmissionen nehmen.
Der Atmel hatt aber sender,rx, und proz augenscheinlich in einem Chip untergebracht. Solche Chips gibs viele ( auch von Microshit).
Und das interessiert mich, weil weniger bauteile.
Aber wenn Atmel nicht verkaufen will.. zur not werden es halt 2 Chips..
Hintergrund ist der : Also die Suse, für die ich mal die Wanze gebaut habe,
die will eventuell ne richtige Austellung daraus machen.
So oder so ähnlich..
Jedenfalls denkt die über Wanzen nach, die gleichzeitig senden sollen...
Also brauch ich nen Sender mit ner PLL, und das ganze am besten Programmierbar, damit ich 10 unterschiedliche Frequenzen habe.
Die eigentliche idee ist also einen TH72011 + attiny zu verwenden.
Das quarz kann ich mittels capazitätsdiode modulieren..
Dann nur noch die einstellbare PA auf geringste stufe (1mW) stellen.. und fertig ist die Wanze für den Kunstbedarf.
Und so einen FM Mini-TX kann man auch für Mini-Ballonmissionen nehmen.
Der Atmel hatt aber sender,rx, und proz augenscheinlich in einem Chip untergebracht. Solche Chips gibs viele ( auch von Microshit).
Und das interessiert mich, weil weniger bauteile.
Aber wenn Atmel nicht verkaufen will.. zur not werden es halt 2 Chips..
Re: Der AVR-/ARDUINO-Faden
Kann man die Arduino Nano und Micro eigentlich direkt über den USB programmieren oder ist der nur für USB-Anwendungen und programmieren wie beim Mini per seriell (und dranhängendem USB-seriell-Wandler-Kabel)?
Re: Der AVR-/ARDUINO-Faden
Der (originale) Nano hat auf der Rückseite einen FT232RL USB-Seriell Wandler.
Auf dem (origanelen) Mikro werkelt ein Atmega32U4; der hat also schon USB-Kommunkation on-Chip.
Es ist bei beiden also kein USB-Seriell Wandler notwendig.
Auf dem (origanelen) Mikro werkelt ein Atmega32U4; der hat also schon USB-Kommunkation on-Chip.
Es ist bei beiden also kein USB-Seriell Wandler notwendig.
BAD_INTERRUPT
Gibt es eine möglichkeit, in einem Interrupt-Handler die Nummer des auslösenden Interrupts rauszufinden?
Ich habe hier meine Waschmaschine, die gelegentlich (=ca alle 3 Waschvorgänge) spontane Resets macht. Mittlerweile habe ich einen default-Interrupt-Handler eingerichtet und außerdem das Register, was die Resetursache anzeigt ausgegeben.
Ich weiß seit eben: Es wird ein Interrupt ausgelöst, der nicht behandelt wird.
Durch Codestudium finde ich den aber nicht.
Also daher die Frage:
Wie kriege ich heraus (und kriege ich es überhaupt heraus), welcher Interrupt eine ISR ausgelöst hat?
Oder muss ich für jeden möglichen Interrupt einen eigenen Handler installieren?
CPU delicti ist ein Atmega64.
Ich habe hier meine Waschmaschine, die gelegentlich (=ca alle 3 Waschvorgänge) spontane Resets macht. Mittlerweile habe ich einen default-Interrupt-Handler eingerichtet und außerdem das Register, was die Resetursache anzeigt ausgegeben.
Ich weiß seit eben: Es wird ein Interrupt ausgelöst, der nicht behandelt wird.
Durch Codestudium finde ich den aber nicht.
Also daher die Frage:
Wie kriege ich heraus (und kriege ich es überhaupt heraus), welcher Interrupt eine ISR ausgelöst hat?
Oder muss ich für jeden möglichen Interrupt einen eigenen Handler installieren?
CPU delicti ist ein Atmega64.
- Bastelbruder
- Beiträge: 11563
- Registriert: Mi 14. Aug 2013, 18:28
Re: Der AVR-/ARDUINO-Faden
Die Interrupt-Hauptroutine sollte nach Aufruf alle Flagbytes abklappern, die gefundenen Flags nacheinander bearbeiten und zurücksetzen, dann das global Interruptflag zurücksetzen und nochmal alle flags prüfen. Wenn keine flags mehr gesetzt sind, ist die Aufgabe erledigt. Das sollte auch glitches auf dem global flag sauber ignorieren wenn nicht zu viel spam kommt.
Re: Der AVR-/ARDUINO-Faden
Das Abklappern ALLER bei der Kiste weit verstreuten Flags versuche ich gerade zu vermeiden. Für einige gibt es nicht mal Flags.
Ich weiß halt nur, dass irgendein Interrupt einschlägt, den ich nicht haben möchte und auch nicht bestellt habe. Um ihn zu finden wäre ausgesprochen hilfreich, welcher der 0x44 möglichen es denn nun ist.
Ich weiß halt nur, dass irgendein Interrupt einschlägt, den ich nicht haben möchte und auch nicht bestellt habe. Um ihn zu finden wäre ausgesprochen hilfreich, welcher der 0x44 möglichen es denn nun ist.
Re: Der AVR-/ARDUINO-Faden
Hallo,
Ich wollte euch mal auf mein Problem hinweisen.
Und zwar habe ich noch einen Arduino Uno R3 welcher über I2C mit einem EA DOGM240-6 verbunden ist.
Das Display bekommt die Spannung vom Display und wenn ich beim Arduino die Spannung anmache, dann zeigt das Display für 2 Sekunden "Hello World" an und dieser Text verschwindet dann. Erst nach erneutem Spannung an kommt der Text wieder.
Das war die Kurzfassung.
Hier der Link zum Problem
Nun ist die Frage, ost es ein Software oder ein Hardwareproblem?
Wie kann ich es herausfinden und beheben?
Oszilloskop ist vorhanden.
Die Ladungspumpe geht aus wenn der Text verschwindet bzw deswegen verschwindet der Text.
Ich bin für jede Idee dankbar.
Grüße
Ich wollte euch mal auf mein Problem hinweisen.
Und zwar habe ich noch einen Arduino Uno R3 welcher über I2C mit einem EA DOGM240-6 verbunden ist.
Das Display bekommt die Spannung vom Display und wenn ich beim Arduino die Spannung anmache, dann zeigt das Display für 2 Sekunden "Hello World" an und dieser Text verschwindet dann. Erst nach erneutem Spannung an kommt der Text wieder.
Das war die Kurzfassung.
Hier der Link zum Problem
Nun ist die Frage, ost es ein Software oder ein Hardwareproblem?
Wie kann ich es herausfinden und beheben?
Oszilloskop ist vorhanden.
Die Ladungspumpe geht aus wenn der Text verschwindet bzw deswegen verschwindet der Text.
Ich bin für jede Idee dankbar.
Grüße
Re: Der AVR-/ARDUINO-Faden
Push doch einfach Deinen Faden.
In diesem Forum mit so vielen Beiträgen pro Tag kann es sein das ein Thema komplett an einem vorbei geht weil man nur einmal am Tag rein schauen konnte. Wenn es dann erst mal im unteren Bereich verschwunden ist, fällt es nicht mehr auf. Eine Erinnerung nach einer angemessenen Wartezeit finde ich schon OK.
In diesem Forum mit so vielen Beiträgen pro Tag kann es sein das ein Thema komplett an einem vorbei geht weil man nur einmal am Tag rein schauen konnte. Wenn es dann erst mal im unteren Bereich verschwunden ist, fällt es nicht mehr auf. Eine Erinnerung nach einer angemessenen Wartezeit finde ich schon OK.
Re: Der AVR-/ARDUINO-Faden
Moin,
ich schreib jetzt doch nen Beitrag, obwohl ich aufgrund der Trivialität lange gezögert hab!
Plottermeier hat mich ja letztens an den Arduino herangeführt, und jetzt liegt die Uno Platine vor mir und blinkt!
Ich will nen Dämmerungsschalter bauen. Funktioniert auch schon aber:
Ich hätte gerne, das
a) Nei Verzögerung, sprich- wenn der SchwellWert(x) in einer Minute(y) mehr als 30(z) mal erreicht wird geschaltet wird.
b) Nice to Have: Einstellbarer Schwellwert über Poti und LED die an oder ausgeht, wenn Schwellwert erreicht.
Edith: Teil b) hab ich shcon hinbekommen!
Bisher sieht das so aus:
Also ich mach das seit gestern zum erstenmal- für euch isses villeicht nen Zeitverteib in der Mittagspause.
Bin mal gespannt, wie wir es lösen-
Ando
ich schreib jetzt doch nen Beitrag, obwohl ich aufgrund der Trivialität lange gezögert hab!
Plottermeier hat mich ja letztens an den Arduino herangeführt, und jetzt liegt die Uno Platine vor mir und blinkt!
Ich will nen Dämmerungsschalter bauen. Funktioniert auch schon aber:
Ich hätte gerne, das
a) Nei Verzögerung, sprich- wenn der SchwellWert(x) in einer Minute(y) mehr als 30(z) mal erreicht wird geschaltet wird.
b) Nice to Have: Einstellbarer Schwellwert über Poti und LED die an oder ausgeht, wenn Schwellwert erreicht.
Edith: Teil b) hab ich shcon hinbekommen!
Bisher sieht das so aus:
Code: Alles auswählen
// Konstanten
const int abfrageZahl = 5; // Je mehr abfragen, desto stabiler isr das Ergebnis
const int ldr = A1; // Pin für den Fotowiederstand
const int led = 12;
const int led2=11;
// Variablen
int helligkeit = 0; // Variable für die Helligkeit
int abfrage[abfrageZahl]; // Array Variable für das Mitteln der Temperatur
float durchschnitt = 0; // Variable für das Mitteln der Temperatur
void setup()
{
Serial.begin(9600); // Baudrate für die Ausgabe am Serial Monitor
pinMode(ldr, INPUT); // Pin des NTC Wiederstands als Eingang
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
// Nimmt N Abfragen in einer Reihe, mit einem kurzen delay
for (int i=0; i < abfrageZahl; i++)
{
abfrage[i] = analogRead(ldr);
delay(10);
}
// Mittelt alle Abfragen
durchschnitt = 0;
for (int i=0; i < abfrageZahl; i++)
{
durchschnitt += abfrage[i];
}
helligkeit = durchschnitt/abfrageZahl;
// Ausgabe an den Seriellen Monitor
Serial.print("LDR ");
Serial.println(helligkeit);
// Schalte bei Dunkelheit die LED an
if(helligkeit > 600)
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led2, LOW);
}
else
{
digitalWrite(led, LOW);
digitalWrite(led2, HIGH);
}
}
Bin mal gespannt, wie wir es lösen-
Ando
Re: Der AVR-/ARDUINO-Faden
Kleiner USB-Tiny: Klick.
Hab einen hier und der lässt sich sehr einfach programmieren.
Einfach in den USB rein und los gehts.
Hab einen hier und der lässt sich sehr einfach programmieren.
Einfach in den USB rein und los gehts.
Re: Der AVR-/ARDUINO-Faden
Hi,
also ich hab ja jetzt eigentlich damit gerechnet, haufenweise Tipps zu bekommen.
Is das denn so kompliziert? Hab natürlich mal gegoogelt, um vllt nen ähnliches Programm zu finden, aber die gefundenen Lösungen war sehr kompliziert gelöst worden.
Mir geht es nun hauptsächlich darum, das der Eingangs Port 30 sec abgefragt wird, die Werte gespeichert, und wenn genug über dem Schwellwert liegen, dann eine Schaltfunktion ausgeführt wird.
Das muss doch einfach machbar sein, oder?
also ich hab ja jetzt eigentlich damit gerechnet, haufenweise Tipps zu bekommen.
Is das denn so kompliziert? Hab natürlich mal gegoogelt, um vllt nen ähnliches Programm zu finden, aber die gefundenen Lösungen war sehr kompliziert gelöst worden.
Mir geht es nun hauptsächlich darum, das der Eingangs Port 30 sec abgefragt wird, die Werte gespeichert, und wenn genug über dem Schwellwert liegen, dann eine Schaltfunktion ausgeführt wird.
Das muss doch einfach machbar sein, oder?
Re: Der AVR-/ARDUINO-Faden
Einerseits ist das Problem trivial, andererseits hat es (aufgrund deiner Definition) auch "seine Tücken". Das ist aber eher ein "Kommunikationsproblem", wie es häufig bei solchen Fragestellungen auftritt. In der Definition steht z.b. "innerhalb einer Zeitspanne" -> Wie wird die bestimmt? Kontinuierlich laufenden Timer abfragen? Oder (einfacher zu realisieren) "innerhalb einer gewissen Anzahl von Aufrufen einer Funktion", wobei der Nutzer der Funktion dafür verantwortlich ist, diese Funktion in gewissen Zeitabständen regelmäßig aufzurufen. Ich würde mir dafür erst einmal eine Funktion schreiben, die feststellt, ob der Wert über dem Schwellwert liegt, oder nicht, und eine 0 oder 1 liefert. Dann einen gleitenden Mittelwert darüber bilden, und wieder eine Schwellwertfunktion über dessen Ergebnis. Haken dabei: Der "originale/exakte" gleitende Mittelwert braucht eine Menge Speicher. Wenn einige Einschränkungen in Kauf genommen werden können, lässt sich das auch "speichersparender" lösen. Aber das ist dann wieder eine Sache der "Definition der Anforderung"ando hat geschrieben:Is das denn so kompliziert?
Edith meint: Ganz primitive Lösung (die allerdings ihre Einschränkungen hat): Werte der Schwellwertüberschreitungen (0 oder 1) jede Sekunde aufaddieren, jede zweite Sekunde eins abziehen, und den Additionswert auf (0-60) limitieren. Liegt die Summe über 30, Ausgang aktivieren. Im "Grenzbereich" könnte das jedoch etwas "flackern" Aber dagegen lässt sich wieder eine Hysterese einbauen... Es gibt etliche Möglichkeiten, dieses Problem zu lösen, welche davon "brauchbar" ist, hängt von der Anwendung ab
Re: Der AVR-/ARDUINO-Faden
Nettes Programm, Ando und ein interessantes Übungsprojekt.
Lass uns doch mal schauen, was Dein Programm genau macht und was Du genau haben möchtest.
Fangen wir mit der Aufgabenstellung an:
Du möchtest eine Verzögerung über 30 Sekunden, die in Abhängigkeit von einem Schwellwert als Ergebnis einen Ausgang ein- oder aus schaltet.
Der Teufel liegt im Detail: Ist die Aufgabe, alle 30 Sekunden zu prüfen, ob der Schwellwert über- oder unterschritten wird?
Oder soll jede Sekunde überprüft werden, ob ein Schwellwert der letzten 30 Sekunden über- oder unterschritten wird?
Lass uns mal in das Programm schauen:
1. Konstanten und Variablen deklarieren
2. Setup: Pins als Ein- und Ausgang definieren
3. Eine Tabelle mit N Abfragen füllen
4. Durchschnitt der Tabelle berechnen
5. Schwellwert prüfen und Ausgang schalten
6. Zürück zu 3.
Schade, nicht ganz die Logik, die gewünscht ist. Was kann verbessert werden?
Vor dem Loop brauchen wir eine Tabelle mit 30 Messwerten, die könnte man je nach gewünschtem Ausgangszustand auch am Anfang definieren auf kleiner oder größer als der Schwellwert.
Dann soll jede Sekunde einmal der erste Wert in der Tabelle vergessen werden, alle anderen Tabellenwerte wandern 1 nach vorne, der letzte Tabellenwerte soll durch den aktuellen Messwert ersetzt werden.
Danach den Mittelwert berechnen, mit dem Schwellwert vergleichen und entsprechend den Ausgang schalten.
Ein Programm habe ich jetzt bewußt nicht geschrieben, aber ich hoffe mit dem skizzierten Ablauf doch ein bisschen weiter geholfen zu haben.
Viel Spaß beim frickeln!
Lass uns doch mal schauen, was Dein Programm genau macht und was Du genau haben möchtest.
Fangen wir mit der Aufgabenstellung an:
Du möchtest eine Verzögerung über 30 Sekunden, die in Abhängigkeit von einem Schwellwert als Ergebnis einen Ausgang ein- oder aus schaltet.
Der Teufel liegt im Detail: Ist die Aufgabe, alle 30 Sekunden zu prüfen, ob der Schwellwert über- oder unterschritten wird?
Oder soll jede Sekunde überprüft werden, ob ein Schwellwert der letzten 30 Sekunden über- oder unterschritten wird?
Lass uns mal in das Programm schauen:
1. Konstanten und Variablen deklarieren
2. Setup: Pins als Ein- und Ausgang definieren
3. Eine Tabelle mit N Abfragen füllen
4. Durchschnitt der Tabelle berechnen
5. Schwellwert prüfen und Ausgang schalten
6. Zürück zu 3.
Schade, nicht ganz die Logik, die gewünscht ist. Was kann verbessert werden?
Vor dem Loop brauchen wir eine Tabelle mit 30 Messwerten, die könnte man je nach gewünschtem Ausgangszustand auch am Anfang definieren auf kleiner oder größer als der Schwellwert.
Dann soll jede Sekunde einmal der erste Wert in der Tabelle vergessen werden, alle anderen Tabellenwerte wandern 1 nach vorne, der letzte Tabellenwerte soll durch den aktuellen Messwert ersetzt werden.
Danach den Mittelwert berechnen, mit dem Schwellwert vergleichen und entsprechend den Ausgang schalten.
Ein Programm habe ich jetzt bewußt nicht geschrieben, aber ich hoffe mit dem skizzierten Ablauf doch ein bisschen weiter geholfen zu haben.
Viel Spaß beim frickeln!
Re: Der AVR-/ARDUINO-Faden
Ich hab endlich mal wieder meinen kleinen Arduino aus der Schublade gezogen und mal wieder abgeschlossen.
Als Basis dient das Kotzprogramm mit der fetten RGB LED, ich möchte aber 2 weitere Funktionen hinzufügen.
WHITE-->Alle 3 Farben immer volle Pulle (also Weisses Licht)
COLOR--> 3 Potis an 3 Eingängen werden abgefragt und dessen Werte dann jeweils als PWM auf die 3 Farben gegeben.
Die 2 weitreren Modis hinzufügen war kein Problem, das geht und bei White und Color macht der Controller momentan halt nix.
Aber dann geht´s auch schon wieder los.
Ich möchte erstmal nur die Weiss Funktion (im Code ganz unten) zum laufen bringen und es meckert rum, weil es irgendwelche Klammern vermisst.
Arduino markiert dann ganz oben
Wo fehlt da denn bitteschön noch eine Klammer?!
ich stehe gerade auf voll dem Schlauch
Hier mal der Komplette Code, wäre echt super wenn ihr mir auf die Sprünge helfen könntet
Als Basis dient das Kotzprogramm mit der fetten RGB LED, ich möchte aber 2 weitere Funktionen hinzufügen.
WHITE-->Alle 3 Farben immer volle Pulle (also Weisses Licht)
COLOR--> 3 Potis an 3 Eingängen werden abgefragt und dessen Werte dann jeweils als PWM auf die 3 Farben gegeben.
Die 2 weitreren Modis hinzufügen war kein Problem, das geht und bei White und Color macht der Controller momentan halt nix.
Aber dann geht´s auch schon wieder los.
Ich möchte erstmal nur die Weiss Funktion (im Code ganz unten) zum laufen bringen und es meckert rum, weil es irgendwelche Klammern vermisst.
Arduino markiert dann ganz oben
Code: Alles auswählen
#define DAZZLE 2
ich stehe gerade auf voll dem Schlauch
Hier mal der Komplette Code, wäre echt super wenn ihr mir auf die Sprünge helfen könntet
Code: Alles auswählen
// Bedazzler! A good multiple LED PWM project, by Limor Fried
// Public domain 2009
#include <util/delay.h>
int value;
int redpin1 = 5, redpin2 = 6;
int greenpin1 = 3, greenpin2 = 11;
int bluepin1 = 9, bluepin2 = 10;
int ledmax;
#define GLITTER 0
#define SWIRL 1
#define DAZZLE 2
#define WHITE 3
#define COLOR 4
volatile int mode = DAZZLE;
// we use a button on pin 2 (interrupt pin) to detect mode changes
void modechange(void)
{
// debounce it
if (digitalRead(2) == LOW) {
_delay_ms(10);
if (digitalRead(2) != LOW)
return;
Serial.println("button");
mode++;
if (mode > 4)
mode = 0;
Serial.print("new mode! ");
Serial.println(mode, DEC);
}
}
void setup()
{
pinMode(2, INPUT);
digitalWrite(2, HIGH); // pullup on mode button
attachInterrupt(0, modechange, CHANGE);
Serial.begin(9600);
randomSeed(analogRead(0));
// nothing for setup
analogWrite(redpin1, 0);
analogWrite(redpin2, 0);
analogWrite(greenpin1, 0);
analogWrite(greenpin2, 0);
analogWrite(bluepin1, 0);
analogWrite(bluepin2, 0);
ledmax = 250; // change this value to adjust the maximum brightness
}
void loop()
{
switch(mode) {
case SWIRL:
//Serial.println("swirl");
ckswirl(ledmax, 10);
break;
case GLITTER:
//Serial.println("glimmer");
glimmertest(ledmax, ledmax/10, 30);
break;
case DAZZLE:
//Serial.println("dazzle");
bedazzle(ledmax, 10, 7, 11);
break;
}
}
void bedazzle(int ledmax, int pulselensec, int freqmin, int freqmax) {
long pulses;
analogWrite(redpin1, 0);
analogWrite(redpin2, 0);
analogWrite(greenpin1, 0);
analogWrite(greenpin2, 0);
analogWrite(bluepin1, 0);
analogWrite(bluepin2, 0);
// note we dont use red LEDs in this
int freq = random(freqmin, freqmax+1);
int pulsedelay = 1000/freq;
pulsedelay /= 2;
pulses = pulselensec;
pulses *= 1000;
pulses /= 2*pulsedelay;
/*
Serial.print("pulsing at ");
Serial.print(freq, DEC);
Serial.print(" Hz (");
Serial.print(pulsedelay, DEC);
Serial.println(" ms on/off)");
Serial.print(pulses);
Serial.println(" pulses");
*/
while (pulses--) {
analogWrite(greenpin1, ledmax);
analogWrite(greenpin2, ledmax);
analogWrite(bluepin1, ledmax);
analogWrite(bluepin2, ledmax);
analogWrite(redpin1, ledmax);
analogWrite(redpin2, ledmax);
_delay_ms(pulsedelay);
analogWrite(greenpin1, 0);
analogWrite(greenpin2, 0);
analogWrite(bluepin1, 0);
analogWrite(bluepin2, 0);
analogWrite(redpin1, 0);
analogWrite(redpin2, 0);
_delay_ms(pulsedelay);
if (mode != DAZZLE) return;
}
}
void ckswirl(int ledmax, uint8_t z) {
int r, g, b;
// fade from red to orange to yellow to green
for (g=0; g<255; g++) { // turn red down
analogWrite(redpin1, ledmax-g);
analogWrite(redpin2, ledmax-g);
analogWrite(greenpin1, g); // sets the value (range from 0 to 255)
analogWrite(greenpin2, g); // sets the value (range from 0 to 255)
delay(z);
if (mode != SWIRL) return;
}
// fade from green to blue
for (b=0; b<255; b++) { // turn red down
analogWrite(bluepin1, b);
analogWrite(bluepin2, b);
analogWrite(greenpin1, ledmax-b); // sets the value (range from 0 to 255)
analogWrite(greenpin2, ledmax-b); // sets the value (range from 0 to 255)
delay(z);
if (mode != SWIRL) return;
}
// from blue to red
for (r=0; r<255; r++) { // turn red down
analogWrite(redpin1, r);
analogWrite(redpin2, r);
analogWrite(bluepin1, ledmax-r); // sets the value (range from 0 to 255)
analogWrite(bluepin2, ledmax-r); // sets the value (range from 0 to 255)
delay(z);
if (mode != SWIRL) return;
}
}
void glimmertest(int maxvalue, int incr, int z) {
for(value = 0 ; value <= maxvalue; value+=incr)
{
analogWrite(greenpin1, value); // sets the value (range from 0 to 255)
analogWrite(greenpin2, maxvalue-value); // sets the value (range from 0 to 255)
analogWrite(bluepin1, value);
analogWrite(bluepin2, maxvalue-value); // sets the value (range from 0 to 255)
analogWrite(redpin1, value);
analogWrite(redpin2, maxvalue-value); // sets the value (range from 0 to 255)
delay(z); // waits for 30 milli seconds to see the dimming effect
if (mode != GLITTER) return;
}
for(value = maxvalue; value >=0; value-=incr) // fade out (from max to min)
{
analogWrite(greenpin1, value);
analogWrite(greenpin2 , maxvalue-value); // sets the value (range from 0 to 255)
analogWrite(bluepin1, value);
analogWrite(bluepin2, maxvalue-value); // sets the value (range from 0 to 255)
analogWrite(redpin1, value);
analogWrite(redpin2, maxvalue-value); // sets the value (range from 0 to 255)
delay(z);
if (mode != GLITTER) return;
}
}
void WHITE (int ledmax, ) {
digitalWrite (redpin1, HIGH);
digitalWrite (redpin2, HIGH);
digitalWrite (greenpin1, HIGH);
digitalWrite (greenpin2, HIGH);
digitalWrite (bluepin1, HIGH);
digitalWrite (bluepin2, HIGH);
}
Re: Der AVR-/ARDUINO-Faden
Schau mal das an :Der Compiler erwartet da noch was. Mach mal das Komma weg.
Tipp am Rand zum Programmierstil: Variablennamen klein, Defines groß schreiben, Funktionsnamen auch klein.
Code: Alles auswählen
void WHITE (int ledmax, ) {
Tipp am Rand zum Programmierstil: Variablennamen klein, Defines groß schreiben, Funktionsnamen auch klein.
Re: Der AVR-/ARDUINO-Faden
Danke für den Hinweis, hab das grade mal probiert(Komma weg), nun meints bei:
error: expected declaration before '}' token
Erwartet es noch irgendwelche Klammern die ich vergessen hab?
Code: Alles auswählen
void WHITE (int ledmax ) {
Erwartet es noch irgendwelche Klammern die ich vergessen hab?
Re: Der AVR-/ARDUINO-Faden
Entferne mal das Leerzeichen zwischen Funktionsnamen und Parameterliste. Vielleicht reicht das schon.
Re: Der AVR-/ARDUINO-Faden
Öhm das kann so nicht funktionieren
WHITE ist einerseits ein define (ganz oben in der Datei) und andererseits ist es eine Funktion. Die müssen schon anders heißen, für den C Compiler reicht da auch schon Groß/Kleinschreibung.
(Wobei das kein guter Stil wäre)
WHITE ist einerseits ein define (ganz oben in der Datei) und andererseits ist es eine Funktion. Die müssen schon anders heißen, für den C Compiler reicht da auch schon Groß/Kleinschreibung.
(Wobei das kein guter Stil wäre)
Re: Der AVR-/ARDUINO-Faden
Ah!
Danke Sven!
Das war die Lösung!
Das Kompilieren klappt nun.
Die portpin´s werden im entsprechenden Modus noch nicht auf High gezogen, da fehlt noch was in der void loop.
Aber da gucke ich morgen nach
Danke Sven!
Das war die Lösung!
Das Kompilieren klappt nun.
Die portpin´s werden im entsprechenden Modus noch nicht auf High gezogen, da fehlt noch was in der void loop.
Aber da gucke ich morgen nach
Re: Der AVR-/ARDUINO-Faden
Hi,
also nochmal zu meinem Dämmerungs Schalter und evtueller Kommunikationsproblemen:
Die "For" Schleife hab ich mir nich selbst ausgedacht. Die hab ich aus nem Beispielprogramm geklaut.
Mir geht es bei der Aufgabenstellung einfach dadrum, das der Ausgang ( zb die Lampe) später nicht ständig an und aus geht, wenn mal ein dunkles Wölkchen am Himmel ist.
Ich hab mir das jez so überlegt:
Ich nehm meinen Helligkeitswert- Wenn der über dem Schwellwert ist, addiere ich zu einer Variable x "1" dazu.
Dann mache ich einen Delay, von zb 5000ms und prüfe wieder.
Das ganze dann 6 mal hintereinander.
Wenn x = 6 , dann schaltet mein Ausgang. ( digital High)
Wenn nicht, (digital LoW)
Sollte gehn, oder?
Jez müsste ich nur noch wissen, wie ich die Variable addiere....
Ando
also nochmal zu meinem Dämmerungs Schalter und evtueller Kommunikationsproblemen:
Die "For" Schleife hab ich mir nich selbst ausgedacht. Die hab ich aus nem Beispielprogramm geklaut.
Mir geht es bei der Aufgabenstellung einfach dadrum, das der Ausgang ( zb die Lampe) später nicht ständig an und aus geht, wenn mal ein dunkles Wölkchen am Himmel ist.
Ich hab mir das jez so überlegt:
Ich nehm meinen Helligkeitswert- Wenn der über dem Schwellwert ist, addiere ich zu einer Variable x "1" dazu.
Dann mache ich einen Delay, von zb 5000ms und prüfe wieder.
Das ganze dann 6 mal hintereinander.
Wenn x = 6 , dann schaltet mein Ausgang. ( digital High)
Wenn nicht, (digital LoW)
Sollte gehn, oder?
Jez müsste ich nur noch wissen, wie ich die Variable addiere....
Ando
Re: Der AVR-/ARDUINO-Faden
Prinzipiell ja, führt aber zum "klappern", wenn die Helligkeit in der Nähe des Schwellwertes (der Summe) liegt -> Ist einmal einer der sechs Messwerte darunter, schaltet das Teil schon wieder aus. Deshalb ist es empfehlenswert, eine Hysterese einzubauen: Bei >5 (6+) wird eingeschaltet, ist die Lampe jedoch schon an, wird erst bei <5 (4-) wieder abgeschaltet. Du verwendest also zwei Schwellwerte abhängig vom Zustand des "Ausgangs" -> einen zum Einschalten, einen zum Ausschalten.ando hat geschrieben:Sollte gehn, oder?
Summe = Summe + 1; ? Oder einfacher "Summe++;" Und nicht vergessen, am Anfang die Summe auf Null zu setzenando hat geschrieben:Jez müsste ich nur noch wissen, wie ich die Variable addiere....