Basteltipps: Unterschied zwischen den Versionen

1.564 Bytes hinzugefügt ,  15. Oktober 2015
Added Arduino Temperatur Messung
(Bissl übersichtlicher gestaltet =))
(Added Arduino Temperatur Messung)
Zeile 16: Zeile 16:


Der Elko sollte bei Überspannung so ungefähr mit dem LM317 zusammen sterben (40V für den LM gegen 50V für den Elko). Für die Minimallast kann eine Einschaltkontroll-LED des Verbrauchers sorgen wenn der echt wenig braucht. Der Elko kann ersatzlos weg oder gegen kleineren Typen getauscht werden. Dann kann auch bei Fehlern nicht zuerst mal der Elko wahnsinnig hohe Ströme an Verbraucher liefern, sondern die Strombegrenzung des LM wird sofort wirksam. [[Benutzer:Dg3hda|Dg3hda]] ([[Benutzer Diskussion:Dg3hda|Diskussion]]) 21:34, 27. Sep. 2015 (CEST)
Der Elko sollte bei Überspannung so ungefähr mit dem LM317 zusammen sterben (40V für den LM gegen 50V für den Elko). Für die Minimallast kann eine Einschaltkontroll-LED des Verbrauchers sorgen wenn der echt wenig braucht. Der Elko kann ersatzlos weg oder gegen kleineren Typen getauscht werden. Dann kann auch bei Fehlern nicht zuerst mal der Elko wahnsinnig hohe Ströme an Verbraucher liefern, sondern die Strombegrenzung des LM wird sofort wirksam. [[Benutzer:Dg3hda|Dg3hda]] ([[Benutzer Diskussion:Dg3hda|Diskussion]]) 21:34, 27. Sep. 2015 (CEST)
== Einfache Temperaturmessung mit Arduino ==
Material:
* Thermistor 10kΩ
* Wiederstand 10kΩ
* Arduino
* Kabel + Breadboard
[[Datei:Arduino temp.svg|rahmenlos]]
Code:
<pre>
#include <math.h>        //loads the more advanced math functions
void setup() {            //This function gets called when the Arduino starts
  Serial.begin(115200);  //This code sets up the Serial port at 115200 baud rate
}
double Thermister(int RawADC) {  //Function to perform the fancy math of the Steinhart-Hart equation
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;              // Convert Kelvin to Celsius
return Temp;
}
void loop() {            //This function loops while the arduino is powered
  int val;                //Create an integer variable
  double temp;            //Variable to hold a temperature value
  val=analogRead(0);      //Read the analog port 0 and store the value in val
  temp=Thermister(val);  //Runs the fancy math on the raw analog value
  Serial.println(temp);  //Print the value to the serial port
  delay(1000);            //Wait one second before we do it again
}
</pre>
Das ganze spuckt der Arduino nach dem Hochladen mit 115200 Baud auf die Serielle Schnittstelle, die man z.b. mit dem Serial Monitor der Arduino IDE einsehen kann.
Oder ganz bequem vom Terminal aus:
<pre>
screen /dev/ttyACM0 115200
</pre>
Hier evtl. die Schnittstelle anpassen (z.b. /dev/ttyUSB0 bei Verwendung eines USB Seriell Wandlers)