Direkt zum Hauptbereich

My new hobby: arduino microcontroller programming

Schon als Jugendlicher hatte ich immer wieder davon geträumt etwas mit Elektronik zu machen. Und welcher Junge hatte denn nicht schon alte Radios usw. auseinandergenommen?

Damals hatte ich meinen Techniklehrer nach einem Buch gefragt, und er riet mir zu "Einführung in die Elektronik" von Jean Pütz.
Obwohl dieses Buch nicht mehr im Druck ist, kann ich es jedem nur empfehlen, weil es nicht nur in die Tiefe geht, sondern auch voller einführender Informationen ist.

Durch einen Schüler, aber schlussendlich durch das weite Internet stieß ich dann auf Adruino Open Hardware. Ich besorgte mir dann kein Originales, sondern ein Funduino Board von einem deutschen Händler, der u.a. noch Zusatzmaterial dazu verkaufte:


Zu sehen ist das Board im Hintergrund, das Steckbrett in der Mitte, die LCD-Anzeige im Vorderund und danz vorne das Potentiometer zur Helligkeitskontrolle.

Normalerweise muss nicht gelötet werden, da Dupont-Steckverbindungen genutzt werden, nur die LCD-Anzeige musste ich löten. Bis auf diese Ausnahme ist es also möglich, schnell Schaltungen zu kreieren.

Das Wunderschöne dabei ist aber definitiv, dass das Arduino-Board viel Arbeit abnimmt durch Programmierbarkeit, die sonst "gelötet" werden müssten; z.B. das Entprellen von Tastern.

Und hier der Code in was auch immer. Manche sagen es ist C++, andere wiederum beschreiben es als Processing, aber eindeutig konnte ich dazu nichts finden, was wohl daran liegt, dass der Compiler großzügig arbeitet.

Dieser Source-Code arbeitet auch noch mit einem Temperaturfühler an A0:

 /*  
 http://fluuux.de/2012/09/lcd-display-am-arduino-anschliesen/
plus eigenes  
 */  
 #include <LiquidCrystal.h>  
//Hier die Ports angeben an denen das Display angeschlossen wurde  
 LiquidCrystal lcd(12, 11, 10, 7, 6, 5, 4); 

 int TMP36 = A0;  
 int temperatur = 0;  
 int temp[10];  
 int time= 20;  
 void setup()   
 {   
  lcd.begin(16, 2); //Art des Displays  
 // lcd.print("Hallo Welt");   
 }   
 void loop()   
 {  
  temp[1] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[2] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[3] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[4] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[5] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[6] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[7] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[8] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[9] = map(analogRead(TMP36), 0, 410, -50, 150);  
 delay(time);  
 temp[10] = map(analogRead(TMP36), 0, 410, -50, 150);  
 temperatur=(temp[1]+temp[2]+temp[3]+temp[4]+temp[5]+temp[6]+
temp[7]+temp[8]+temp[9]+temp[10])/10; // Alles in eine Zeile!  
 lcd.setCursor(0, 0);  
 lcd.print("Temperatur: ");   
 lcd.print(temperatur);  
 lcd.print(" C");   
 lcd.setCursor(0, 1);  
 lcd.print("an seit: ");   
 lcd.print(millis()/1000);  
 lcd.print(" sec");   
 }  


Warum kein Raspberry Pi?

Der Markt ist ganz sicher durch den Pi stark belebt worden, weil damit viele ihre eigenen Home-Medien-Server gebaut haben, oder gar ihr Hi-Fi-System im Auto usw. usf., aber dennoch ist es mehr Computer als Chip-Satz.
Dies merkt man u.a. daran, dass Sensoren zu allem Möglichen für Arduino-Systeme erhältlich sind. Ausserdem gibt es die freie Software "Fritzing" zur Schaltplan-Visualisierung, wohinter eine Firma steckt, die einem auch gleich eine Platine anfertigen würde.

Bezugsquellen?

Arduino stammt aus Italien, und die nachgebauten Chipsätze haben deswegen ein "Designed in Italy" oder dergleichen aufgedruckt. Dennoch kann man Asien vertrauen, kommen doch auch alle sonstigen Platinen da her.
So bekommt man über ebay günstig Boards, man muss nur länger warten.
Leider ist es einem auch dann überlassen, die Kompatibilität zu testen, aber beim halben bis drittel Preis sollte diese Hürde kein Problem sein.

Auf amazon wird z.B. ein Steckbrett für 5 EUR verkauft, was über Asien/ebay 1,20 EUR kostet.


Kommentare

Beliebte Posts aus diesem Blog

debian 6 vserver - a new installation due to centOS update problem - my steps

My centOS vserver broke down after a "yum update" and even the centOS community forum could not give an answer within 24h. In my books that is poor for the almighty and stable centOS. Bare in mind that I am just a normal user of linux, no professional and definitely no expert when it comes to server, but I can read, try and share my findings: debian 6 installation steps via ssh secure your server: adduser foobar for security purposes  change /etc/sshd/sshd_conf to PermitRootLogin no now you can login as foobar and change to root via su - visudo for sudo command permissions and put this at the bottom: foobar   ALL=(ALL) ALL change hostname change hostname in /etc/hostname and in /etc/hosts reboot login via rsa key rather than password locally do ssh-keygen ssh-copy-id -i foobar@hostname... ssh now works without passwords but with keys (for easy deployment) install ruby and rails via rvm login as root always good to have: sudo apt-get install...

Stream your media to your DLNA device e.g. tv with miniDLNA on a linux machine

Recently we bought a Sony Bravia LED TV with the possibility to receive streams. It can read DLNA, which is not much, so dont fall for the certificate. DLNA means it can read MPEG-I/II and some other normal stuff. Luckily the Sony Bravia can read mkv and x256 and some other codecs. And this is something the sells people and adverbs dont tell you, so be warned not to trust the DLNA-Certificate too much, the device has to decode the media in the end. Anyway i set up miniDLNA on my laptop and now I am able to stream my media to the television. Although the process did not go that well. The problem was miniDLNA was breaking down all the time. And checking it by reading the logs etc revealed permission issues. I had to start miniDLNA as the user my files belonged to. BUT I did not use the user setting in the minidlna.conf instead I just started the daemon as the user. I could have done this with a startup script, but there were some issues with the network being set up at the sam...

Virtuelles Wasser?!

In den letzten Tagen habe ich immer mal wieder etwas mit Rails programmiert und werde mich ebenso heute dem neuen Auftrag "multiple file upload" kümmern. Und weil vieles "Versuch-Irrtum" ist, gucke ich auf dem zweiten Monitor immer Reportagen. Letztens kam mir "Der große Haushaltscheck" unter die Finger: ARD Mediathek "Der große Haushaltscheck" In der Sendung vom 11.3.2013 ging es um unser Trinkwasser. Jedem sollte klar sein, dass Plastikflaschen nicht die erste Wahl sind, weil man nicht darauf vertrauen kann, dass der Hersteller wirklich "gutes" Plastik nahm (BPA, Phtalate, Benzol, Xylol usw.), aber das interessante waren die genannten Zahlen in puncto virtuellem Wasser bzw. Wassersparen. Wasser sparen an und für sich ist ja gut, nur heisst das nicht, dass wir weniger die Klospühlung benutzen sollten, sondern dass wir uns Gedanken machen über das "virtuelle Wasser". Unsere Kanalisation ist eine Schwemm-Kanalisatio...