Category Archives: Arduino

CH340G Treiber für Arduino

By | 24. Februar 2016

Arduino Uno R3 Clone mit CH340G

Viele Arduino Clones aus China verwenden statt dem Atmega16U2 den günstigeren CH340G. Dieser benötigt einen speziellen Treiber, der leider nicht leicht zu finden und oft nur auf chinesischen Seiten verfügbar ist, dessen Seriösität nicht immer bewertet werden kann.

Download
CH340G Treiber | 135 kB

DS3231M I2C Library Arduino

By | 5. Februar 2016

Da es leider keine Bibliothek für den DS3231M gab, die meinen Anforderungen entspricht, habe ich eine eigene entwickelt. Folgende Funktionen sind vorhanden:

  • Zeit setzen
  • Zeit auslesen
  • Temperatur auslesen
  • Mehrere Module durch freie Adresswahl an einem Bus betreiben
Methodenübersicht Anzeigen
#include <RTC.h> //RTC library

void setup() {
  Serial.begin(250000);
  RTC.setSeconds(30);
  RTC.setMinutes(7);
  RTC.setHours(12);
  RTC.setDay(5);
  RTC.setMonth(2);
  RTC.setYear(16);
}

void loop() {
  Serial.print(RTC.getDay());
  Serial.print(".");
  Serial.print(RTC.getMonth());
  Serial.print(".");
  Serial.print(RTC.getYear());
  Serial.print(" ");
  Serial.print(RTC.getHours());
  Serial.print(":");
  Serial.print(RTC.getMinutes());
  Serial.print(":");
  Serial.print(RTC.getSeconds());
  Serial.print(" Temperature: ");
  Serial.println(RTC.getTemperature());
  delay(100);
}

Downloads:

Download
DS3231M Datenblatt | 891 kB

Download
RTCLib | 2 kB

digitalWriteFast mit ATtiny

By | 29. März 2014

Für ein schnelles Füllen von Schieberegistern ist man auf eine hohe Schaltgeschwindigkeit der einzelnen Pins angewiesen. Mit einem Arduino Uno (@ 16Mhz) dauert das toggeln eines Pins bis zu 12 µs, was bei mehreren in Reihe geschalteten Schieberegistern zu einem Verlust von Rechenzeit führt, mit der die nächsten Elemente berechnet werde müssen.

Es existiert eine Bibliothek namens digitalWriteFast, die in der Lage ist, eine Pin-Toggle in unter 1 µs durchzuführen. Allerdings hat sie so ihre Macken, sobald sie mit einem ATtiny in Berührung kommt. Also habe ich die Bibliothek für ATtinys umgeschrieben.

Download
digitalwritefasttiny.zip | 1 kB

Der Ordner digitalWriteFastTiny wird nach C:\Users\Benutzername\Documents\Arduino\libraries bzw. C:\Program Files\Arduino\libraries kopiert und anschließend wie im Beispiel eingebunden.

Beispiel:

#include <digitalWriteFastTiny.h>
#define led 0
 
void setup() {               
  pinMode(led, OUTPUT);
}
 
void loop() {
  digitalWriteFast(led, HIGH);
  delay(1000);
  digitalWriteFast(led, LOW);
  delay(1000);
}