Schlagwort-Archive: Arduino

Arduino Gruppe Kiel

Hallo,

nachdem ich jetzt einige Jahre lang mit dem Arduino und der Elektronik rundherum experimentiert habe möchte ich gern eine Arduino Gruppe in Kiel gründen.

Dabei denke ich an ein Treffen alle 2 Wochen in Kiel, einen Gedankenaustausch und die Vorstellung eigener Projekte. Hilfe bei Problemlösungen und einen Austausch der Werkzeuge und Schaltungen.

Wer dazu Lust hat meldet sich bei mir unter m at nmea.de

Also ran an die Tasten,
Matthias

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

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 einfache FFT – Fast Fourier Transformation – mit dem Arduino Uno

Ein Rechtecksignal kann aus verschiedenen Sinussignalen erstellt werden indem man die einzelnen Sinusschwingungen addiert. Um ein Rechtecksignal zu erhalten nimmt man die Grundfrequenz f mit der Amplitude 1 und addiert die dreifache Frequenz 3*f mit der Amplitude 1/3 und 5*f mit 1/5 Amplitude usw. Das ergibt dann eine Rechteckschwingung.

 f(t) = sin(\omega t) + 1/3 sin(3 \omega t) + 1/5 sin(5 \omega t) + 1/7 sin(7 \omega t) ...

Diese Fourierreihe beschreibt ganz allgemein die Frequenzbestandteile einer Schwingung. Siehe Wikipedia.

Hat man bereits eine Schwingung vorliegen und möchte sie zerlegen in die einzelnen Frequenzen kann man ein Fourierzerlegung machen, auch Fourier Transformation genannt. Für Mikrokontroller und andere Programme wurde eine schnelle Frequenzzerlegung geschrieben, die FFT oder Fast Fourier Transformation um diese Zerlegung fast im Echtzeit machen zu können. Weiterlesen