Hi ich neu in Sachen attiny und wollte für ein bauprojekt den
attiny26-16PU programmieren und wollte zum testen eine LED blinken
lassen.
Meine Hardware:
-Attiny26-16PU
-Usbasp-clone
-Led mit vorwiederstand
software:
-Avrdude zum flashen
-Arduino IDE zum programm schreiben
Ich habe die hex Datei über Avrdude auf den attiny gespiel was auch
geklappt halt laut der Rückmeldung von Avrdude(siehe Bild)
Leider Blinkt die Led nicht wenn ich sie anschließe und auch mit einem
Multi Meter hab ich keine Veränderung an den Ausgabepins
Danke schonmal im voraus für eure Hilfe
Die LED ist an den Physischen Pin 9 angeschlossen und an GND
Theoretisch sollte dies passen.
Was sollte der Normalstand sein und wie kann man das festlegen. Ich
glaube in Programm ist der Normalstand auf Low definiert wenn sie das
meinen
Schaue dir bitte das Blink Beispielprogramm an und du siehst deine
Fehler.
Außerdem kannst du die For-Schleife nicht im Setup laufen lassen, weil
alles in Setup nur einmal ausgeführt wird.
Pascal S. schrieb:> Die LED ist an den Physischen Pin 9 angeschlossen und an GND> Theoretisch sollte dies passen.
Grau ist alle Theorie. Die Analoganschlüsse sind auf der anderen Seite.
Oke das mir dem Setup versteh ich aber was sie mit dem anderen Problem
meinen fällt mir nicht ein wie gesagt bin neu was Microchips angeht
Aber danke schonmal für die hilfe
Nimm am besten einen Uno oder Nano (besser für Steckbrett).
Da ist die LED passend für die Beispiele schon drauf.
Arbeite dich durch die Beispiele durch.
Dokumentation und alles andere gibt es auf Arduino.cc
Wie gesagt ich bin nur neu mit Microchips mit einem nano schaff ich das.
Ich wollte halt was neues ausprobieren und für ein Projekt einen
attiny26-16 nutzten da es den in meinem lokalen Hardwarehandel zu kaufen
gab. Ich Versuche mich hier nur weiterzubilden und Erfahrungen zu machen
dabei ist man nun mal auf Erfahrung von anderen angewiesen. Deshalb habe
ich ja auch hier diese Frage gestellt
LG und danke für die Antworten die haben mich auf jeden Fall fürs erste
weitergebracht
Entschuldige wenn ich das jetzt so sagen muss, aber du hast das ganze
System noch nicht verstanden.
Das zeigt mir deine For-Schleife im Setup. Die kann da niemals hoch
zählen.
Übe doch besser noch mit den üblichen Boards und versuche besser erstmal
das System zu verstehen, anhand der Beispiele.
Ich könnte jetzt noch mehr Details bringen, aber du wirst eh drüber
stolpern.
Den Code habe ich mehrmals versucht mit Hilfe von ki anzupassen da ich
nicht genau wusste wie ich die Pins definieren muss usw. da ich mich ja
wie gesagt mit den attinys nicht auskenne das war halt die löung der ki
gut hätte ich auch drauf kommen können aber ich lerne halt noch und ich
möchte mir das Wissen halt einfach beibringen und für mein Projekt
brauche ich halt einen attiny weil der arduino nano der ebenfalls
verwendet wird zu wenig anschlüsse hat für mein Vorhaben somit möchte
ich eine Kommunikation zwischen den beiden erstellen. Das Projekt war
auch definitiv als Kernprojekt angesehen da ich darüber Versuche mehr
über das genze zu lernen und als schüler fehlt mir halt einfach das
wissen welches ich mir online einholen muss
Pascal S. schrieb:> ersucht mit Hilfe von ki anzupassen da ich> nicht genau wusste
Das scheint nicht eine strukturierte denkweise und lesen der Doku
ersetzen zu können. Falls du das hier verlinkte framework nutzt,
müsstest du D14 ansteuern, um am physischen PIN 9 eine ausgabe zu
erhalten.
Frank G. schrieb:> Ich bin kein Arduino-Experte, aber stimmt deine Pinbelegung?> https://github.com/Nich1con/ATtiny26-Core/blob/main/doc/ATtiny26-pinout.png
Wenn es rein um mehr I/O geht, schau dich mal nach schieberegistern und
portexpandern um.
Frank O. schrieb:> Das zeigt mir deine For-Schleife im Setup. Die kann da niemals hoch> zählen.
So ein Quatsch. Setup ist eine normale Funktion. Darin sind alle
normalen C-Konstrukte ( while, for, case ...) möglich.
Pascal S. schrieb:> Den Code habe ich mehrmals versucht mit Hilfe von ki anzupassen da ich> nicht genau wusste wie ich die Pins definieren muss usw. da ich mich ja> wie gesagt mit den attinys nicht auskenne das war halt die löung der ki> gut hätte ich auch drauf kommen können aber ich lerne halt noch und ich> möchte mir das Wissen halt einfach beibringen und für mein Projekt> brauche ich halt einen attiny weil der arduino nano der ebenfalls> verwendet wird zu wenig anschlüsse hat für mein Vorhaben somit möchte> ich eine Kommunikation zwischen den beiden erstellen. Das Projekt war> auch definitiv als Kernprojekt angesehen da ich darüber Versuche mehr> über das genze zu lernen und als schüler fehlt mir halt einfach das> wissen welches ich mir online einholen muss
Sei mir bitte nicht böse, aber solche Textblöcke sind genau der Grund,
warum der liebe Gott (oder war es der Deutschlehrer) das Komma erfand.
Lass das doch mal auf Dich wirken und beantworte Dir die Frage, ob
sauber gesetzte Kommas diesen Wust an Inhalt doch etwas besser hätte
strukturieren können. Und dann denke mal darüber nach, ob der
Deutschlehrer (vom lieben Gott können wir ja trotz mehrerer Jahrtausende
einseitiger Kommunikation keine Antwort erwarten) nicht Recht hatte in
den Versuchen, Dich auf eine professionelle Ausdrucksweise im Beruf,
aber auch im allgemeinen Leben vorzubereiten.
Und Nein, man benutzt eine korrekte Schreibweise nicht nur in
Ausnahmefällen, wenn man mit wichtigen Leuten redet. Man isst ja auch
nicht nur dann mit Messer und Gabel, wenn man mit wichtigen Leuten
zusammensitzt.
Pascal S. schrieb:> Die LED ist an den Physischen Pin 9 angeschlossen
Der Code sieht o.k. aus, abgesehen davon, daß man Code nie als Bild
postet, sondern als *.c oder *.ino.
Jede LED an den Arduino-Pins 0..5 sollte reihum 0,5s an sein und 5,5s
aus.
Was davon nun welchem AVR-Portpin entspricht, mußt Du schon selber
ermitteln. Dafür sollte es eine Doku geben.
Der physische Pin ist wiederum was ganz anderes, der hängt vom
Gehäusetyp ab.
Man darf Pins auch so ansprechen, wie es im Datenblatt steht (A7..0,
B7..0), dann fällt schonmal eine Fehlerquelle weg.
Frank O. schrieb:> Peter schrieb:>> So ein Quatsch.>> Ausprobiert?> Ich schon.
Ich auch.
Und ja: For-schleifen sind in setup() natürlich möglich.
(ein klein wenig) verkürzt sieht die main() in arduino so aus:
1
void main(){
2
setup();
3
while(1){
4
loop();
5
}
6
}
Mit anderen Worten: Auch wenn setup nur einmal durchlaufen wird, ist es
eine ganz normale Funktion, in der - wie Peter bereits schrieb - alle
normalen Sprachkonstrukte möglich sind. Darunter auch Schleifen.
PS: Auch dieses Beispiel läuft (auch wenn es nicht sonderlich sinnvoll
ist, weil es loop() ad Absurdum führt)
Frank O. schrieb:> Peter schrieb:>> So ein Quatsch.>> Ausprobiert?> Ich schon.
Ich auch. Peter hat (natürlich) Recht:
In der Arduino-Welt sind sowohl setup() wie auch loop() "stinknormale"
Funktionen, welche in der implizit vorhandenen main Loop nacheinander
aufgerufen werden.
Was genau in setup() oder in loop() geschieht, ist nun wirklich wurscht.
Ich habe gerade erfolgreich sowohl eine einfach Loop über 1000
Iterationen wie auch eine Berechnung der ersten 1000 Stellen von Pi in
setup() durchgeführt, und natürlich funktioniert das einwandfrei.
[Edit: Tobias war schneller :-) ]
Hi
Also, kurz gesagt, Setup ist ein Programmteil, in dem ein Controller
eingerichtet wird und damit beim Starten 1x durchlaufen wird. Das heißt
aber nicht, das da keine Schleife laufen darf wenn es doch sinnvoll
wäre. Ich kann jederzeit in einem beliebigen Programmteil irgendwelche
Schleifen laufen lassen. Nur das Setup darf natürlich nicht innerhalb
des Hauptprogrammes wieder einbezogen werden. Und dann hat das
eigentliche Programm die Möglichkeit, Timer zu nutzen, Ausgänge zu
setzen und Eingänge zu lesen.
Nun zur Art der Programmierung. Klar, man kann mit Delay arbeiten, aber
spätestens, wenn das Programm mal etwas sinnvolles machen sollte, sind
Wartezeiten im Hauptprogramm unerwünscht. Man möchte doch bei der
Bedienung nicht warten wollen, bis so eine Wartezeit abgelaufen ist und
der Controller endlich den Programmteil aufruft, in dem er die Eingänge
abfragt. Daher möchte ich Pascal den Rat geben, arbeite mit dem Timer.
Allerdings kann ich dir in C nicht weiterhelfen, doch ich bin mir
sicher, hier sind genügend Helfer, die dir da einen Tip geben können.
Gruß oldmax
... außerdem:
Zum Thema void setup()
Alle Vorredner haben "irgendwie" Recht, übersehen aber etwas, was der TO
noch falsch gemacht hat!
1
// Vorsicht, nicht funktionierender Code hier !
2
void setup()
3
{
4
for (int i = 0; i< 6; i++) {
5
pinMode(i, OUTPUT);
6
}
7
}
8
9
// richtiger Code für Einstellung Standard PinMapping
10
11
#define led 14
12
void setup()
13
{
14
pinMode(led, OUTPUT);
15
}
In "setup" kann sehr wohl eine Schleife abgearbeitet werden. Allerdings,
die Funktion pinMode(pin, mode) für "pin" keine Variable verarbeiten,
das muß eine Konstante sein.
Weshalb der Compiler hier nicht meckert ist natürlich übel.
Zudem für den TO (ein weiterer Fallstrick):
Im Menü "Werkzeuge" gibt es für "Boards" und einem eingebundenen Core
für ATtiny einen Punkt "Pin mapping". Hier kann angegeben werden, ob die
Standardmethode der Pinnummerierung gültig sein soll (Arduino Notation).
im Standard muß der Pin für physikalischen Pin Nr. 9 "14" heißen:
pinMode(14, OUTPUT);
In der Einstellung "legacy" muß es heißen
pinMode(PB6)
Frank G. schrieb:> Ich bin kein Arduino-Experte, aber stimmt deine Pinbelegung?> https://github.com/Nich1con/ATtiny26-Core/blob/main/doc/ATtiny26-pinout.png
Das Bild erklärt schonmal, warum Pin 9 nicht als 0..5 angesprochen
werden kann.
Weiterhin wäre wichtig, ob es nur diese eine Zuordnung gibt und in
welcher Lib das passiert.
Mein Russisch ist schon etwas eingerostet, um alles zu verstehen.
Ralph S. schrieb:> Allerdings,> die Funktion pinMode(pin, mode) für "pin" keine Variable verarbeiten,> das muß eine Konstante sein.
Bestimmt wer?
Man kann sich Bitmasken und Portadressen auch aus Tabellen holen. Ist
zwar ne Menge Code, aber es geht. Die Ports sind ja auch als SRAM
gemappt und nicht nur als IO.
Frank O. schrieb:> Nimm am besten einen Uno oder Nano (besser für Steckbrett).> Da ist die LED passend für die Beispiele schon drauf.> Arbeite dich durch die Beispiele durch.> Dokumentation und alles andere gibt es auf Arduino.cc
Ja, es wäre das beste sich z.B. einen Arduino-Uno für den Anfang mit
Blinkversuchen zu holen, falls man sich am Anfang schon für die
Arduino-IDE entschieden hat – bei uns in Deutschland bestellt, kommt es
nach 1-3 Tagen zu Hause an und dann wird das Teil via USB mit der IDE
direkt verbunden, aber man kennt es ja von den Wackelkandidaten bestens
– es wird einfach immer mit dem Kopf durch die Wand geschlagen, bis der
Arzt kommt. Da werden lieber viele Wochen für Nichts vergeudet und
seitenweise Beiträge dazu verfasst, nur um ein 5-Zeilen-Blink-Programm
zum Laufen zu bringen oder den Port für die eigene LED zu finden, weil
man von Anfang an so gut wie alles falsch entschieden hat und dann auch
noch stur daran festhält, wenn Leute mit mehr Erfahrung einen anderen,
besseren Weg aufzeigen möchten.
Ich weiß das es einfacher ist einen arduino nanu zu verwenden, ich
möchte auch eigentlich kein Blinklicht bauen sonder etwas anderes wofür
ich einen zweiten Microcontroller brauche da das ganze nicht groß sein
soll dachte ich mir ich nutze einen attiny und mein lokaler
Hardwareladen hatte halt nur den 2616pu da.
Und dann will ich mir Hilfe holen weil darüber nichts dokumentiert ist
und viele sagen ich soll das lassen und lieber was anderes machen 🤷
Ich bin dankbar über die tollen Lösungsansätze aber alles andere ist
einfach keine große Hilfe
Thomas W. schrieb:> void pinMode(uint8_t pin, uint8_t mode)>> Das ist ein unsigned byte. Warum sollte der Compiler meckern?
Er meckert ja auch nicht!
Peter D. schrieb:> Bestimmt wer?>> Man kann sich Bitmasken und Portadressen auch aus Tabellen holen. Ist> zwar ne Menge Code, aber es geht. Die Ports sind ja auch als SRAM> gemappt und nicht nur als IO.
:-) stimmt absolut. Anfängerfreundlich ist das jedoch nicht! Einfach nur
in einer Schleife den Wert einer Zählvariable an pinMode übergeben
funktioniert jedenfalls nicht!
Peter D. schrieb:> Das Bild erklärt schonmal, warum Pin 9 nicht als 0..5 angesprochen> werden kann.> Weiterhin wäre wichtig, ob es nur diese eine Zuordnung
Da waren wir schon. Es gibt 2 Zuordnungen: Standard und Legacy. Bei
Standard wird der Arduinopinname erwartet (hier 14), bei Legacy den
Portpinnamen (hier PB6).
Pascal S. schrieb:> Wie genau hast du das mit Tinycore gemacht? Weil bei mir gibts da den> attiny26-16PU nicht
Bei Datei=>Voreinstellungen siehst du, wo Arduino deine Sketches ablegt.
Öffne diesen Ordner. Hast du hier noch kein Verzeichnis hardware,
erstellst du einen Ordner "hardware".
In diesen Ordner kopierst du den Inhal des Zif-Files aus
> https://github.com/SpenceKonde/ATTinyCore
Bei "Werkzeuge=>Board" erscheint jetzt ein Punkt "ATTinyCore" und dort
gibt es einen Controller "ATtin26(No Bootloader)" ... Auswählen
Leider funktioniert das Auswählen (derzeit) nicht über
http://drazzy.com/package_drazzy.com_index.json
in den Voreinstellungen, weil die Seite derzeit "down" ist.
Ralph S. schrieb:> Bei Datei=>Voreinstellungen siehst du, wo Arduino deine Sketches ablegt.> Öffne diesen Ordner. Hast du hier noch kein Verzeichnis hardware,> erstellst du einen Ordner "hardware".>> In diesen Ordner kopierst du den Inhal des Zif-Files aus>> https://github.com/SpenceKonde/ATTinyCore
Danke ich habe versucht Tinycore über die zusätzlichen Board URLs
hinzuzufügen da gabs aber den attiny26 nicht. Ich probier mal obs
klappt...XD
Ralph S. schrieb:> In diesen Ordner kopierst du den Inhal des Zif-Files aus>> https://github.com/SpenceKonde/ATTinyCore>> Bei "Werkzeuge=>Board" erscheint jetzt ein Punkt "ATTinyCore" und dort> gibt es einen Controller "ATtin26(No Bootloader)" ... Auswählen>> Leider funktioniert das Auswählen (derzeit) nicht über>> http://drazzy.com/package_drazzy.com_index.json>> in den Voreinstellungen, weil die Seite derzeit "down" ist.
Also hab es Gerade getestet...
LED blinkt und Upload war fehlerlos.
Danke nochmals an alle die mir geholfen haben eine Lösung für mein
Problem zu finden
Peter schrieb:> Frank O. schrieb:>> Das zeigt mir deine For-Schleife im Setup. Die kann da niemals hoch>> zählen.>> So ein Quatsch. Setup ist eine normale Funktion. Darin sind alle> normalen C-Konstrukte ( while, for, case ...) möglich.
Ja, ist mir auch aufgefallen im 1. Posting von Frank. Aber das könnte
man evtl. ein wenig freundlicher ausdrücken.
ciao
Marci
Marci W. schrieb:> Pascal S. schrieb:>> Und dann will ich mir Hilfe holen weil darüber nichts dokumentiert ist>> Was ist wo nicht dokumentiert?>> ciao>> Marci
:-) ich glaube bei keinem anderen Thema in der Mikrocontrollerwelt ist
etwas so extrem dokumentiert wie bei Arduino.
Da wird es "fast" schon schwierig, die entscheidende Information
herauszufiltern, weil einfach ewig viel geschrieben ist.
Marci W. schrieb:> Ja, ist mir auch aufgefallen im 1. Posting von Frank. Aber das könnte> man evtl. ein wenig freundlicher ausdrücken.
Es gibt hier übrigens zweimal Frank O und es sind auch definitiv zwei
unterschiedliche Personen.
Ich werde das ausprobieren.
Tatsächlich habe ich noch nie diesen Versuch unternommen, weil so was
grundsätzlich nicht ins Setup von Arduino gehört.
Aber, dass ich grundsätzlich recht damit habe, dass der TO erstmal ein
bisschen lesen muss und Beispiele durcharbeiten sollte, ändert selbst
eine vielleicht doch hochzählende For-Schleife nicht.
Ich finde es immer wieder erstaunlich, dass man ohne jegliche Grundlagen
so anfangen kann.
Man würde doch auch nicht in einen Jumbo-Jet ins Cockpit steigen, 300
Passagiere über den Atlantik fliegen wollen, nur weil man einem
Sportflugzeug bei Start zugesehen hat.
Zumindest möchte ich dort kein Passagier sein.
Frank O. schrieb:> Man würde doch auch nicht in einen Jumbo-Jet ins Cockpit steigen, 300> Passagiere über den Atlantik fliegen wollen, nur weil man einem> Sportflugzeug bei Start zugesehen hat.
Doch, genau diese Selbstüberschätzung ist heute allgegenwärtig.
Dann muss ich mal zu Kreuze kriechen.
Ist wohl doch möglich. Und auch ohne, dass ich das ausprobiert habe. Das
Beispiel für die For-Schleife macht genau das, was der TO machen wollte.
1
voidsetup(){
2
// use a for loop to initialize each pin as an output:
Ralph S. schrieb:> :-) ich glaube bei keinem anderen Thema in der Mikrocontrollerwelt ist> etwas so extrem dokumentiert wie bei Arduino.>> Da wird es "fast" schon schwierig, die entscheidende Information> herauszufiltern, weil einfach ewig viel geschrieben ist.
Vielleicht ist das ja im vorliegenden Falle das Problem.
Frank O. schrieb:> Tatsächlich habe ich noch nie diesen Versuch unternommen, weil so was> grundsätzlich nicht ins Setup von Arduino gehört.
Bei AVR Arduinos, ist das alles kein Problem.
pinMode() gehört schon in setup() (in der Regel)
Frank O. schrieb:> Ich finde es immer wieder erstaunlich, dass man ohne jegliche Grundlagen> so anfangen kann.
Full ACK! Und dann auch noch ChatGPT-Roulette spielen. Hat was von
trial-and-error ;-)
ciao
Marci
M.A. S. schrieb:> Ralph S. schrieb:>> :-) ich glaube bei keinem anderen Thema in der Mikrocontrollerwelt ist>> etwas so extrem dokumentiert wie bei Arduino.>> Da wird es "fast" schon schwierig, die entscheidende Information>> herauszufiltern, weil einfach ewig viel geschrieben ist.>> Vielleicht ist das ja im vorliegenden Falle das Problem.Sherlock 🕵🏽♂️ schrieb:> Frank O. schrieb:> Doch, genau diese Selbstüberschätzung ist heute allgegenwärtig.
Das ist keines Wegs Selbstüberschätzung. Ich setzt mit halt Ziele und
mein Ziel war es halt attinys kennen zu lernen. Mit arduinos schaff ich
da das ist auch nicht das Problem, mein Problem lag ja darin damit bei
mir ein Fehler im starten vorlag und das würde ja Jetzt gelöst. Und gaze
ehrlich ich finde es schon sehr frech wie sich hier manche erwachsene
Menschen verhalten. Ich bin auch nur eine Person und es tut mir leid
dass ich als 15-Jähriger schüler nicht das auf die Idee gekommen bin das
was mit dem Plugin nicht stimmt da ich mich wie gesagt erst angefangen
habe mich mit attinys zu beschäftigen.
Und so leid es mir tut jeder fängt irgendwo mal an das war halt mein
Start und da kann sich jeder gern drüebr lustig machen, aber die ist nun
mal mein Hobby und ich bin immernoch erst 15 und so ein Verhalten von
Erwachsenen gebildeten Menschen geht echt gar nicht so leid es mir tut.
Die Jugend von heute ist die Zukunft da ist nun mal so. Ich möchte halt
etwas aus mir machen damit ich früh Erfahrung sammeln kann und somit
später einen hohen Schulabschluss und einen gut bezahlten Job bekomme.
Und von diesem Geld muss ich dann die Rente zahlen für Leute die sich
über meinen Start in die attinys lustig machen...
Ich hoffe diese Nachricht bringt sid mal dazu zu überdenken mit wem sie
wie online schreiben und wie sie dort mit anderen Leuten umgehen, vor
allem mit Jugendlichen und Kindern. Sie wissen nie wie sehr solche
Nachrichten andere verletzen können...
In diesem Sinne schönen Abend noch
Mfg Pascal
Sherlock 🕵🏽♂️ schrieb:> Frank O. schrieb:> Doch, genau diese Selbstüberschätzung ist heute allgegenwärtig.
Das ist keines Wegs Selbstüberschätzung. Ich setzt mit halt Ziele und
mein Ziel war es halt attinys kennen zu lernen. Mit arduinos schaff ich
da das ist auch nicht das Problem, mein Problem lag ja darin damit bei
mir ein Fehler im starten vorlag und das würde ja Jetzt gelöst. Und gaze
ehrlich ich finde es schon sehr frech wie sich hier manche erwachsene
Menschen verhalten. Ich bin auch nur eine Person und es tut mir leid
dass ich als 15-Jähriger schüler nicht das auf die Idee gekommen bin das
was mit dem Plugin nicht stimmt da ich mich wie gesagt erst angefangen
habe mich mit attinys zu beschäftigen.
Und so leid es mir tut jeder fängt irgendwo mal an das war halt mein
Start und da kann sich jeder gern drüebr lustig machen, aber die ist nun
mal mein Hobby und ich bin immernoch erst 15 und so ein Verhalten von
Erwachsenen gebildeten Menschen geht echt gar nicht so leid es mir tut.
Die Jugend von heute ist die Zukunft, das ist nun mal so. Ich möchte
halt etwas aus mir machen, damit ich früh Erfahrung sammeln kann und
somit später einen hohen Schulabschluss und einen gut bezahlten Job
bekomme. Und von diesem Geld muss ich dann die Rente zahlen für Leute
die sich über meinen Start in die attinys lustig machen...
Ich hoffe diese Nachricht bringt sie mal dazu zu überdenken mit wem sie
wie online schreiben und wie sie dort mit anderen Leuten umgehen, vor
allem mit Jugendlichen und Kindern wenn sie ein eigentlich doch sehr
tolles und spannendes Hobby anfangen möchten.
In diesem Sinne schönen Abend noch
Mfg Pascal
@Pascal:
Ich habe auch irgendwann mit Attiny angefangen. OK, da war ich keine 15,
aber das Alter spielt keine Rolle.
Aber ich habe es anders angefangen als Du:
Ich habe mir beim Hersteller des Mikrocontrollers das Datenblatt
herunter geladen und es durch gearbeitet, denn ich wollte den Chip
kennen lernen.
Ich konnte schon C. Auch das hatte ich mir aber vorher strukturiert und
systematisch erarbeitet.
Ja, klar, man kann sich heute von der AI den Code auswürfeln lassen, ihn
in den µC laden und schauen, was passiert. Oder ob etwas passiert. Wenn
nicht, lässt man die AI halt noch einmal würfeln. -> Minimaler Aufwand
Aber auch kaum Ertrag.
Denn Lernen setzt nun einmal immer auch Verständnis voraus, und
dafür muss man auch Aufwand treiben.
Wenn Du aber jede Form von Aufwand so konsequent vermeidest, dass Du
z.B. Deine Texte ohne Punkt und Komma und mit fragwürdiger Groß- und
Kleinschreibung dahin rotzt, so dass sie schwer lesbar werden, dann
musst Du Dich auch fragen lassen, warum irgendjemand mehr Arbeit zum
Lesen dieser Texte aufwenden sollte, als Dir das Schreiben Wert war.
Pascal S. schrieb:> Ich möchte> halt etwas aus mir machen, damit ich früh Erfahrung sammeln kann
Das finde ich sehr löblich und wünsche Dir bei Deinem Hobby viel Spaß.
Der kommt ganz von selbst, wenn man etwas so sehr verstanden hat, dass
man damit kreativ werden kann.
Pascal S. schrieb:> Die Jugend von heute ist die Zukunft, das ist nun mal so.
Das ist richtig. Das war immer so, schon bei den alten Römern.
Allerdings ist die Zukunft nicht unbedingt immer besser geworden.
Manchmal gab es heftige Rückschläge, auch schon bei den alten Römern...
Ich wünsche Dir und Deiner Generation, dass Ihr das Zeug dazu habt zu
stemmen, was auf Euch zukommt.
Hi danke erstmal für deine Antwort in der man icht nur kritisiert wird.
> Ich habe mir beim Hersteller des Mikrocontrollers das Datenblatt> herunter geladen und es durch gearbeitet, denn ich wollte den Chip> kennen lernen.
Ich hab mir auch schon das Datenblatt durchgelesen aber das
wahrscheinlich nicht aufmerksam genug. Und wie schon so oft erklärt war
ich mit den attinys so gar nicht vertraut und wusste deswegen auch nicht
wie genau ich die Pins definieren muss, usw. Ich habe dann erstmal
geschaut wie ich den Controller überhaupt mit meinem PC verbinden kann
und das hat schon sehr lange gedauert da ich außer dem Datenblatt sehr
sehr wenig zu dem attiny26 online gefunden habe.
Mein Idee des Lernens war es damit anzufangen simple Projekte zu
erstellen wie zum Beispiel eine blinkende Led. Gerade bei solchen
Projekten lerne ich persönlich am meisten da ich halt zu der Theorie
auch Praxis habe.
Ich weiß ich hätte anderst anfangen könenn aber ich finde jeder hat
seine eigene Art Dinge zu lernen und zu verstehen.
> Wenn Du aber jede Form von Aufwand so konsequent vermeidest, dass Du
Den Aufwand vermeide ich nicht ich habe den attinys seit knapp einem
Monat und habe bis zu diesem Beitrag versucht das Teil so zum laufen zu
bringen damit ich wenigstens eine sichtlichen Output habe das es
funktioniert. Leider habe ich das alleine nicht geschafft und habe mir
deshalb Hilfe geholt. Klar hätte ich auch noch weiter selbst probieren
können, aber es nützt mir persönlich viel mehr wenn ich Sachen von
anderen, die Erfahrung haben, erklärt bekomme, da ich so einfach
persönlich besser lerne und nicht meine eh schon sehr ausgenutzte
Freizeit damit verschwende Dinge zu machen wo ich nicht genau weiß was
ich mache.
> z.B. Deine Texte ohne Punkt und Komma und mit fragwürdiger Groß- und> Kleinschreibung dahin rotzt, so dass sie schwer lesbar werden, dann
Gut über meine Rechtschreibung lässt sich streiten, ich weiß das ich
nicht wirklich richtig schreibe, habe aber damit auch im generellen
Problem und Versuche mich auch zu verbessern, aber es fällt mir halt
noch etwas schwer. Troz allem habe ich versucht nach dem Hinweis das
mein Text so viele fahler hat, so richtig wie möglich zu schreiben. Und
ich persönlich fand die Nachricht um mich darauf hinzuweisen alles
andere als freundlich ausgedrückt.
Und ja ich kann an sich gut mit Kritik umgehen und bin auch oft sehr
froh kritisiert zu werden, weil mich das auch weiter bringt. Aber halt
auch nur wenn man diese Kritik freundlich ausdrückt und nicht gleich
irgendwelche Anschuldigungen stellt obwohl man den Hintergrund nicht
kennt.
Ich bin sehr froh über deine Nachricht, da es mir zeigt, dass sich nicht
alle Menschen hier so unfreundlich sind. Ich ebenso froh über deine
kritik und Hinweise was ich besser machen hätte können. Ich werde
versuchen diese Sachen beim nächsten mal zu beachten.
Ich wünsche dir ebenso weiterhin alles gute und nur das beste
Mfg Pascal
Pascal S. schrieb:>> z.B. Deine Texte ohne Punkt und Komma und mit fragwürdiger Groß- und>> Kleinschreibung dahin rotzt, so dass sie schwer lesbar werden, dann> Gut über meine Rechtschreibung lässt sich streiten, ich weiß das ich> nicht wirklich richtig schreibe, habe aber damit auch im generellen> Problem und Versuche mich auch zu verbessern, aber es fällt mir halt> noch etwas schwer. Troz allem habe ich versucht nach dem Hinweis das> mein Text so viele fahler hat, so richtig wie möglich zu schreiben. Und> ich persönlich fand die Nachricht um mich darauf hinzuweisen alles> andere als freundlich ausgedrückt.
Du willst ja was von mir (mein Wissen) und dann erwarte ich eine gewisse
Mitarbeit. Du wirst das auch noch spaeter lernen, dass schriftlicher
Ausdruck entscheidet ob Du ernst genommen wirst oder nicht. Ist zwar
bloed, ist aber so.
Und wenn Du selbst einraeumst dass Du Probleme mit dem Ausdruck Probleme
hast: Schreibe den Text in einer Textverarbeitung (Word/Libreoffice) und
dann sind sehr viele Fehler weg (ist mein Ansatz).
Vor vielen Jahren habe ich mal folgendes Bonmot gesehen, ist etwas
Wahres dran:
1
"Good spelling, punctuation, and formatting are essentially the on-line
Pascal S. schrieb:> ich finde jeder hat> seine eigene Art Dinge zu lernen und zu verstehen
Ja, es gibt viele Arten, Dinge zu lernen.
Aber nur eine Art zu verstehen.
Wenn also am Ende kein tieferes Verständnis herauskommt, solltest Du die
Art zu lernen ändern.
"Verstehen" heißt auch nicht "Das kann ich jetzt. Ich hab's auswendig
gelernt."
Wenn Du z.B. an dieser Stelle hier:
Pascal S. schrieb:> wusste deswegen auch nicht> wie genau ich die Pins definieren mussgelernt hast, dass Du PB6 schreiben musst, dann hilft Dir das zwar für
den Augenblick.
Wenn Du aber weißt, warum das wo definiert ist, wie PB6 beim
Kompilieren übersetzt wird und warum eine (und genau diese) Integer an
dieser Stelle welche Auswirkungen hat, dann hast Du etwas
verstanden, was Du auch später wieder gebrauchen kannst.
Pascal S. schrieb:> Ich habe dann erstmal> geschaut wie ich den Controller überhaupt mit meinem PC verbinden kann> und das hat schon sehr lange gedauert da ich außer dem Datenblatt sehr> sehr wenig zu dem attiny26 online gefunden habe.
Deswegen fängt man mit Bauteilen an, zu denen man genug leicht
verständliche Doku findet.
Im konkreten Fall hast du gleich vier Baustellen gleichzeitig:
- Programmiersprache lernen
- Mikrocontroller kennen lernen
- Arduino Framework kennen lernen
- "fremdes" Plugin in Arduino verwenden
So geht das nicht. Man lernt nicht vier Sachen gleichzeitig, die
gegenseitig voneinander abhängig sind. Jedenfalls nicht, ohne einen
erfahrenen Lehrer direkt neben sich sitzen zu haben.
Da du Arduino benutzen möchtest, mache das mit fertigen Arduino Modulen*
die von der Arduino IDE direkt (ohne fremdes Plugin) unterstützt werden.
Nach ersten Erfolgserlebnissen solltest du dich mit den den
Datenblättern der verwendeten Bauteile auf den Modulen beschäftigen.
Versuche z.B. heraus zu finden, welche Funktionen diese noch bieten, die
Arduino dir womöglich vorenthalten hat. So lernst du, mit den
Datenblättern zu arbeiten.
Erst danach bist du bereit, Arduino-Fremde Hardware mit 3rd parts
Plugins zu versuchen. Denn bei denen ist immer irgendwas anders,
eingeschränkt und schlechter dokumentiert. Das ist der Level für
Fortgeschrittene.
*) Sollte dein Arduino Modul nicht auf Anhieb funktionieren, verschwende
nicht deine Zeit und Nerven damit. Lege es zur Seite und kaufe ein
originales, das garantiert funktioniert. Chinesische Nachbauten
funktionieren nicht immer problemlos, und die dann ans Laufen zu bringen
(falls das überhaupt geht) ist wieder auf dem Level der
Fortgeschrittenen. Darum kannst du dich später kümmern.
Bei der Firma Funduino bekommst du Sets mit durchdachten deutschen
Anleitungen, die auch in weiterführenden Schulen verwendet werden. Zum
Beispiel kann ich dir das empfehlen:
https://funduinoshop.com/funduino-education/funduino/funduino-cube/funduino-cube-arduino-kompatibles-entwicklerboard-inkl.-arbeitsbuch
Wenn du dich damit ausgetobt hast, kannst du die Teile für eigene
Aufbauten verwenden. Sie sind alle einzeln erhältlich, billig und
marktüblich.
Lass dich nicht von "alles ganz einfach" Versprechen der jeweiligen
Autoren blenden. Das ist in den allermeisten Fällen schlicht gelogen.
Noch was: Inzwischen kann man die Version 2 der Arduino IDE empfehlen.
Insbesondere, weil man dort mit gedrückter Strg Taste auf
Schlüsselwörter klicken kann, die direkt zur Deklaration des Wortes
führen. Ich empfinde das extrem hilfreich, um die Programmcodes zu
verstehen.
Pascal S. schrieb:> Und> ich persönlich fand die Nachricht um mich darauf hinzuweisen alles> andere als freundlich ausgedrückt.
Hmmm, falls Du damit meinen Beitrag vom 03.11.2024, 07:55 meinst, so
habe ich mir damit die allergrößte Mühe gegeben, meine Meinung
kultiviert und fair zu formulieren. Solltest Du also tatsächlich meine
Antwort mit Deiner Bemerkung gemeint haben, so würde mich ernsthaft
interesssieren, was darin "alles andere als freundlich" war.
Zugegeben, meine atheistischen Tendenzen hätte ich unterdrücken können,
aber dass das der Hauptgrund deiner Kritik sein sollte, kann ich nun
wirklich nicht glauben.
Thilo L. schrieb:> meinen Beitrag vom 03.11.2024, 07:55
Ah, du meinst den 4.11. Dem markierten text zu zitieren wäre einfacher
und klarer gewesen.
Thilo L. schrieb:> Sei mir bitte nicht böse...
Sherlock 🕵🏽♂️ schrieb:> Thilo L. schrieb:>> meinen Beitrag vom 03.11.2024, 07:55>> ?? Der Thread begann erst um 20:39
Zitieren wollte ich aufgrund der Länge nicht. Eine kurze Referenz auf
das Erstellungsdatum erschien mir effektiver.
Thilo L. schrieb:> Zitieren wollte ich aufgrund der Länge nicht. Eine kurze Referenz auf> das Erstellungsdatum erschien mir effektiver.
Ich habe dir inzwischen ein Beispiel gezeigt, wie man das machen kann.
Scrolle nochmal hoch.
Thilo L. schrieb:> meine atheistischen Tendenzen hätte ich unterdrücken können
Weshalb?
Daran ist nichts, aber auch wirklich gar nichts auszusetzen.
Ganz im Gegenteil, möchte ich hinzu fügen.
Evtl ein komplett anderer Ansatz?
Mir hat das "Lernpaket Mikrocontroller" von Franzis geholfen, beim
Verstehen von uCs. Ist "aber" ASM, wobei gerade das meinem Verständnis
sehr förderlich war.
Erst als die Programme in ASM anfingen zu komplex zu werden, hab ich
irgendwann damit angefangen, mir C beizubringen.
Sherlock 🕵🏽♂️ schrieb:> Thilo L. schrieb:>> meinen Beitrag vom 03.11.2024, 07:55>> Ah, du meinst den 4.11. Dem markierten text zu zitieren wäre einfacher> und klarer gewesen.> Thilo L. schrieb:>> Sei mir bitte nicht böse...
Ich meine in keinem Falle deinen Texte, diese waren ja allzeit netz
formuliert und auch nur kritik. Mit sowas habe ich überhaupt kein
Problem
Ich finde nur so Aussagen wie " Selbstüberschätzung" usw. Nicht gerade
freundlich ausgedrückt.
Hallo,
Np R. schrieb:> Aber ich habe es anders angefangen als Du:...
Aber garantiert nicht als 15-Jähriger.
Np R. schrieb:> Ich konnte schon C. Auch das hatte ich mir aber vorher strukturiert und> systematisch erarbeitet.
Da warst du wie alt?
rhf
Roland F. schrieb:>> Aber ich habe es anders angefangen als Du:...> Aber garantiert nicht als 15-Jähriger.
Wenn du dich da mal nicht irrst. Ich bin nicht er, aber ich habe mit 15
meine ersten Programme auf einem geliehenen C64 geschrieben. Nur ein
Jahr später dann auf PC und Mikrocontrollern. Da war ich sicher nicht
der einzige.
>> Ich konnte schon C.> Da warst du wie alt?
In meinem Fall war es Basic mit 15 und Pascal mit 16.
Eins meiner wenigen Assembler-Programme auf PC hat sogar einen
Wettbewerb gewonnen. Da ging es um den kleinsten schönen
Bildschirmschoner-Effekt (als reguläres Programm für DOS, nicht TSR).
Meins stellte ein animiert waberndes Plasma dar, mit nur 99 Bytes. Da
war ich auch noch nicht volljährig, und in Mathe erheblich fitter als
heute.
Roland F. schrieb:> Hallo,> Np R. schrieb:>> Aber ich habe es anders angefangen als Du:...>> Aber garantiert nicht als 15-Jähriger.>> Np R. schrieb:>> Ich konnte schon C. Auch das hatte ich mir aber vorher strukturiert und>> systematisch erarbeitet.>> Da warst du wie alt?
TRS-80 (Basic und Z80-Assembler), einen Junior (6502), der
Massenspeicher war ein Kassettenrecorder. Da war ich 15. War ca. 1980.
In den 70er Jahren waren Computer aller Art für Technik Nerds extrem
faszinierend, aber leider unbezahlbar. Erst in den 80er Jahren wurden
die Sachen für wohlhabende Familien bezahlbar und in den 90er Jahren
dann für alle.
Heute wachsen unsere Kids mit Smartphones auf, und der ganze Haushalt
steht voller programmierter Geräte. Daran ist nichts mehr so besonders,
wie damals.
Hallo,
Sherlock 🕵🏽♂️ schrieb:> ...aber ich habe mit 15 meine ersten Programme auf einem> geliehenen C64 geschrieben.
Und da hast dann als 15-Jähriger als erstes die notwendige
Systemdokumentation besorgt und dir "strukturiert und systematisch" den
C64 erarbeitet?
Ja ne, is klar.
rhf
Roland F. schrieb:> Aber garantiert nicht als 15-Jähriger.
Nein. Als 13-Jähriger. Allerdings nicht mit AVRs.
Wie ich aber oben schon schrieb, spielt das Alter (fast) keine Rolle.
Du bist ja kein Baby mehr, von dem man eigenes strukturiertes Lernen
nicht erwarten kann sondern dem man erst einmal ein Mobile übers
Bettchen hängt, damit es erst einmal dreidimensionale Wahrnehmung lernt.
Du kannst die Dinge schon selber strukturiert angehen.
Lernen macht nun einmal Mühe und Arbeit. Für den Einen weniger, für den
Anderen mehr.
Aber das Schöne ist ja gerade, wenn aus den Mühen ein Erfolg wird.
Leider sieht man oft, dass die Anderen (denen das Lernen schwerer fällt)
nach einem schnellen Erfolg suchen, ohne die Mühe zu investieren und
strukturiert vorzugehen. Die verlieren dann genau deshalb leider auch
schnell die Lust.
Die Einen (denen das Lernen leichter fällt) suchen sich dagegen ganz
automatisch schwerere Aufgaben, die Mühe erfordern, und investieren
diese Mühe auch.
Denn so einfach ist die Welt ja auch nicht wie hier:
Pascal S. schrieb:> von diesem Geld muss ich dann die Rente zahlen für Leute> die sich über meinen Start in die attinys lustig machen
Aus Deiner Generation werden nur wenige für die Älteren die Rente
zahlen. Nämlich die Leistungsträger.
Die Anderen hängen den Leistungsträgern noch als zusätzliches Senklot am
Hals.
Roland F. schrieb:> Und da hast dann als 15-Jähriger als erstes die notwendige> Systemdokumentation besorgt und dir "strukturiert und systematisch" den> C64 erarbeitet?
Ja. Ich hatte den Schaltplan und die Datenblätter der programmierbaren
IC's vorliegen. Es gab sogar ein komplette ROM-Listing als Buch, wo
quasi jede einzelne Zeile kommentiert/erklärt wurde.
Auch beim PC bin ich anfangs so vorgegangen. Ich erinnere mich noch gut
an die Datenblätter der Sound-Chips und des Floppy-Controllers. Mit
meinem Floppy-Treiber konnte man doppelt so schnell Disketten lesen und
bis zu 4x so schnell kopieren, als DOS. Vielleicht sagt dir "VgaCopy"
etwas. Die HW Zugriffe auf Floppy-Controllers und Soundkarte stammen von
mir. Die Idee und GUI stammen von einem damaligen Freund.
Ab Windows 95 endeten allerdings allmählich die direkten
Hardware-Zugriffe.
Np R. schrieb:> Lernen macht nun einmal Mühe und Arbeit> Ja ne, is klar.
Andere Generation halt.
Hallo Pascal, hallo Leute,
Sherlock 🕵🏽♂️ schrieb:> So geht das nicht. Man lernt nicht vier Sachen gleichzeitig, die> gegenseitig voneinander abhängig sind. Jedenfalls nicht, ohne einen> erfahrenen Lehrer direkt neben sich sitzen zu haben.
Na ja, in seinem konkreten Fall: wie hätte Pascal das anders machen
sollen? Er will halt in C ein Programm für einen Mikrocontroller
schreiben, in Arduino, und von dort in den uC laden. Soll er mit
Assembler anfangen und sich die eigene Toolchain selbst bauen?
Pascal S. schrieb:> Die Jugend von heute ist die Zukunft da ist nun mal so.
Wir brauchen die Jugend nicht, denn die KI wird in Kürze übernehmen ;-)
;-) <SCNR> (bitte nicht böse nehmen!)
Btw.: was solltest Du uns damit sagen? Solche Aussagen sind für mich
eigentlich No Gos, ebenso wie die Aussage meines Vaters: "so lange du
noch Deine Füße unter meinen Tisch..." Da war das Abendessen aber mal
sowas von gegessen...
Im Übrigen: hast Du Dir das "Datenblatt" des Attiny wirklich angeschaut,
und das Pinout Deines Boards? Und Blinkprogramme für den Attiny mit
Arduino wird es vermutlich auch reichhaltig geben.
Zuletzt muss ich mich aber doch noch auf Deine Seite stellen: So arg
viel hast Du ja nicht falsch gemacht. Immerhin konntest Du das Programm
übersetzen und in den uC flashen. Es hakte lediglich an der
Port-Initialisierung(*)
Also hast Du schon einen großen Teil der Skill-Liste von Sherlock
gemeistert! Aber strukturiert lernen wird dir in Zukunft sicher bessere
und schnellere Erfolge bescheren als ausprobieren, das als Tipp.
Mach weiter mit Deinem Hobby! Elektronik ist auch heute noch ein sehr
interessantes Gebiet, auch wieder zum Basteln! (das war leider lange
Zeit nicht mehr so, bevor dann die Maker-Szene erwachte).
ciao
Marci
Frank O. schrieb:> Ich finde es immer wieder erstaunlich, dass man ohne jegliche Grundlagen> so anfangen kann.
Dabei ist es genau das, was einen Anfänger auszeichnet: keine Grundlagen
zu haben und sie sich erarbeiten zu wollen. Verrückt! :-)
Beim Erarbeiten gibt es dann unterschiedliche Ansätze: die, die erst
einmal jedwede verfügbare Dokumentation durchkauen und jene, die schnell
versuchen, etwas praktisch umzusetzen. Letzteres kostet zwar oft
zerstörte Bauelemente, bietet dafür aber (vielleicht) schnellere
Erfolgserlebnisse und Lernerfolge. Beide Ansätze funktionieren ähnlich
gut, auch wenn überzeugte Anhänger eines dieser Ansätze sich nur selten
vorstellen können, daß auch der andere klappt.
Na ja, ich lese auch nicht erst drei Jahre, bevor ich dann was mache,
aber ich nehme dann erprobte Beispiele und ändere vielleicht den Code
oder auch die Hardware. Natürlich im überschaubaren Umfang, bei der
Hardware.
Beim TO handelt es sich um einen 15 Jährigen, da ist sowieso fast alles
erlaubt. :-)