Archiv der Kategorie: Arduino

Der Hamming Code für den Arduino

Bei einer digitalen Funkübertragung kann es zu Störungen kommen und einzelne Bits werden falsch empfangen, kippen sozusagen um. Aus einer 1 wird eine 0.

Richard Wesley Hamming hat sich dazu Gedanken gemacht und eine Codierung entwickelt, die es erlaubt zu überprüfen ob alle Bits richtig übertragen wurden. Einzelne Bits können sogar rekonstruiert werden.

Hier sollen 4 Daten-Bits übertragen werden. Dazu werden nach einem bestimmten Schema 3 Paritäts-Bits hinzugefügt, die Daten werden codiert. Es müssen nun 7 Bits übertragen werden. Wird ein Bit falsch empfangen, so lässt es sich später bei der Decodierung rekonstruieren.

Die 4 Daten-Bits werden mit 3 Paritäts-Bit nach diesem Schema ergänzt.
Die Datenbits: d4, d3, d2, d1 Weiterlesen

MCP4725 12Bit DA Wandler vom Arduino ansteuern

Der Microchip MCP 4725 Digital zu Analog Wandler wird über den I²C Bus angesteuert. Er kann die Spannungen von GND bis VCC ausgeben mit einer 12 Bit Auflösung oder 4096 Werten. Bei 5V Versorgungsspannung ist das eine Auflösung von ca. 1,2 mV pro Bit.

MCP4725

Die Ansteuerung ist einfach mit 2 Leitungen zu bewerkstelligen
A4 > SDA
A5 > SCL Weiterlesen

Servo Pulslänge vom RC Empfänger mit dem Arduino ermitteln

Der Fernsteuer Empfänger gibt die Servo Impulse raus. Diese Pulslänge möchte ich mit dem Arduino ermitteln und im Terminal ausgeben.

Dazu wird ein Servokanal an den Arduino angeschlossen.
+ an +5V
– an GND
Signal an D2

RC Empfänger Pulslänge messen

Hier das Programm mit serieller Ausgabe Weiterlesen

Servosteuerung mit einem Poti und dem Arduino

Ein Poti kann die Stellung des Modellbau Servos vorgeben.

Dazu wird ein Poti mit ca. 1-100 kOhm an +5V und GND angeschlossen und der Mittelabgriff kommt auf einen analogen Arduino Eingang, z.B. A6.

Der Servo wird auch an +5V und GND angeschlossen und die Steuerleitung kommt an einen digitalen Ausgang, z.B. D2.

Poti Servo Ansteuerung

Von Arduino wird die Potispannung über den Analog Eingang von 0-1023 eingelesen und ein entsprechendes Pulssignal wird zum Servo ausgegeben. Weiterlesen

Servo Ansteuerung direkt vom Arduino

Ein Modellbau Servo kann direkt vom Arduino Pin angesteuert werden.

Der Servo reagiert auf Pulslängenänderungen. Ein 5V Puls ist 1-2 Millisekunden lang und dann folgt eine Pause mit 0V von ca. 20 ms bis zum nächsten Puls.
Ein Puls mit 1 ms bedeutet linker Anschlag.
Ein Puls mit 1,5 ms bedeutet Mittelstellung.
Ein Puls mit 2 ms bedeutet rechter Anschlag.

Wird die Pulsdauer von 1 ms zu 2 ms kontinuierlich verändert, dreht der Servo langsam zum Vollausschlag.

Servo am Arduino

Zur Stromversorgung bekommt der Servo noch Strom vom Arduino
+5V > Servoleitung rot
GND > Servoleitung schwarz
Und die Signalleitung
A2 > Servoleitung orange oder gelb Weiterlesen

Eine Grafik mit Processing ausgeben

Die Arduino Datei aus diesem Beitrag wird ab Zeile 31 etwas verändert, sodass Temperatur und Luftdruck ohne Leerzeichen, aber mit einem Komma getrennt ausgegeben werden: 25.3,1015.1

  Serial.print(((float)temp_mittel/10.0)+temp_offset, 1);
  Serial.print(",");
  Serial.println(((float)druck_mittel/100.0)+druck_offset, 1);

Und hier die Processing Datei um die Linien Grafik auszugeben. Weiterlesen

Grafische PC Ausgabe der Arduino Daten mit Processing

Mit der kostenlosen Processing Software können die seriellen Daten vom Arduino grafisch ausgegeben werden.

Als erstes nehme ich das Arduino BMP 180 Barometer Programm. Mit ein paar kleinen Änderungen sieht das dann so aus. Weiterlesen

Ein simpler Rechteckgenerator mit dem Arduino

Mit der Arduino tone() Anweisung lassen sich Töne / Rechteckfrequenzen auf einem beliebigen digitalen Pin ausgeben. Damit ist es sehr einfach einen Rechteckgenerator zu realisieren.

// Simpler Rechteckgenerator an Pin 10
//
// Matthias Busse Version 1.0

unsigned int frequenz=10000;

void setup() {
  tone(10,frequenz);
}

void loop() {
}

Es lassen sich Frequenzen von 31 Hz bis 65535 Hz erzeugen. Weiterlesen

Arduino FFT auf dem 5110 Display ausgeben

Aus den letzten beiden Artikeln Arduino FFT berechnen und 5110 Grafik ausgeben ist nun eine Arduino Uno FFT Berechnung mit Grafik Ausgabe geworden.

Arduino Uno FFT Ausgabe

Für die Grafik Ausgaben wurde die Library von Henning Karlsen installiert und verwendet.

Das Programm berechnet verschiedene Wellenformen
– Ein Rechtecksignal
– Ein Sinus Signal
– Zwei addierte Sinus Wellen
– Eine Frequenzmodulation
und gibt das Frequenzspektrum von 0 – 2520 Hz aus, in 40 Hz Schritten. Weiterlesen

Eine Grafik auf dem 5110 LCD Display ausgeben

Auf dem Nokia 5110 LCD Display soll eine Grafik ausgegeben werden. Später soll ein Frequenzspektrum dargestellt werden, vorerst werde ich aber Zufallszahlen verwenden und darstellen, was dann wie ein Rausch Spektrum aussieht.

Eine schöne Grafik Library für den Arduino hat Henning Karlsen hier bereit gestellt.

Die Anschlüsse:
Ich habe hier eine 5V Daten kompatible Version. Normalerweise wird aber ein Daten-Spannungsumsetzer von 5V > 3,3V in die Datenleitungen geschaltet, da das Display nur für 3,3V Datenpegel ausgelegt ist.
Pin 8 > Clk
Pin 9 > Din
Pin 10 > DC Weiterlesen