Ubuntu: Arduino IDE installieren

2017-03-11 von Mario

Leider wird über das Ubuntu Software-Center nicht die neuste Version der Arduino IDE installiert. Um diesen Missstand zu beheben, kann die IDE manuell installiert werden.

Schritt 1: Download der Arduino IDE

Als erstes muss die Software heruntergeladen werden. Hier jeweils die richtige Variante wählen (Linux 32 bit, Linux 64 bit, Linux ARM).

Link: www.arduino.cc/en/Main/Software

Schritt 2: Entpacken

Mit dem Befehl “tar” wird das Archiv entpackt.

tar -xvf arduino-1.8.0-linux64.tar.xz

3. Schritt: Verschieben

Danach den entpackten Ordner “arduino-1.8.1” nach “/opt” verschieben.

sudo mv arduino-1.8.0 /opt

Schritt 4: Installieren

Daraufhin in den Ordner wechseln und

cd /opt/arduino-1.8.0/

der Datei “install.sh” Ausführungsrechte geben.

sudo chmod +x install.sh

Zum Abschluss die Installation starten.

sudo./install

Zu guter letzt die Anwendung starten (Icon auf dem Desktop, bzw. im Navigationsmenü Programmierung).

 

Kategorie: IT Schlagwörter: ,

8-Bit Shift Register mit Arduino

2015-07-20 von Mario

Für eine Steuerung benötigte ich eine Porterweiterung für den Arduino UNO. Ein Schieberegister war die naheliegendste und unkomplizierteste Möglichkeit. Für die Umsetzung habe ich folgende Bauteile verwendet:

  • Arduino UNO
  • 74HC595 Schieberegister

Video

Quellcode

int clockPin = 8;		// SH_CP	shift register clock pin 
int latchPin = 9;		// ST_CP	storage register clock pin (latch pin)	
int dataPin = 10;		// DS		serial data input 
int data = 0;

void setup(){
	pinMode(clockPin, OUTPUT);
	pinMode(latchPin, OUTPUT);
	pinMode(dataPin, OUTPUT);
}

void loop() {
 sendBytes(data);
 data++;

 if(data > 255) {
   data = 0;
 }
}

void sendBytes(int val) {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, val);
  digitalWrite(latchPin, HIGH);
  delay(1000);
}
Kategorie: IT Schlagwörter: ,

ATtiny45 Programming Shield für Arduino

2015-05-07 von Mario

Für das Programmieren eines ATtiny45 mit einem Arduino muss doch relativ viel verkabelt werden, was schnell in einem unübersichtlichen Kabelsalat enden kann. Eine einfache Möglichkeit, das Chaos zu beherrschen, ist die Erstellung eines Arduino Shields. Mit folgenden Materialien kann ein passendes Shield erstellt werden:

  • Lötkolben
  • Kondensator
  • Platine
  • Kopfleiste
  • 8Pin DIP IC Buchse Adapter

Die Vorderseite des Shields:

arduino shield_attiny_45_85_01

Die Rückseite des Shields:
arduino shield_attiny_45_85_02

Der Vorteil eines Shields ist die Zeitersparnis, da der Fokus ausschließlich auf der Programmierung liegt und nicht auf dem richtigen verkabeln. Die Pins: RESET, 5V, GND, 13, 12, 11 und 10 werden auf dem Arduino Board verwendet.

 

Für eine Schnelltest der Programmlogik habe ich eine Testplatine mit 5 Dioden eingesetzt.

attiny_45_test

Kategorie: IT Schlagwörter: , , ,

ATtiny45 mit Arduino programmieren

2015-03-04 von Mario

Für eine separate Steuerung wollte ich einen ATtiny45 Chip programmieren.

Folgende Bauteile werden benötigt:

  • ATMEL ATtiny 45
  • Elektrolytkondensator 10uF
  • Arduino UNO

Vorgehensweise

1. Als erstes die Libary attiny von https://github.com/damellis/attiny/ runterladen (Download ZIP).
2. Aus dem ZIP Archiv den Ordner “attiny” in “/home/username/sketchbook/hardware” entpacken.
3. Die Arduino IDE beenden und erneut starten.
4. Schaltzeichnung ATtiny 45

ATtiny45-85

6. Als nächstes das Programm ArduinoISP (In-System-Programmer) unter dem Menüpunkt “Datei | Beispiele | ArduinoISP” auf den Arduino einspielen.

ArduinoISP

7. Danach den Arduino UNO nach dem abgebildeten Schaltplan verkabeln.

Schaltplan

8. Das eigene Programm mit der Arduino IDE öffnen und im Menüpunkt “Tools | Programmer | Arduino as ISP” wählen.

ArduinoISP2

9. Weiterhin muss unter dem Menüpunkt “Tools | Boards” der “ATtiny45 (internal 8 MHz clock)” ausgewählt werden.

ArduinoISP3

10. Als letzten Schritt das eigene Programm uploaden. Wenn die Dioden TX und RX Blinken wird der Upload durchgeführt.

 

Anmerkung

Wenn der Arduino wieder normal verwendet werden soll, muss vorher unter dem Menüpunkt “Tools | Boards” das Board “Arduino Uno” gesetzt werden.

Kategorie: IT Schlagwörter: , ,

Modellbahnsteuerung mit Arduino

2015-01-03 von Mario

Mit der Arduino-Plattform ist es sehr einfach, Hardware anzusteuern. Auf der Modellbahnanlage von E. Wolf wird ein Bagger, ein Kran und eine Raupe über jeweils einen Servo angesteuert. Damit der Ablauf nicht immer gleich ist, wird noch etwas “Zufall” integriert.

 

Hier gibt es den Quellcode für diese Umsetzung.

#include <Servo.h>

struct fahrzeug {
	int degree;
	int ms;
	int pin;
	Servo servo;
};

fahrzeug fahrzeug_list[3];

void setup(){
	// declare Fahrzeuge
	struct fahrzeug raupe1;
	struct fahrzeug bagger1;
	struct fahrzeug kran1;

	// define Raupe
	raupe1.pin = 10;
	raupe1.degree = 160;
	raupe1.ms = 88;

	// define Bagger
	bagger1.pin = 9;
	bagger1.degree = 180;
	bagger1.ms = 75;

	// define Kran
	kran1.pin = 11;
	kran1.degree = 180;
	kran1.ms = 20;

	// add Fahrzeuge to list
	fahrzeug_list[0] = raupe1;
	fahrzeug_list[1] = bagger1;
	fahrzeug_list[2] = kran1;
}

void loop(){
	long rnd = random(0,3); // random(min,max-1) 
	rotate_fahrzeug(fahrzeug_list[rnd]);
}

void rotate_fahrzeug(struct fahrzeug &fzg){
	int pos = 0;

	// attach servo to pin
	fzg.servo.attach(fzg.pin);

	for(pos=0;pos<=fzg.degree;pos+=1){
		fzg.servo.write(pos);
		delay(fzg.ms); 	
	}

	for(pos=fzg.degree;pos>=0;pos-=1){                               
		fzg.servo.write(pos);
		delay(fzg.ms);
	}

	// set servo to start position
	fzg.servo.write(90); 
	
	// detach servo
	fzg.servo.detach();
}

 

Kategorie: Modellbahn Schlagwörter: , ,