Arduinos sind erstaunlich kleine Geräte und Menschen (Instructablers) haben einige erstaunliche Dinge mit ihnen gemacht.
Ich bin neugierig. Ich gerne wissen, wie die Dinge funktionieren. Für die neugierigen werden diese Instructable versuchen, einige der Arduino Elektronik zu erklären.
Ich vermute, viele Menschen haben Arduino Projekte gebaut aber konnte nicht arbeiten. Ich hoffe, einige Kenntnisse und Fähigkeiten, um Hardware-Probleme wie Verdrahtungsfehler und schlechte Komponenten zu beheben.
Nach einigen Internet suchen fand ich eine Elektronik-Tutorial, die ich mag und Vertrauen:
http://www.LadyAda.NET/Learn/Arduino/Index.HTML
"Dieses Tutorial ist von Limor Fried"
In der Tat, empfehle ich es an alle Arduino-Leser. Es gibt einige Überschneidungen von Informationen, aber viel Multimedia und mehr zu programmieren.
Also, wer bin ich? Ich bin eine faule alte Geek (L.O.G.). Ich bin kein Dipl.-Ingenieur, aber ich bin seit über 40 Jahren als ein Elektronik-Tech in der USAF rund um den Bereich Elektronik. Ich verbrachte viele Jahre elektronische Prüfsysteme.
Arduino-Grundlagen:
Wie die meisten von euch wissen, basieren auf einen kleinen schwarzen Chip namens ein Mikrocontrollers Arduinos. Dies ist das Herz und Hirn des Arduino. Sie müssen keinen Arduino ohne ein. Es gibt viele Varianten von der Arduino-Mikrocontroller, aber sie alle haben die gleichen Funktionen. Derzeit ist die beliebteste für den Heimwerker die ATmega328. Siehe Bild.
Mikrocontroller: Ein Mikrocontroller ist ein CPU (Central Processing Unit) mit Speicher und Schnittstelle Schaltung eingebaut, um den Chip. Grundsätzlich übernimmt die CPU alle Befehle im Programm (Skizze) (. PDE) und tut, was sie sagen. Beachten Sie, dass ich sagte, was die Befehle sagen, es zu tun; Ich habe nicht gesagt, was der Programmierer will es tun. Schreiben, dass ein erfolgreiches Programm die CPU genau sagt, weiß was Sie wollen, dass es in der Sprache es .
Häufig gestellte: Ja, kann den ATmega328 immer anstelle der ATmega168 verwendet werden, wie die Hardware genau das gleiche. Die ATmega168 darf nicht den ATmega328 ersetzen, da es weniger Speicher hat, so dass größere Programme nicht funktionieren können.
Technobabble: Der Rest dieses Abschnitts ist nur für Geeks.
Gerät | Blitz | EEPROM | RAM |
ATmega168PA | 16K Bytes | 512 bytes | 1K Bytes |
ATmega328P | 32K Bytes | 1 K Bytes | 2K Bytes |
Was bedeutet das? Das K steht für Kilo, ein Multiplikator, was in diesem Fall bedeutet die Zahl mit 1024 zu multiplizieren. Bytes sind nur ein Ort zum Speichern von Informationen (Daten). Dies ist im Grunde der einzige Unterschied zwischen den zwei Mikrocontroller.
Flash: ist eine Art von Speicher, dass hält Informationen, Programm, auch nach die Arduino vom Strom getrennt ist. Das gleiche Programm läuft jederzeit macht erneut auf dem Arduino angewendet wird. Dies ist die gleiche Weise, USB-Sticks, und Digitalkameras Karten behalten ihre Informationen.
EEPROM: ist Speicher, der Informationen auch behält nach der Abschaltung ist. Es unterscheidet sich von Flash, wie sie durch das Programm anstelle vom Programm selbst geschrieben werden können. Die Arduino-Anweisungen, EEPROM-Speicher zu verwenden sind EEPROM.read() und EEPROM.write().
Tip: Be sure to have:
#include //in your sketch(program).
The limitation is, even in the ATmega328, there is only 1024 bytes so only so much data can be stored. Tip: By the way, I never got this to work.RAM: is also memory but it is volatile meaning it will go away when you turn off power. Sketches use it to store temporary information such as variables. What is a variable? Well, it is something that can change. Examples are the temperature or the time of day. Here is part of a sketch that converts a temperature sensor reading to degrees C (Centigrade) and degrees F (Farhenheit). float Vt=(float) sensorValue3Avg*5.0/1023.0;
Float R =(5.0-Vt) * 10,0 / Vt;
Float TinC=281.583*pow(1.0230,(1.0/R)) * pow(R,-0.1227)-150.6614;
TinF schweben = TinC * (9.0/5.0) + 32;
All diese Float -Variablen werden im RAM gespeichert und werden das nächste Mal, das eine Messung, überschrieben und gehen verloren, wenn das Gerät ausgeschaltet ist.
Variablen sind im Grunde nur Etiketten für Standorte im RAM. Float-Variablen sind eine bestimmte Art von Variable. Mit diesem Label weiß die Skizze wo es lang geht, speichern Sie den Wert es will oder rufen Sie den Wert an dieser Stelle gespeichert. Die spezifische Art bestimmt, wie viel Platz benötigt wird und wie die Informationen zu interpretieren.
Neben der CPU, flash und RAM, der ATmegas haben Interface-Schaltung Baujahr:
Serielle Schnittstelle: Dies kann die CPU auf den PC über eine serielle Schnittstelle oder über USB zu sprechen, und ich glaube, es wird verwendet, um die Kommunikation über I2C. Dies ist auch, wie es mit seriellen LCDs spricht.
Analog-digital-Wandler (ADC): Dadurch kann der ATmega analoge Spannungen in digitale Daten konvertieren (wird in einem anderen Instructable diskutiert werden).
PWM (Pulsweitenmodulation): Schaltung "analoge" Spannungen ausgeben
Timer: für die Zeitmessung Veranstaltungen, am häufigsten verwendet, um Verzögerungen zwischen Programmschritte, festzulegen z. B. blinkende LEDs.
Wenn Sie jemals auf diese ATmegas die Datenblätter angeschaut haben und sie verstehen, sollte dann vielleicht Sie dies anstatt mir zu schreiben.
-Präfixe: Es gibt eine Menge von Buchstaben befestigt, elektronische Terminologie, die verwirrend sein können. Z.B. 16mV, 10Kohms, 20uF. Diese Briefe werden Präfixe (und Suffixe) genannt, sind nur Multiplikatoren auf den Wert. Z. B. 10Kohms ist (10 x 1.000) Ohm oder 10.000 Ohm. Siehe Tabelle unten.
Nicht-essentielle Infos: Leider, wenn Sie reden ist Computer Speicher 1Kbyte 1024 Byte. Und zwar deshalb, weil Computer Menschen gerne alles kompliziert machen. Also zu Ihnen ist 2 K10. MB kann 1.000.000, 1.048.576 oder 1.024.000 bedeuten. Frag nicht, check it out auf Wikipedia.