Der AVR-/ARDUINO-Faden

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Lars_Original
Beiträge: 506
Registriert: Mo 12. Aug 2013, 08:21
Wohnort: Burghaun (im Zentrum des Wahnsinns)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Lars_Original »

Wenn da noch ein Transistor eingebaut wird, kann man den auch als Stromquelle für die LED benutzen.
Den Widerstand (oder einen Teil davon) könnte man nun mit einem kleinen Kondensator brücken um den Strom im Pulsbetrieb zu erhöhen, bei Dauerstrich aber im zulässigen Rahmen zu halten.


Lars
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Kann mir kurz jemand sagen, ob der PT6311 tatsächlich SPI spricht (Seite 14ff), wie es im Netz bei vergleichbaren Chips angedeutet, aber nicht explizit gesagt wird? Habe zugegebenermaßen von dem SPI keine Ahnung, daher weiß ich nicht, ob das mit den >1µs twait vor der Antwort normal ist und die Hardware-SPI vom AVR das auch so macht.
Benutzeravatar
Fritzler
Beiträge: 12602
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Der AVR-/ARDUINO-Faden

Beitrag von Fritzler »

Das is sowas von SPI ;)
Musst eben nurnoch den SPI Modus rausfinden.

twait ist kein problem, der AVR SPI ist Byte orientiert.
Also Data Read Befehl senden, warten und dann NUllbytes senden mit der SPI Takte erzeugt und dann Byteweise einlesen.
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Fritzler hat geschrieben:Das is sowas von SPI ;)
Sehr schön, das hatte ich gehofft, danke für die klare Aussage!
Fritzler hat geschrieben:Musst eben nurnoch den SPI Modus rausfinden.
Öhm, Mode? Da gibt's Modes? Oder ist damit Master vs. Slave gemeint?
Fritzler hat geschrieben:twait ist kein problem, der AVR SPI ist Byte orientiert.
Also Data Read Befehl senden, warten und dann NUllbytes senden mit der SPI Takte erzeugt und dann Byteweise einlesen.
OK, das muß ich mir dann also noch ansehen. Macht ja irgendwie auch Sinn, daß das SPI-Modul nicht wissen kann, ob das Byte nun ein Read-Befehl ist oder sonstwas. :)
Ich muß also wirklich Nullen senden, bevor ich lesen kann, trotz HW-SPI? Gut zu wissen, das hätte mich bestimmt schön gebissen.
Benutzeravatar
Fritzler
Beiträge: 12602
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Der AVR-/ARDUINO-Faden

Beitrag von Fritzler »

Zu den SPI Modes guckst du ins AVR Datenblatt, das ist da sehr gut beschrieben.
Damit der Slave was sendet brauchter nen Takt, der Takt kommt immer vom SPI Master.
Wie bekommt man den SPI Master dazu nen Takt rauszuwerfen?
Jo, er sendet irgendein Müll, der Slave "weis" ja, dass er jetzt senden soll weil vorher ein read Befehl kam.
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

OK, dann ist das geklärt, danke! Daß die Clock nicht einfach durchläuft, hat vermutlich den Grund, daß man dadurch dann die Start Condition anzeigt, anstatt irgendwelche sonstige Synchronisation machen zu müssen?
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

So, der Anfang ist gemacht, siehe http://www.fingers-welt.de/phpBB/viewto ... 49#p121249 Erfreunis der Woche.
Mein TV-B-Gone läuft. Schaltung funzt so:
tvbgone.JPG
Software kommt (wie auch die Schaltung) von hier:
http://www.righto.com/2010/11/improved- ... -gone.html

Ich freu mich gerade ziemlich, aber immer son Arduino mit gesteckten Pins ist irgendwie nervig, fehleranfällig und auffällig.
Meine Frage:
Kann ich das Programm auch leicht auf andere Attinys bringen? Es gibt viele TV-B-Gone Nutzer, die den Attiny 85 dafür benutzen. Der ist klein und billig. Wenn ich den auf Lochraster bringe und die Software weiter verwenden kann, würde ich das vielleicht noch schaffen. Ich bin halt Einsteiger und eher Grobmotoriker.
Glück Auf,
Thomas
Edith will wissen, ob der Taster ohne widerstand so in Ordnung geht. (Die Notwendigkeit der Widerstände ist mir noch unklar.)
Benutzeravatar
Nicki
Beiträge: 3128
Registriert: So 11. Aug 2013, 20:16
Wohnort: wo Mosel und Rhein sich treffen

Re: Der AVR-/ARDUINO-Faden

Beitrag von Nicki »

Münsterländer hat geschrieben: Edith will wissen, ob der Taster ohne widerstand so in Ordnung geht.
Falls das Programm mit einem internen Pullupwiderstand arbeitet passt das.
Die Baustelle "LED" erscheint mir wesentlich wichtiger
(Die Notwendigkeit der Widerstände ist mir noch unklar.)
Guck dir mal das I/U-Diagramm einer Diode an, dann sollte dir ein Licht aufgehen ;)
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Der AVR-/ARDUINO-Faden

Beitrag von xoexlepox »

Münsterländer hat geschrieben:Wenn ich den auf Lochraster bringe und die Software weiter verwenden kann, würde ich das vielleicht noch schaffen.
Das "Problem" wird wohl eher sein, das Programm in den Chip zu bekommen -> Die "Annehmlichkeiten" des Entwickungsboards mit USB (und vmtl. RS232-Chip) hat ein "nackter" Chip nicht mehr, und du benötigst ggf. einen Programmer. Mglw. kannst du dazu auch das Entwicklungsboard verwenden ;)
der Taster ohne widerstand so in Ordnung geht.
Ich vermute, daß der Taster an einem Eingang mit "internen Pullup" (ist ähnlich einem Widerstand) betrieben wird. Da sehe ich den Anschluß der LED ohne Vorwiderstand eher als "kritisch" an...
Die Notwendigkeit der Widerstände ist mir noch unklar.
Die dienen dazu, den Strom zu begrenzen -> Beliebig viel Strom "kann" solch ein Chip auch nicht ab...

Ok, Nicki war schneller...
Anse
Beiträge: 2307
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Anse »

Wie das Mit Widerständen, LEDs und Arduino so ist erklärt der Herr hier ganz gut:https://youtu.be/bdWINZIgdms?t=797. :twisted:
Natürlich so nicht machen. :roll:
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Danke für die schnellen Antworten!
@Nicki
Nicki hat geschrieben: Die Baustelle "LED" erscheint mir wesentlich wichtiger
Widerstand an der LED habe ich erstmal weg gelassen, weil ich auf mehr Reichweite hoffe. Brennt die LED durch, nehme ich eine neue, dann aber mit Widerstand. Oder meintest du, dass keine IR LED im Plan steht. Die habe ich im Teileverzeichnisvon Fritzing.org auf die Schnelle nicht gefunden.
Benutzeravatar
Nicki
Beiträge: 3128
Registriert: So 11. Aug 2013, 20:16
Wohnort: wo Mosel und Rhein sich treffen

Re: Der AVR-/ARDUINO-Faden

Beitrag von Nicki »

Münsterländer hat geschrieben: Brennt die LED durch, nehme ich eine neue, dann aber mit Widerstand.
Ich mache mir jetzt eher Sorgen um den AVR, so eine IRED kann relativ hohe Ströme ab.
Aus Faulheit mache ich sowas lieber direkt ordentlich, ist mir sonst viel zu wahrscheinlich dass ich da noch mal beigehen muss.
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Oh, ich habe mit 10 Cent Verlust für die LED gerechnet. Bevor ich nen neuen Uno brauche löte ich lieber nen Widerstand dran.
Danke für die Info.
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Den Programmer kannst Du Dir sparen, indem Du den fertig programmierten Chip aus dem Arduino nimmst und auf das Board setzt. Mußt nur darauf achten, daß Du dieselben Pins kontaktierst (und auf den internen RC-Oszillator fusest). Wenn Du ihn sockelst, kannst Du den zum Neuprogrammieren zur Not wieder in den Arduino stecken. Allerdings müßtest Du dann, wenn Du den Arduino weiterbenutzen willst, einen neuen Chip einsetzen, der einen Arduino-Bootloader gebrannt hat, was ohne einen Programmer (mit dem Du auch ohne Arduino den Tiny beschreiben könntest) nicht geht.
Benutzeravatar
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

Beitrag von Heaterman »

Um das weiter zu spinnen: wenn man gar keinen Programmer einsetzen will, kann man auch fertig mit Bootloader programmierte Chips kaufen:

http://www.amazon.de/s/?ie=UTF8&keyword ... gm29nnwo_b

So einen Chip in den UNO stecken, per USB mit dem Programm bespielen, dann raus und in der Minimal-Standardbeschaltung auf die eigene Applikation. Neuen Chip in den UNO usw.
Ist eine bequeme und stressfreie Einsteigerlösung.

Für etwas mehr Gehirnschmalz-Einsatz gibts tausend Lösungen im Netz unter "Bootloader Arduino". Ich nehm dazu einen USBasp und die myAVR-Prog-Software. Einfacher gehts kaum für Einsteiger.


Unterm Strich sind dann aber heute zehn Arduino Nanos vom Ali billiger... Muss man nur Zeit haben.
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Das sind die Infos die ich brauchte. Da ich leider die Billigvariante vom Uno habe kann ich den Controler nicht rausnehmen. Aber wenn das ansonsten geht muss ein Originalteil her. Ne Programmierschnittstelle sollte aus meinem Einführungskurs sogar noch da sein. Das war aber eher hakelig . Über den Arduino läuft es einfach sehr benutzerfreundlich ab.
Wobei das Argument mit den Chinateilen die im Nano verbaut billiger sind als einzelne µc schon zieht. Die Geduld fehlt allerdings. Ich habe einiges in China bestellt, das wird aber erst Mitte Februar kommen (hoffe ich). Das ist in Zeiten von Amazon Prime etc. schon ne Nummer.
margau
Beiträge: 78
Registriert: Sa 7. Nov 2015, 23:15
Wohnort: Rhein-Main

Re: Der AVR-/ARDUINO-Faden

Beitrag von margau »

Hallo zusammen!
Man kann auch den Arduino als ISP-Adapter für spätere Breadboard und Lochraster-Varianten nehmen. Funktionierte bei mir so naja.

Mein Plan sieht jetzt so aus, das ich überall einen 6-pol wannenstecker drauflöte, und das ganze mit nem <10€ USBasp und der Arduino-IDE programmiere ("Uploaden mit Programme").

Dann hat man halt auf dem Breadboard keine Serielle Schnittstelle zum debuggen, aber selbst da könnte man eine Buchsenleiste für ein FT232-Breakout vorsehen.

Viele Grüße!
margau
Sir_Death
Beiträge: 3446
Registriert: Mo 11. Mai 2015, 22:36
Wohnort: südlich von Wien

Re: Der AVR-/ARDUINO-Faden

Beitrag von Sir_Death »

In Zeiten in denen 5 China-Nano-Clones inkl. Versand um 12,99 zu haben sind, bestelle ich die nur noch im 10er-Pack (und wenn nur noch 2-3 Stück da sind, wird nachbestellt)
http://www.ebay.at/itm/121507227435?_tr ... EBIDX%3AIT

Da ist die serielle (über USB) dabei, ein Spannungswandler (Eingang 7-12V --> Ausgang 5V) und nachdem die Steckleisten nicht eingelötet sind, kann man auch Drähte direkt anlöten...

Für alle größeren Projekte (Nano-Pins zu wenig) gibt's den MEGA...

P.S.: Da fällt mir ein, ich muss mal wieder ordern :lol: :lol: :lol:
Benutzeravatar
Trax
Beiträge: 1677
Registriert: Mi 30. Okt 2013, 23:21

Re: Der AVR-/ARDUINO-Faden

Beitrag von Trax »

Sir_Death hat geschrieben: Für alle größeren Projekte (Nano-Pins zu wenig) gibt's den MEGA...:
gibts die noch biliger als das: http://www.ebay.at/itm/NEW-ATmega2560-1 ... SwPe1T6WAd
Sir_Death
Beiträge: 3446
Registriert: Mo 11. Mai 2015, 22:36
Wohnort: südlich von Wien

Re: Der AVR-/ARDUINO-Faden

Beitrag von Sir_Death »

wow - ich hatte bisher als kleinsten Preis 8,49 - geht ja noch besser... :-)

Wenn es schnell gehen muss, nehme ich beim Mega meist den hier: http://www.ebay.at/itm/Neu-SunFounder-L ... xylpNTSOvL
Profipruckel
Beiträge: 1506
Registriert: Di 13. Aug 2013, 19:10
Wohnort: Niedersachsen Süd-Ost

Re: Der AVR-/ARDUINO-Faden

Beitrag von Profipruckel »

Sir_Death hat geschrieben:wow - ich hatte bisher als kleinsten Preis 8,49 - geht ja noch besser...
Na, wenn schon "Artikelstandort China", dann doch gleich direkt:

http://www.aliexpress.com/item/Mega-256 ... 18bc0c7bad

Aktuell $5,90 ... ab 5,98 USD jede Menge Angebote.
Sir_Death
Beiträge: 3446
Registriert: Mo 11. Mai 2015, 22:36
Wohnort: südlich von Wien

Re: Der AVR-/ARDUINO-Faden

Beitrag von Sir_Death »

Trax hat geschrieben:gibts die noch biliger als das: http://www.ebay.at/itm/NEW-ATmega2560-1 ... SwPe1T6WAd
VORSICHT!!!
Aus dem Angebot:
USB Driver Chip: CH340G replace the Atmega 8U2/16U2
caution: No availabe for WIN8: aution: No availabe for WIN8

da frag ich mich was der bei WIN10 macht? - da bleib ich lieber bei http://www.ebay.de/itm/261724251567?_tr ... EBIDX%3AIT

Der hat den Originalen 16U2
margau
Beiträge: 78
Registriert: Sa 7. Nov 2015, 23:15
Wohnort: Rhein-Main

Re: Der AVR-/ARDUINO-Faden

Beitrag von margau »

Also der CH340 der auf den meisten Nanos drauf ist funktioniert unter Windows 10. Einzige Komplikation war glaube ich was von wegen unsignierte Treiber oder so.

Viele Grüße!
margau
Profipruckel
Beiträge: 1506
Registriert: Di 13. Aug 2013, 19:10
Wohnort: Niedersachsen Süd-Ost

Re: Der AVR-/ARDUINO-Faden

Beitrag von Profipruckel »

Sir_Death hat geschrieben:VORSICHT!!!
USB Driver Chip: CH340G replace the Atmega 8U2/16U2
caution: No availabe for WIN8: aution: No availabe for WIN8
Damit das bloß nicht zu einfach wird, heisst der Treiber CH341.

Herr Kainka sagt auf seiner Internetseite Windows (ab Windows 98 bis Windows 10, 32-Bit/64-Bit)
Myvesdin
Beiträge: 45
Registriert: Sa 5. Apr 2014, 10:20

Re: Der AVR-/ARDUINO-Faden

Beitrag von Myvesdin »

Moin Moin,

hab derzeit nen massiven Gehirnknoten.

Ich will mit einem Arduino SMS empfangen und auf einem LCD Display den Inhalt ausgeben.
Ich hab jetzt aber schon mit dem korrekten auswerten der Seriellen Daten vom GSM-Modul (TC35) Probleme.
Kann mir da vlt. jemand helfen?

Code sieht bis jetzt so aus:

Code: Alles auswählen

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
int val = 0;
long abruf = 0;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  mySerial.begin(9600);
  pinMode(13, OUTPUT);
  pinMode(4, INPUT);
  digitalWrite(4, LOW);
  pinMode(4, OUTPUT);
  delay(100);
  pinMode(4, INPUT); 
  Serial.println("Goodnight moon!");
  delay(5000);
  //mySerial.println("AT");
  delay(1500);
  mySerial.println("AT+CPIN=7021");
  delay(1500);
  //mySerial.println("AT+CMGF=1");
  Serial.println("Ready");
  delay(200);
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());   
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
    
  }
   abruf = abruf + 1;
    if (abruf > 1000000){
    readsms(); 
    abruf=0;   
  }
   
 
  }

void readsms(){
  mySerial.println("AT+CMGF=1");
  delay(200);
  mySerial.println("AT+CMGR=1");
  delay(200);
  mySerial.println("AT+CMGD=1");
  delay(200);  
  }
Der Teil, den ich brauch wird von zwei "!" oder ":" vorne und hinten gekennzeichnet (jenachdem was besser passt).
Ich hoffe jemand kann helfen :?


Grüße
Benutzeravatar
Daniel
Beiträge: 859
Registriert: Mi 14. Aug 2013, 21:43
Wohnort: NRW

Re: Der AVR-/ARDUINO-Faden

Beitrag von Daniel »

Arduino: 1.6.6 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\quinta\Documents\Arduino\Ampeldrei\Ampeldrei.ino: In function 'void setup()':

Ampeldrei:9: error: expected ';' before 'pinMode'

pinMode(gelbPin, OUTPUT) //die

^

C:\Users\quinta\Documents\Arduino\Ampeldrei\Ampeldrei.ino: In function 'void loop()':

Ampeldrei:16: error: too few arguments to function 'void digitalWrite(uint8_t, uint8_t)'

digitalWrite(rotPin), HIGH) //Macht Rot an.

^

In file included from sketch\Ampeldrei.ino.cpp:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: note: declared here

void digitalWrite(uint8_t, uint8_t);

^

Ampeldrei:16: error: expected ';' before ')' token

digitalWrite(rotPin), HIGH) //Macht Rot an.

^

Ampeldrei:18: error: too few arguments to function 'void digitalWrite(uint8_t, uint8_t)'

digitalWrite(gelbPin), HIGH) //Macht Gelb an.

^

In file included from sketch\Ampeldrei.ino.cpp:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: note: declared here

void digitalWrite(uint8_t, uint8_t);

^

Ampeldrei:18: error: expected ';' before ')' token

digitalWrite(gelbPin), HIGH) //Macht Gelb an.

^

Ampeldrei:21: error: expected ';' before 'digitalWrite'

digitalWrite(gelbPin, LOW) //Macht Gelb aus.

^

Ampeldrei:25: error: expected ';' before 'delay'

delay(1000); //Wartet 1 Sekunde.

^

Ampeldrei:26: error: too few arguments to function 'void digitalWrite(uint8_t, uint8_t)'

digitalWrite(gelbPin), HIGH) //Macht Gelb an.

^

In file included from sketch\Ampeldrei.ino.cpp:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: note: declared here

void digitalWrite(uint8_t, uint8_t);

^

Ampeldrei:26: error: expected ';' before ')' token

digitalWrite(gelbPin), HIGH) //Macht Gelb an.

^
Hallo,
kann mir einer helfen?
Ich werde noch wahnsinnig. Danke

Ampeldrei:29: error: expected ';' before 'digitalWrite'

digitalWrite(rotPin), HIGH) //Macht Rot an.



exit status 1
expected ';' before 'pinMode'
margau
Beiträge: 78
Registriert: Sa 7. Nov 2015, 23:15
Wohnort: Rhein-Main

Re: Der AVR-/ARDUINO-Faden

Beitrag von margau »

Hallo!
Alles keine Kunst, der sagt dir was falsch ist.
So meckert er bei
"Ampeldrei:9: error: expected ';' before 'pinMode'",
dass ein ; nach dem Befehl fehlt. Und? Ist da ein Semikolon am Ende das Befehls?

Sonst schau dir alles nochmal genau an, beim Fehler in der Zeile 16 ist zum Beispiel eine Klammer zwischendrin zu viel.

Das sind meistens einfache Syntaxfehler, wie Semikolon nach Befehl fehlt oder Klammer falsch geöffnet/geschlossen.

Viele Grüße!
margau
Benutzeravatar
Fritzler
Beiträge: 12602
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Der AVR-/ARDUINO-Faden

Beitrag von Fritzler »

Benutzeravatar
Bauteiltöter
Beiträge: 254
Registriert: So 11. Aug 2013, 17:37

Re: Der AVR-/ARDUINO-Faden

Beitrag von Bauteiltöter »

Bild
Ampeldrei:9: error: expected ';' before 'pinMode'
pinMode(gelbPin, OUTPUT) //die
Frei übersetzt:
Ampeldrei Zeile 9 Fehler: erwarte ';' vor pinMode. Was fehlt da wohl?
Ampeldrei:16: error: too few arguments to function 'void digitalWrite(uint8_t, uint8_t)'
digitalWrite(rotPin), HIGH) //Macht Rot an.
Ampeldrei Zeile 16 Fehler: zu wenig Argumente für Funktion 'void digitalWrite(uint8_t, uint8_t)'
Nun, der Compiler sagt dir, dass er zwei Argumente erwartet, aber weniger gefunden hat. Also einfach die Zeile noch mal lesen:
digitalWrite(rotPin), HIGH)
da wird digitalWrite offensichtlich nur mit einem Parameter aufgerufen, danach steht noch Müll -> Das soll wohl eher nicht so sein. Außerdem fehlt da ein ';'.
Semikolon werden in C hinter die allermeisten Zeilen geschrieben, wenn irgendwo kein Semikolon steht sollte das ins Auge springen. (Berümteste Ausnahme: if!!!)
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: note: declared here
void digitalWrite(uint8_t, uint8_t);
In Arduino.h Zeile 126: hinweis: die Funktion wurde hier deklariert. Nur ein freundlicher Hinweis des Compilers.
Der Rest sind nur Wiederholungen des gleichen Fehlers.

Also eigentlich alles ncihts weltbewegendes, alle Fragen ließen sich mit einfachem Textverständnis beantworten.
Am Ende ist der Compiler sogar noch so Freundlich
Benutzeravatar
Daniel
Beiträge: 859
Registriert: Mi 14. Aug 2013, 21:43
Wohnort: NRW

Re: Der AVR-/ARDUINO-Faden

Beitrag von Daniel »

margau hat geschrieben:Hallo!
Alles keine Kunst, der sagt dir was falsch ist.
So meckert er bei
"Ampeldrei:9: error: expected ';' before 'pinMode'",
dass ein ; nach dem Befehl fehlt. Und? Ist da ein Semikolon am Ende das Befehls?

Sonst schau dir alles nochmal genau an, beim Fehler in der Zeile 16 ist zum Beispiel eine Klammer zwischendrin zu viel.

Das sind meistens einfache Syntaxfehler, wie Semikolon nach Befehl fehlt oder Klammer falsch geöffnet/geschlossen.

Viele Grüße!
margau
Hallo und danke, habe noch mal genau drüber geschaut und die Fehler sind behoben.
Nun läuft das Teil.
Benutzeravatar
Daniel
Beiträge: 859
Registriert: Mi 14. Aug 2013, 21:43
Wohnort: NRW

Re: Der AVR-/ARDUINO-Faden

Beitrag von Daniel »

Hallo,
läuft super...
mir fällt das Programmieren nicht leicht.

https://youtu.be/rrOnpfSCswc

Gruß vom Daniel
margau
Beiträge: 78
Registriert: Sa 7. Nov 2015, 23:15
Wohnort: Rhein-Main

Re: Der AVR-/ARDUINO-Faden

Beitrag von margau »

Hallo!
Ich habe ein Problem mit den AVR-Timern, leider läuft der Timer 1 im CTC-Mode nicht so wie er soll.
Programmieren tue ich das ganze derzeit noch in der Arduino-IDE, da ich Timer 1 benutze und der nur für Servos gebraucht wird sollte das aber kein Problem darstellen.
Ziel ist, dass im CTC-Modus die Interrupt-Funktion nach einer in einem anderen Programmteil in OCR1A geschriebenen Anzahl Takte den Interrupt auslöst.
Um das zu testen Stelle ich einmal pro Sekunde eine LED an, die im Interrupt ausgehen sollte. Dies tut sie leider nicht.

Hat jemand eine Idee, woran das liegen könnte? Ich habe leider nach einigen Datenblattseiten, Tutorials etc. keinen Fehler gefunden.

Das Projekt ist eine Festplatten-Uhr.

Hier der Code mit dem Timer:

Code: Alles auswählen

   
void setup() {

[...] 

    TCCR1B |= (1 << WGM12);
    // Mode 4
   

    TCCR1B |= (1 << CS12);
    // set prescaler to 256
     TIMSK1 |= (1 << OCIE1A);
    //Interrupt
    OCR1A = 50;
sei();


}
ISR (TIMER1_COMPA_vect)
{
  noInterrupts();
  digitalWrite(p_red, LOW);
  interrupts();
   //Interrupt
}
Danke und Viele Grüße!
margau
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Hallo in die Runde!
Nachdem ich meinen TV B Gone verkleinert habe, so dass er in einer Metallbombondose schön in die Hand passt, bin ich ziemlich angefixt. Aber wie es oft läuft habe ich deutlich mehr Fragen als Antworten. Meine aktuelle Baustelle ist eine Sirene und Blaulicht für die Playmobilautos meines Sohnes. Soweit geht es. Aus verschiedenen Sketches habe ich mir das Passende rausgesucht und modifiziert, so dass die Frequenzen und Wechsel für mich passen. Den Code frei zu schreiben gelingt noch nicht, aber mit Copy / Paste geht es. Ich verstehe einfache Sachen soweit, dass ich sie anpassen kann. Am Rest arbeite ich.
Ich habe mir diese Schaltung aufgebaut.
Sirene.JPG
Ich habe diesmal auch wie empfohlen den Schalter mit Widerstand versehen. Die Schaltung läuft ordnungsgemäß, wenn der Schalter geschlossen ist. Wenn ich ihn loslasse, brummt der Summer oder auch Lautsprecher aber sehr störend. Liegt es an der Schaltung oder am Code?
/*

int led1 = 8;
int led2 = 9;
int speaker = 10;
int taster = 7;
int hiNote = 659;
int lowNote = 440;
int ledDelay = 60;
int tone_number = 0;
int loop_number = 0;

void setup() {
// initialize the digital pin as an output.
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(speaker, OUTPUT);
pinMode (taster, INPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite (speaker, LOW);
digitalWrite(taster, LOW);
}

void loop() {
if (digitalRead(taster)==HIGH){
digitalWrite(led1, LOW);
delay(ledDelay);
digitalWrite(led2, HIGH);
delay(ledDelay);
digitalWrite(led2, LOW);
delay(ledDelay);
digitalWrite(led2, HIGH);
delay(ledDelay);
digitalWrite(led2, LOW);
delay(ledDelay);
digitalWrite(led2, HIGH);
delay(ledDelay);

digitalWrite(led2, LOW);
delay(ledDelay);
digitalWrite(led1, HIGH);
delay(ledDelay);
digitalWrite(led1, LOW);
delay(ledDelay);
digitalWrite(led1, HIGH);
delay(ledDelay);
digitalWrite(led1, LOW);
delay(ledDelay);
digitalWrite(led1, HIGH);
} else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(speaker, LOW);
}
if (loop_number >= 1){
loop_number = 0;
changeTone();
}
loop_number++;
// GPIO to flip switch to turn off siren and lights
}


void changeTone()
{
tone_number = !tone_number;
if (tone_number) {
tone(speaker, lowNote, 1000);
} else {
tone(speaker, hiNote, 1000);
}

}


Weiterhin überlege ich, wie ich die Schaltung am Feuerwehrauto mit Strom versorge. Die original Playmobildinger laufen nach dem Drücken des Tasters für ca. 20 sekunden. Das werde ich über ein Delay reinbasteln können. Aber die Schaltung hat dann ja dauerhat Strom. Gibt es eine Möglichkeit, dass die Stromzuführung nach einiger Zeit unterbrochen wird? Ich selber habe zwei Ansätze. Entweder ein Kippschalter, der aber immer vergessen wird auszuschalten, oder einen NE555 und Kondensator. Gibt es eine Patentlösung, die ich nicht kenne?
Ich freue mich auf Tipps und Vorschläge,
Thomas
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Also die Selbstabschaltung kann der AVR selber machen. Ein Transistor in der Zuleitung, der von einem AVR-Pin angesteuert wird, sobald der Saft bekommt, und über einen Timer nach 20 Sek ausgeschaltet wird. Also z.B. so wie beim Transistortester (Seite 10).
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

@ Name vergessen: Super, Danke! Muss mich jetzt erst mal wieder damit beschäftigen, bis ich das konkret hinkriege, aber ich habe eine grobe Vorstellung davon, wie es gehen könnte. Wenn ich das Ganze über einen dem Arduino vorgelagerten Schalter ansteuer habe ich auch das Brummproblem behoben. Ich bleibe dran und werde in den kommenden Tagen berichten!
Glück Auf,
Thomas
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Manometer!
Ich habe heute immer wieder an die Arduino Abschaltung gedacht. Verschieden Klamotten habe ich ausproviert. Leider ohne Erfolg. Ich habe versucht, mit einer Transe glücklich zu werden :) Hat nicht geklappt. Ich habe mein Problem noch in einem Nachbarforum dargestellt. http://forum.arduino.cc/index.php?topic=376202.0(Nix gegen euch!).
Ich werde über hoffentliche Fortschritte berichten.
Thomas
Anse
Beiträge: 2307
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Anse »

Probiere mal ein PNP oder P-Kanal FET. Mit NPN geht es nicht.
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Hm, mit nem BC328 geht es nicht. Ich werde morgen die gesamt Schaltung mal skizzieren und dann noch mal hier zeigen. Hier erst mal der grobe Aufbau.
transe aus.JPG
Benutzeravatar
Sunset
Beiträge: 1516
Registriert: Fr 6. Dez 2013, 15:19

Re: Der AVR-/ARDUINO-Faden

Beitrag von Sunset »

Der kann sich doch nur alleine ausschalten.
Ich sehe grad den Knopf zum einschalten nicht... ;)
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

Asche auf mein Haupt!
Stimmt, das habe ich nicht verzeichnet / beschrieben. Über einen Taster habe ich den Transistor kurzzeitig gebrückt. Dann läuft das Prg durch. Ich hatte die Hoffnung, dass nach dem Brücken der Transistor durchschaltet und den Arduino für die definierte Zeit bestromt.
Benutzeravatar
Sunset
Beiträge: 1516
Registriert: Fr 6. Dez 2013, 15:19

Re: Der AVR-/ARDUINO-Faden

Beitrag von Sunset »

Wie schaut denn das neue angepasste Programm aus?

Pin 7 muss jetzt ja ein Ausgang sein und sehr früh im Setup eingeschaltet werden.
Der Taster selber braucht einen neuen Eingang. Oder halt der Transistor einen anderen Ausgang.
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

@Sunset
Danke f.d. Input!
Werde mich die Tage drum kümmern. Muss jetzt leider pennen gehen.
Tot ziens,
Thomas
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Sunset hat geschrieben:Pin 7 muss jetzt ja ein Ausgang sein und sehr früh im Setup eingeschaltet werden.
Wobei eingeschaltet hier ausgeschaltet (=0) meint, denn der umgedrehte PNP-Transistor will 0V zum Einschalten. Außerdem kann der so wie gezeichnet nicht abschalten, denn der Emitter läge auf 9V und die Basis käme nur auf 5V hoch, was mindestens 3,3V zu wenig wären. Da der Ausgang vom Arduino 9V aber "nicht so mag", muß der mit einer Diode (z.B. 1N4148) entkoppelt werden, also so, daß er den Transistor zwar auf 0V ziehen kann, aber nicht selber auf 9V gezogen werden kann. Außerdem muß dieser Ausgang als "Open Collector" geschaltet werden, da sonst sein interner Pullup aktiv ist. Und dann muß noch an den Basiswiderstand vom Transistor noch ein Pullup nach 9V, um den sicher zu sperren.

Bin mir gerade aber gar nicht sicher, ob die Schutzdioden am AVR-Pin auch dann aktiv sind, wenn der als Open Collector geschaltet ist, falls ja, würde es auch dann nicht klappen. In dem Fall müßtest Du mindestens einen weiteren Transistor (NPN) zur Isolation nehmen, dafür entfiele die Diode wieder.

Oder Du baust einfach die ganze Einschaltgeschichte vom Transistortester nach, mit allen 3 Transen und dem Taster. Den Spannungsregler kannst Du bei Verwendung vom Arduino weglassen.
Benutzeravatar
Hightech
Beiträge: 11487
Registriert: So 11. Aug 2013, 18:37

Re: Der AVR-/ARDUINO-Faden

Beitrag von Hightech »

Hier ist das Thema im Detail besprochen:
http://forum.arduino.cc/index.php?topic=235605.0
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

So, ich habe heute viel rumgedacht und probiert. Von hier http://forum.arduino.cc/index.php?topic=376202.15 kamen auch super Ideen was die Schaltungen anging (auch für Software). Leider bin ich softwaremäßig noch nicht weit genug. Ich werde weiter üben, wenn ich die Programmierung hin kriege mache ich weiter. Das war wie so oft. Eigentlich nur ein Mini-Projekt (eben noch) und dann kostet es x Stunden. Ich melde mich wenn´s weiter geht und frage jetzt vielleicht erstmal zu anderen Themen.
Thomas (der Frustrierte)
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Ich glaube, das wird mit nem NE555 sogar weniger kompliziert, ggfs. geht's auch mit einer Transe und einem RC-Glied. Die Werte müßte man dann experimentell ermitteln.
Bild
Die Werte der Widerstände und des Elkos sind erstmal grob geschätzt, die 10K an der Basis sollten klargehen, bei den 100K muß ggfs. experimentiert werden, damit das auf 20s hinkommt. Der 7805 steht symbolisch für den Arduino, dem fehlt die ganze Außenbeschaltung. Nachdem ich in Fritzing vergeblich nach einem anderen Widerstand als 220 Ohm gesucht habe, habe ich doch KiCad genommen.
Benutzeravatar
Münsterländer
Beiträge: 329
Registriert: Fr 11. Okt 2013, 14:55
Wohnort: Borken (bei Holland)

Re: Der AVR-/ARDUINO-Faden

Beitrag von Münsterländer »

@Name vergessen: Danke fürs Kümmern! Ich bin gedanklich auch immer noch an der Abschaltung. Deine Variante werde ich mal aufbauen. Weisst du, ob ich statt BC558 auch nen BC328 nehemen kann (sollten ja zumindest beides PNP Transen sein. Den BC328 habe ich nämlich da.
Bei Fritzing kann man die Widerstandswerte rechts ändern, nachdem man den Standardwiderstand auf das Steckbrett gezogen hat. (Endlich mal ein Tip und keine Frage von mir :-) )
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Jo, da kannst Du im Grunde jeden beliebigen PNP nehmen, der mindestens 50mA packt. BC557 oder 327 geht genauso.

Du meinst das Fenster "Information"? Da tauchen bei mir unter bestimmten, nicht näher definierbaren Umständen zwar Dropdowns auf, die sind aber alle ausgegräut und reagieren nicht. Vermutlich ist meine Version einfach zu alt. Ich wollte nur hier einheitlich bleiben, sonst nehme ich eh immer KiCad, paßt schon. Trotzdem danke!
Name vergessen
Beiträge: 3261
Registriert: Mo 12. Aug 2013, 19:47

Re: Der AVR-/ARDUINO-Faden

Beitrag von Name vergessen »

Edit: War wohl keine so gute Idee.
Zuletzt geändert von Name vergessen am Do 4. Feb 2016, 20:00, insgesamt 1-mal geändert.
Gernstel
Beiträge: 1304
Registriert: So 11. Aug 2013, 15:36

Re: Der AVR-/ARDUINO-Faden

Beitrag von Gernstel »

*grusel*
Wenn der AVR los lässt und der Taster nicht gedrückt wird, verliert der Spannungsregler sein 0-V-Bezugspotential und lässt nahezu die Eingangsspannung unstabilisiert auf den AVR los? Das wird ein Grill-Abend, da empfehle ich eine Schnellwechselfassung.
Antworten