Main Menu

Login Form

Arduino

Arduino aelbst bauen

Arduino Selbstbau auf Lochraster.

Man braucht nur ein paar Teile.
Der Aufbau ist in 3 Schritten beschrieben. Grundschaltung, IO, und Betriebspannung. Wer die 3,3V nicht benötigt und oder fertig programmierte Chips einsetzt kann noch einfacher bauen.

  

Lochrasterplatine

1 Quarz 16Mhz

2 Keramikkondensatoren 22pf 50V

1 10kOhm 1/4 Watt

2 Kondensatoren 100nf 63V (0,1µf)

1 Pinheader  female 40pol.

1 IC Sockel 24pol.

1 Atmega328p

1 Kleinsttaster

   

 1 DC Einbaubuchse

 4 Dioden 1N4007

 1 Spannungsregler 5V

 1 LM317K für 3,3V
 1 Elko 22 - 100µf

 1 Widerstand 330Ohm

 1 Widerstand 470 Ohm

 1 Widerstand 150 Ohm
 1 LED Grün

 1 Wannenstecker 10pol.

 

 

Arduino Selbstbau auf Lochraster

Platine und Pinheader zuschneiden und verlöten.  Die Bauteile montieren und wie im Bild anschliessen. Die Pinheader sind nicht teilbar. Beim teilen geht immer ein Anschluss kaputt.  Ich habe die Platine bewusst länger gelassen, weil vorn noch ein paar Teile draufkommen, die höher sind und die drüberliegenden Shields stören.

 

 

 

Selbstbau Arduino IO Verkabelung

Dieses Bild zeigt die Anschlüsse der IO-Pins. Mann könnte auch noch die Anschlüsseanlog 4 und 5 mit den Anschlüssen oben Links verbinden. Das und der doppelte 5V Anschluss ist die eigenliche Änderung zum Arduino R3. Das hat man gemacht um Shields auch für andere Arduino-Platinen kompatibel bauen zu können.

Wer wie die meisten die 3,3V nicht braucht kann jetzt zB. Eine Buchse einbauen und die Schaltung über ein stabilisiertes Netzteil betreiben.

 

 

Spannungsversorgung

 

Ganz einfach mit einem stabilisierten
Netzteil.

Aduino basteln von Johannes Krumm

Hier kann man mit einem 9-15VNetzteil rein.
Es ist eine Gleichrichtung und ein  5V Regler verbaut.

 Ardunionachbau mit 5V Spanungsversorgung

Durch die Dioden ist der Eingang gegen Verpolung geschützt. Es kann auch eine Wechselspannung eingespeist werden.                                                            

Hier mit 3,3V Erweiterung wird nur selten gebraucht.

Arduino Nachbau mit 5V und 3,3 Volt Spannungsversorgung.

Der Widerstand links vom Regler hat 330Ohm der daneben 470. Die Spannung beträgt ca. 3,1V. Das funktioniert und ist getestet. Wer genau 3,3V haben will muss mit Hilfe der Datenblätter rechnen und andere Widerstände nehmen. Es gibt auch Regler für 3,3V, wenn ich die getestet habe werde ich die Schaltung ändern.

Programmierung,

ganz einfach über einen vorhandenen Arduino und dann den Chip umstecken.

Oder per FTDI Adapter an Arduino. Das geht aber nur wenn ein Bootloader installiert ist. Die von mir gelieferten Bausätze haben einen.

Bootloader installieren und auch programmieren geht auch mit dem USBasp von fischl.de USBasp Eigenbau

Dieses Programmiergerät habe ich nach der Anleitung von Herrn Fischl gebaut.
Es funktioniert. Für Newcommer ist aber das Problem mit dem Huhn und dem Ei da. Man benötigt ein Programmiergerät um das Programmiergerät nachzubauen. Es gibt ganz einfache Kabel die man an den Paralellport des PC´anschliessen kann. Ich rate davon ab weil es immer weniger PC´s mit diesem Port gibt und auch Software die das unterstützt wird immer seltener.

Herr Fischl bietet einen auch fertig programmierten Bausatz an.

Um mit der Arduinosoftware zu programmieren, muss unter Tools der USBasp ausgewählt werden und statt auf Upload dann auf Upload mit Programmer klicken.

 

Selbstbauarduino mit ISP Anschluss

Dieses Bild zeigt die Verkabelung für den ISP  (In System Programmer). Den Resetknopf hatte ich auf den anderen Bildern vergessen.
Über den ISP-Anschluss kann man den Bootloader brennen oder den Arduino, der ja eigentlich ein Atmega328p ist in einer ander Programmierumgebung flashen.

 

Bootloader installieren und Fusebits setzen.

Bei einem  neuen Atmega ist werkseitig der interne Oszilator auf, glaub ich 2Mhz eingestellt. Die Anschlüsse für den Quarz können noch als IO Pins genutz werden. 16Mhz oder auch genau Oszillatorfrequenzen bekommt man nur mit einem Quarz hin.  Dazu muss die Konfiguration des Chips über die Fusebits geändert werden.
Um einen Bootload noch zu instllieren und vor überschreiben zu schützen sind weiteren Änderungen nötig.

Hier der AVR-Dude und eine Batchdatei zum download. Es ist das Programmiergerät von Fisch eingetragen.

Während der Installation muss der Quarz angeschlossen sein. Hinterher läuft der CHip nicht mehr ohne Quarz.

Hier die fertige Zeile zum setzen der Fuse und Lockbits :
avrdude -p m328p -c USBasp -U hfuse:w:0xda:m -U lfuse:w:0xff:m -U efuse:w:0x05:m -U lock:w:0x0f:m

Für die jüngeren, die den Umgang mit Kommandozeilen nicht mehr kennen gibt es für den AVR-Dude zusätzliche noch eine grafische Benutzeroberfläche. Das ist der Burn-O-mat. Hier downloaden.

 

CP210X

Wegen des Ärgers bei FTDI mit Chinafakes biete ich den FTDI nicht mehr an.
Als Ersatz habe ich jetzt den CP2104 im Programm. Man will ja nur Daten via USB an den Arduino schicken. Dafür reicht der Chip.
Die Installation unter Windows 7 sowie das Programmieren über die Arduino IDE habe ich getestet.
Lief auch noch nach der Umstellung auf Windows 10

Die Installation ist einfach: Dranstecken und lange warten. Windows findet keinen Treiber wird aber einen Link auf die Downloadseite von Silicon Labs vorschlagen. Einfach anklicken, Download und Installation wie gewohnt durchführen.

Falls Windows doch nichts vorschlägt. Hier nochmal der Link.

cp210x als ArduinoersatzDie Anschlüsse sind beschriftet. Leider zum FTDI nicht Pinkompatibel. Es liegt aber ein Jumperkabelsatz bei.
Die Anschlüsse für 5V, 3,3 und GND dürfte klar sein. TX muss am Atmega auf RX gehen RX auf TX. Zwischen DTR und Atmega muss ein 0,1µf Kondensator sein.

 

Fensterkontakte überwachen

Fensterkontakte überwachen.

In den Beispielen ist ein Programm das einen Schalter am Digitalpin abfragt. Ich habe es etwas erweitert. Szenario alle Fenster einer Wohnung sollen überwacht werden. Beim öffnen der Wohnungstür leuchtet ein Led wenn ein Fenster oder beide Fenster auf sind.
Tür und Fenster sind mit Umschaltontakten versehen die bei geschlossene Fenster auf 0 Volt liegen. Bei offenen Fenster oder Tür werden über 10kOhm 5 Volt auf den Digitalpin gelegt. Wenn ein oder beide Fenster offen sind passiert nichts erst wenn die Tür geöffnet wird und eins oder beide Fenster offen sind wird in diesem Beispiel LED13 ( auf Arduino Uno bereits vorhanden) eingeschaltet.Kontakte

 

Hier das Programm, wer es verstanden hat kann es mühelos auf mehr Fenster erweitern:

Die Kommentare habe ich nocht nicht angepasst.

Statt Schaltern kann man zum testen auf dem Steckbrett auch einfach Kabel umstecken.

/*
Fensterüberwachung
 
 Ein Led wird eingeschaltet wenn schalter Dor und Schalter Fenster1 oder Fenster2 auf 5V liegen.
 
 
 The circuit:
 
 * 10K resistor attached to pin 2 from ground
 
 * Hinweis: auf den meisten Arduinos ist bereiz ein  LED auf der Platine mit Pin 13 verbunden.
 
 
 
 
 

modified by http://pc-rentner.de
 */

// constants won't change. They're used here to
// set pin numbers:
const int fenster1 = 2;     // the number of the pushbutton pin
const int fenster2 = 3;     // the number of the pushbutton pin
const int dor = 11;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState1 = 0;         // variable for reading the pushbutton status
int buttonState2 = 0;
int buttonState6 = 0;         // Türkontakt
void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  // initialize the pushbutton pin as an input:
  pinMode(fenster1, INPUT);
  pinMode(fenster2, INPUT);
}

void loop(){
  // read the state of the pushbutton value:
  buttonState1 = digitalRead(fenster1);
   buttonState2 = digitalRead(fenster2);
buttonState6 = digitalRead(dor);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState6 == HIGH and buttonState1 == HIGH or buttonState2 == HIGH) {     
    // turn LED on:    
    digitalWrite(ledPin, HIGH);  
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}