Ein Software-gesteuertes Digitales Potentiometer

Um eine Lampe zu dimmen oder die Lautstärke am Radio zu regeln, werden Potentiometer genutzt. Diese einstellbaren Widerstände gibt es in analoger oder digitaler Form. Während beim analogen Potentiometer der Widerstand mechanisch eingestellt wird, kann bei einem digitalen Potentiometer der Widerstand per Software kontrolliert werden. Ich habe zum Beispiel einen einfachen MCP1413-103, der mit dem SPI Protokoll angesprochen und in 129 Stufen zwischen 0 und 10kOhm eingestellt werden kann.

Den Rest des Beitrags lesen »

Hinterlasse einen Kommentar

WLAN per SD Card konfigurieren

Bei der Installation des Raspberry Pi ohne Monitor und Tastatur gab es für mich normalerweise 2 Wege um auf den Raspberry zu kommen: a) per Netzwerkkabel und ssh oder b) per serieller Verbindung und screen. Es gibt aber eine deutlich einfachere Lösung für Raspberry Pis mit funktionierenden WLAN Chip bzw. Wifi USB Stick. Und die funktioniert schon vor dem ersten Start des Raspi.

Den Rest des Beitrags lesen »

Hinterlasse einen Kommentar

Speedtest auf der Commandline

Mit einem Browser ist ein Speedtest der WLAN Verbindung einfach. Die Googlesuche nache speedtest liefert entweder den Google-eigenen test oder verweist auf einen der vielen Anbieter. In einer SSH Sitzung auf einem Headless Raspberry Pi ist die Kommandozeile gefragt.

Den Rest des Beitrags lesen »

, , ,

Hinterlasse einen Kommentar

Wieviel bringt ein Lüfter?

Der Raspberry Pi 3 Model A+ ist schön kompakt und sollte für einfache Aufgaben ausreichen. Der 1.4GHz 64-bit Prozessor mit 4 Kernen hat etwas mehr Kraft als der alte Raspberry Pi 1 Model A+. Die mechanische Bauform ist identisch mit alten Modell. Da das neue Modell doppelt so schnell taktet wie das alte stellt sich die Frage, ob er in einem geschlossenen Gehäuse zu heiß wird.

Raspberry Pi 3 Modell A+ (links) und Raspberry Pi 1 Modell A+ (rechts)

Das neuere Modell hat ein integriertes Dual-band WLAN und Bluetooth 4.2/BLE. Gerade WLAN braucht viel Strom, der im Chip Wärme erzeugt. Trotzdem sollte das neue Modell ohne Lüfter auskommen und die Chips sind sogar in einer metallenen Verkleidungen. Das sollte die Wärmeableitung deutlich verbessern.

Den Rest des Beitrags lesen »

, , , ,

Hinterlasse einen Kommentar

Elektrisch Programmieren 3: Der Pi Zero als ISP

IMAG1049_1

Im letzten Teil der Serie ging es darum, wie der Programm-Code für den ATtiny aussieht. Da Assembler-Code am besten geeignet ist, um möglichst viel über die Abläufe des Mikrocontrollers zu erfahren, gab es auch eine kleine Einführung in Assembler für den ATtiny. In diesem Teil soll es darum gehen, wie man den Programm-Code in den Flash-Speicher des ATtiny lädt. Normalerweise programmiere ich im Amtel Studio. Damit ist die Verwaltung eines Projekts und die Einstellungen der Chip-spezifischen Konfiguration sehr einfach. Mit einem 886MB großen Installer wird damit allerdings mit Kanonen auf Spatzen geschossen. Ein guter Editor ist völlig ausreichend. Ich habe mir vor einiger Zeit eine Lizenz für Sublime Text zugelegt, da der sich super konfigurieren lässt, es geht natürlich auch mit vim oder irgendein anderer Editor der idealerweise gleich das kompilieren und debuggen unterstützt.

Den Rest des Beitrags lesen »

, , , , ,

Ein Kommentar

Pi Zero im WLAN

IMAG0968-02

Der OTG Adapter ist angekommen und das Setup für den Pi Zero ist nun komplett. Als WLAN Adapter kommt wieder der Edimax EW-7811Un mit dem Realtek RTL8188CUS Chipsatz zum Einsatz. Dieser USB-Wifi-Stick wird von raspbian von Haus aus unterstützt.

Den Rest des Beitrags lesen »

, , , ,

2 Kommentare

Hölzernes Prototyping mit dem Pi Zero

Pi Zero Kit and wood board.jpg

Den Pi Zero habe ich schon eine Weile in der Schublade liegen. Gleich als er in UK erschienen ist, habe ich mir einen für 5£ besorgt. Allerdings so ganz ohne Header und Netzwerk ist er erst einmal nur begrenzt einsetzbar. Im Zero Essentials Kit von Pi Hut war zwar ein OTG Adapter von Micro USB auf USB enthalten. Es stellte sich aber heraus, dass der defekt war. Ohne Header und ohne USB-Anschluss war das Projekt erst einmal auf Eis gelegt.

Den Rest des Beitrags lesen »

, ,

Hinterlasse einen Kommentar

Elektrisch Programmieren 2: ATtiny unter totaler Kontrolle

PIN Layout

Im ersten Teil dieser Einführung in den ATtiny ging es um einen ersten Überblick über den Aufbau eines Mikrocontrollers. Das kleine Kerlchen für gerade einmal 1€ enthält ja ein komplettes System mit CPU, RAM und Flash auf einem winzigen Chip. In der Abbildung oben ist die Belegung der Pins des ATtiny abhängig von der jeweiligen Konfiguration dargestellt. Ein Beinchen kann also einmal mit einem I/O-Port verbunden sein, mal mit dem SPI Modul, mal mit dem Analog-Digital-Coverter. Welche Funktion das ist, hängt von der Konfiguration der jeweiligen Register ab. In diesem Beitrag soll gezeigt werden, wie ein Programm für den ATtiny mit Hilfe von Assembler erstellt wird und wie eine dieser Funktionen – der I/O-Port PB3 (hellgrau) – für einen Timer-gesteuerten Blinker  genutzt wird.

Den Rest des Beitrags lesen »

, , ,

3 Kommentare

Internetbasiertes FM-Radio – Teil 4: Schaltung und Arduino-Programmierung

In den bisherigen Teilen dieser Serie wurde (1) die Idee vorgestellt (ein Radio auf Basis des Arduino, dass die zum Ort passende UKW-Senderliste von einem RasPi per IP-Geolokation bekommt), (2) das Skript zum Beschaffen der UKW-Senderliste mit Hilfe von Screen Scraping vorgestellt und (3) die Programmierung der Kommunikation zwischen RasPi und Arduino per Seriellem Port und das Speichern in einem EEPROM des Arduino gezeigt.

In diesem Teil wird der Aufbau des eigentlichen Radios auf Basis des TEA5767 erläutert. Dieser Chip ist ein hoch integrierter Mikrocontroller, der ein komplettes UKW-Radio enthält und per I2C angesteuert wird. Es gibt ihn für 1€ – 3€ in vielen Webshops bereits auf einem Breakout-aufgelötet. Ich habe dem Board noch Steckbrett-geeignete Pins verpasst, um damit besser experimentieren zu können.

TEA5767-schema

Den Rest des Beitrags lesen »

, , , , , , , ,

Hinterlasse einen Kommentar

Elektrisch Programmieren: Der ATtiny

IMAG0211Es ist fast ein ganzes Jahr her, seit meinem letzen RasPi-Projekt. In dieser Zeit habe ich mich intensiver mit Mikrocontrollern beschäftigt. Der einfache ARM-Prozessor des RasPi war ein guter Einstieg in die Protokolle mit anderen Bauelementen, wie i2c-Sensoren oder EEPROM-Speicherbausteinen. Ich wollte noch kleinere Hardware, noch effizienter im Stromverbrauch, noch näher an der Hardware programmieren. Über den Umweg Arduino habe ich mir die Atmel ATMega Mikrocontroller näher angesehen. Der kompakteste 8bit Atmel Mikrocontroller ist der ATtiny. Den ATtiny85 bekommt man etwa für 1 € und man erhält ein System mit einer 20 MHz CPU, 512 Byte RAM, 8 KB Flash und 512 Byte EEPROM auf gerade einmal 0.73 cm². Programmiert wird er in C oder Assembler. Er versteht 120 (Maschinen-Code) Befehle und unterstützt mit i2c und SPI die wichtigen Industrieprotokolle für Sensoren und andere Mikrocontroller.

Den Rest des Beitrags lesen »

, ,

Ein Kommentar