HTML-Sketch

http://sites.schaltungen.at/arduino-uno-r3/html-sketch

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                             Wels, am 2015-04-20

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
**********************************************************************************
DIN A4  ausdrucken
*********************************************************

Derzeit existieren zwei Webpräsenzen von Arduino:
http://www.arduino.org/    welche von der Arduino S.r.l. betreut wird (Herstellern der ORIGINAL Arduino-Boards) , sowie
https://www.arduino.cc/   welche von der Arduino LLC aufgebaut wurde. (Massimo Banzi - ARDUINO UNO R3 der Fa. Adafruit Industries)
Im Juni 2015 gab Banzi die Zusammenarbeit mit der Fa. Seeedstudio bekannt, welcher die Microcontroller-Boards mit der neu erschaffenen Marke Genuino herstellt.
Genuino-Board auch von Fa. Watterott electronic aus Deutschland
Auf diesen Webseiten werden verschiedene Varianten der Arduino IDE mit unterschiedlichen Versionsangaben zum Download angeboten.

Der Mikrocontroller (ATMEL ATmega328p) ist mit einem Boot-Loader vorprogrammiert,
wodurch die Programmierung direkt über die serielle Schnittstelle ohne externes Programmiergerät erfolgen kann.
https://de.wikipedia.org/wiki/Liste_von_Arduinoboards
ARDUINO-IDE
https://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung



HTML Sketch
Beispiel für ein Programm (in der Arduino-Diktion: Sketch), welches eine an das Arduino-Board angeschlossene LED blinken lässt:
int ledPin = 13; // die LED ist an Pin 13 angeschlossen, was in der Variablen ledPin gespeichert ist                                // (Diese LED ist bei den meisten Boards integriert)void setup() {    pinMode(ledPin, OUTPUT);    // legt den LED-Pin als Ausgang fest}
void loop() { digitalWrite(ledPin, HIGH); // LED anschalten delay(1000); // 1 Sekunde (=1000 ms) warten (delay() braucht den Parameter in ms) digitalWrite(ledPin, LOW); // LED ausschalten delay(1000); // 1 Sekunde warten}


        HTML Files erstellen auf sites.schaltungen.at

                             Arduino-Board (seit März 2015 auch Genuino-Board)

Die Hardware besteht aus einem einfachen E/A-Board (ARDUINO UNO R3 der Firma Adafruit Industries)
mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen

ARDUINO-IDE 1.6.5   ODER 
ARDUINO-IDE 1.0.6 starten  (Physical-Computing-Plattform)
gewünschten Sketch (*.ino) hochladen und bearbeiten
MENU > Werkzeuge > Automatische Formatierung
    <Strg+T>
MENU > Datei > Speichern unter
...                            <Strg+Umschalt+S>
MENU > Bearbeiten > Als HTML in den ZS kopieren   <Strg+Alt+C>



MUSTER-FILE arduino - HTML_1a.html 
mit rechte Maustaste anklicken
Öffnen mit
Editor
<Strg+A> alles auswählen
<Entf>      alles löschen
<Strg+V> Inhalt des ZwischenSpeichers einfügen
MENU > Datei speichern


MUSTER-FILE arduino - HTML_1a.html mit doppelklick öffnen
MENU > Bearbeiten > Alles markieren  
<Strg+A>
MENU > Bearbeiten > kopieren
            <Strg+C>


sites.schaltungen.at z.B. "SIE FAHREN.. km/h" öffnen
GOOGLE sites  bearbeiten (Icon - Bleistift)
Cursor setzen (wo eingefügt werden soll)
MENU > Bearbeiten einfügen

<Strg+V> Inhalt des ZwischenSpeichers einfügen






*********************************************************
              Ein Beispiel

// Titel: GitHub adafruit/Light-and-Temp-logger
// Beschreibung: Light-and-Temp-logger / lighttemplogger.pde // Autor: Fritz Prenninger// Datum: 2014-09-13// Sketch: Light_and_Temp_Logger_auf_SD-Card_1i.ino// Shield: Fa. Adafruit "Assembled Data Logging Shield"// Controller: ARDUINO UNO Rev3// Version: Arduino 1.0.5-r2// Tools: COM5 9.600 Baud// 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890// Einfacher Datenlogger - Fa. adafruit Datalogging Arduino Shield// pin-0 "Serial-Monitor" (I2C)// pin-1 "Serial-Monitor" (I2C)// pin-2 Jumper (uberkreuz) auf L2 LED rot (Datenspeicherung alle 60.000ms)// pin-3 Jumper auf L1 LED grün (Messwert einlesen alle 1.000ms)// pin-10 verwendet das adafruit "Data Logging Shield"// pin-ref 3,3V// pin-A0 LDR (CdS Fotowiderstand)// pin-A1 TMP36 (Temperatur-IC)// pin-A2 3,3V 10k--10k = 1,65V// pin-A3 5,0V 10k--10k = 2,50V// pin-A4 SDA Real Time Clock (I2C) (Adafruit RTC Modul)// pin-A5 SCL Real Time Clock (I2C)// // finster 33=33,13Vcc Dämmerung 414=2,71Vcc hell 712 1,58Vcc Sonne 1006 1,12Vcc//// Seit Excel 2007 kann ein Tabellenblatt 1.048.576 Zeilen und 16.384 Spalten (A bis XFD),// also 17.179.869.184 Zellen umfassen. Davor war die Größe auf 65.536 Zeilen und 256 Spalten // (A bis IV), also 16.777.216 Zellen, begrenzt. Ist in jedem dieser Felder eine Ziffer// eingetragen, so hat eine Datei in Office 2003 eine Größe von 227 MB,// in Office 2013 eine Größe von 1382,4 MB also 1,35 GB.#include <Wire.h> // I2C-Libraries einbinden - "Serial-Monitor"#include "RTClib.h" // RTC (Echtzeituhr DS1307) Bibliothek einbinden#include <SD.h> // SD-Card Libraries einbinden (SanDisk 32GB)#define LOG_INTERVAL 1000 // alle 1.000ms wird ein Meßwerte eingelesen (LEDgrün)#define SYNC_INTERVAL 10000 // alle 60.000ms werden die dann vorh. 60 Meßwerte auf die SD-Karte // geschrieben (LEDrot) wenn die Stromversorgung ausfällt, gehen bis zu 60 Meßwerte verlohrenuint32_t syncTime = 0; // Zeit der letzten Synchronisierung ()#define ECHO_TO_SERIAL 1 // Daten auch an den "Serial-Monitor" senden//#define ECHO_TO_SERIAL 0 // Daten nicht an den "Serial-Monitor" senden#define WAIT_TO_START 0 // Nicht warten auf Zeichen-Eingabe im "Serial-Monitor"//#define WAIT_TO_START 1 // Warten auf Zeichen-Eingabe im "Serial-Monitor" #define redLEDpin 2 // LED rot blinkt auf beim Speichern (Dauer-rot Speicherkarte fehlt)#define greenLEDpin 3 // LED grün (Lesen/Schreiben von Meßdaten)#define photocellPin 0 // pin-A0 an CdS = Fotowiderstand#define tempPin 1 // pin-A1 an TMP36 Temperatur-Sensor#define BANDGAPREF 14 // Geheim-Kanal-14 lesen#define aref_voltage 3.301 // an Aref die Spannung mit einem Multimeter messen 3,301V#define bandgap_voltage 1.1 // Geheim-Kanal-14 1,10V ReferenzRTC_DS1307 RTC; // Den Real-Time-Clock IC initialisieren// Das Fa. Adafruit "Data Logging Shield", verwendet den pin-10 für die SD-Card CS-Leitung// Das ARDUINO "Ethernet Shield", verwendet den pin-D4 für die SD-Card ChipSelect-Leitungconst int chipSelect = 10; // pin-10 auf Ausgang, auch wenn Loggin-Shield diesen nicht benutzenFile logfile; // die Logging-Datei// Fehlerfunktion void error(char *str) soll implementiert werden, die einen String entgegen nimmtvoid error(char *str) { Serial.print("FEHLER: "); Serial.println(str); // (println beendet die Zeile) digitalWrite(redLEDpin, HIGH); // leuchten der rote LED zeigt Fehler an (keine SD-Karte steckt) while(1); // Endlosschleife = Stillstand bei Fehler}void setup(void) // Serielle Ausgabe starten - Warten auf Zeichen-Eingabe im Serial Monitor{ Serial.begin(9600); // "Serial-Monitor" mit 9.600 Baud initialisieren (möglich 1200..115200) Serial.println(); // println beendet die Zeile // Verwendung der 2 Debugging-LED (rot und grün) zeigen auch FEHLER an pinMode(redLEDpin, OUTPUT); // FEHLER oder Datenspeicherung pin-2 auf Ausgang pinMode(greenLEDpin, OUTPUT); // Meßwert-Erfassung pin-3 auf Ausgang#if WAIT_TO_START Serial.println("einen beliebiges Zeichen in den Serial Monitor eingeben um Prg. zu starten"); while (!Serial.available());#endif //auf START warten Serial.print("Initialisieren der SD Card"); // SD-Card initialisieren, prüfen ob FAT32 formatiert // Sicher stellen daß der Standard-Chip-Select pin gesetzt ist (pin-D10 bei Data Logging Shield) pinMode(chipSelect, OUTPUT); // pin-10 auf Ausgang, auch wenn Loggin-Shield diesen nicht benutzen // nachsehen, ob die Karte vorhanden ist und initialisiert werden kann. if (!SD.begin(chipSelect)) { error("SD-Karte hat einen Fehler oder ist nicht gesteckt"); } Serial.println("SD-Karte wurde initialisiert"); // Eine neue Messdaten-Datei (comma-separated-value Datei) erstellen. char filename[] = "LOGGER00.CSV"; //SD-Karten File-Name mit EXCEL-Extension *.CSV Format for (uint8_t i = 0; i < 100; i++) { filename[6] = i/10 + '0'; filename[7] = i%10 + '0'; if (! SD.exists(filename)) { // Es öffnet Sie eine neue Datei, wenn sie nicht vorhanden ist logfile = SD.open(filename, FILE_WRITE); break; // verlasse die Schleife! } } if (! logfile) { error("konnte die Datei nicht erstellen"); } Serial.print("Logging an: "); Serial.println(filename); // (println beendet die Zeile) Wire.begin(); // Echtzeit-Uhr DS1307 verbinden if (!RTC.begin()) { logfile.println("RTC fehlgeschlagen");#if ECHO_TO_SERIAL // schreib auch in den "Serial-Monitor" wenn ECHO_TO_SERIAL 1 ist (bei 0 nicht) Serial.println("RTC fehlgeschlagen");#endif //ECHO_TO_SERIAL } logfile.println("milliS;UnixZeit;DateTime;Licht;Temp;Vcc"); // EXCEL-File mit Semikolon getrennt (;)#if ECHO_TO_SERIAL // Versuch in die Datei zu schreiben Serial.println("milliS, UnixZeit, Date Time , Licht, Temp #BANDGAPref# Vcc");#endif //ECHO_TO_SERIAL analogReference(EXTERNAL); // die an pin-Aref ext. angelegte Spannung (+3,3V) als Referenz verwendet}void loop(void){ DateTime now; // Verzögerungs-Zeit, zwischen den Messungen (siehe LOG_INTERVALL 1000) delay((LOG_INTERVAL -1) - (millis() % LOG_INTERVAL)); digitalWrite(greenLEDpin, HIGH); // grüne LED ein, bei jeder Messung uint32_t m = millis(); // Anmelden der Zeit seit Arduino gestartet ist logfile.print(m); // speichert die milliSekunden die seit dem Start vergangen sind logfile.print("; "); // *.csv EXCEL-Trennzeichen das Semikolon (;)#if ECHO_TO_SERIAL Serial.print(m); // schreibt Millisekunden die seit dem Start vergangen sind Serial.print(", ");#endif now = RTC.now(); // hole aktuelles Datum/Zeit von der Echzeit-Uhr und speichere auf die SD-Card // Zeit einloggen logfile.print(now.unixtime()); // UnixZeit Sekunden seit 1.1.1970 logfile.print("; "); // Zeitformat das von EXCEL erkannt werden kann 2014-09-14 23:01:59 logfile.print('"'); logfile.print(now.year(), DEC); logfile.print("-"); logfile.print(now.month(), DEC); logfile.print("-"); logfile.print(now.day(), DEC); logfile.print(" "); logfile.print(now.hour(), DEC); logfile.print(":"); logfile.print(now.minute(), DEC); logfile.print(":"); logfile.print(now.second(), DEC); logfile.print('"');#if ECHO_TO_SERIAL // hole aktuelles Datum/Zeit von RTC und sende zum "Serial-Monitor" Serial.print(now.unixtime()); // UnixZeit Sekunden seit 1.1.1970 Serial.print(", "); Serial.print('"'); Serial.print(now.year(), DEC); Serial.print("-"); Serial.print(now.month(), DEC); Serial.print("-"); Serial.print(now.day(), DEC); Serial.print(" "); Serial.print(now.hour(), DEC); Serial.print(":"); Serial.print(now.minute(), DEC); Serial.print(":"); Serial.print(now.second(), DEC); Serial.print('"');#endif //ECHO_TO_SERIAL analogRead(photocellPin); // pin-A0 Fotowiderstand delay(10); // 10ms Wartezeit um Lesart zu wechseln int photocellReading = analogRead(photocellPin); analogRead(tempPin); // pin-A1 Temperatur-IC TMP36 delay(10); // 10ms Wartezeit um Lesart zu wechseln int tempReading = analogRead(tempPin); // Analoge ReferenzSpannung - RohWert-Umwandlung, bei 3,301V Referenz-Spannung float voltage = tempReading * aref_voltage / 1023; // Umwandlung von rohDaten bezogen auf pin-Aref float temperatureC = (voltage - 0.5) * 100 ; // TMP36 Umwandlung von 10mV/gradC mit 0,5V Offset float temperatureF = (temperatureC * 9 / 5) + 32; // in Fahrenheit konvertieren logfile.print("; "); logfile.print(photocellReading); // Licht-Wert 0..1024 auf SD-Card speichern logfile.print("; "); logfile.print(temperatureC); // Temperatur-Wert in °C auf SD-Card speichern // logfile.print(temperatureF); // Temperatur-Wert speichern in Fahrenheit#if ECHO_TO_SERIAL Serial.print(", "); //sendet Daten als ASCII-Zeichen an die serielle Schnittstelle Serial.print(photocellReading); // Licht-Wert 0..1023 zum "Serial-Monitor" senden Serial.print(", "); Serial.print(temperatureC); // Grad Celsius zum "Serial-Monitor" senden // Serial.print(temperatureF); // Fahrenheit Grade zum "Serial-Monitor" senden#endif //ECHO_TO_SERIAL //analogRead(BANDGAPREF); // "Vcc" Spannung durch Messung des Geheim-Kanals-14 (interne 1,1Vref) //delay(10); // 10ms Wartezeit um Lesart zu wechseln int refReading = analogRead(BANDGAPREF); float supplyvoltage = (bandgap_voltage * 1023) / refReading; // bandgap_voltage 1,1V logfile.print("; "); logfile.print(supplyvoltage);#if ECHO_TO_SERIAL Serial.print(" #"); Serial.print(refReading); Serial.print("# "); Serial.print(supplyvoltage);#endif // ECHO_TO_SERIAL logfile.println(); // println beendet die Zeile#if ECHO_TO_SERIAL Serial.println(); // println beendet die Zeile#endif // ECHO_TO_SERIAL digitalWrite(greenLEDpin, LOW); //grüne LED aus // die Daten werden auf die microSD-Speicherkarte geschrieben // der erste Wert braucht ca. 10sec. Zeit if ((millis() - syncTime) < SYNC_INTERVAL) return; syncTime = millis(); // rote LED blinkt auf, um das Schreiben der Daten und die Aktualisierung der FAT anzuzeigen ! digitalWrite(redLEDpin, HIGH); logfile.flush(); // leert den Empfangsbuffer der seriellen Schnittstelle digitalWrite(redLEDpin, LOW);}



*********************************************************

Literatur

  • Erik Bartmann:      Die elektronische Welt mit Arduino entdecken. Mit dem Arduino messen, steuern und spielen, Elektronik leicht verstehen, kreativ programmieren lernen. O’Reilly, Köln 2011, ISBN 978-3-89721-319-7
  • Michael Margolis: Arduino Kochbuch. O’Reilly, Köln 2012, ISBN 978-3-86899-353-0
  • Manuel Odendahl, Julian Finn, Alex Wenger: Arduino – Physical Computing für Bastler, Designer und Geeks. O’Reilly, Köln 2009, ISBN 978-3-89721-893-2
  • Mike Riley: O’Reillys basics: Das intelligente Haus – Heimautomation mit Arduino, Android und PC. O’Reilly, Köln 2012, ISBN 978-3-86899-363-9

  • Thomas Brühlmann: Arduino: Praxiseinstieg. mitp, Heidelberg 2012, ISBN 978-3-8266-9116-4

  • Maik Schmidt:      Arduino Ein schneller Einstieg in die Microcontroller-Entwicklung. 2. Auflage. dpunkt, Heidelberg 2015, ISBN 978-3-86490-126-3
  • Kimmo Karvinen, Tero Karvinen, Ville Valtokari: Sensoren - messen und experimentieren mit Arduino und Raspberry Pi. dpunkt, Heidelberg 2014, ISBN 978-3-86490-160-7

  • Günter Spanner: Arduino: Schaltungsprojekte für Profis. Elektor, Aachen 2012, ISBN 978-3-89576-257-4

  • Harold Timmis:  Arduino in der Praxis. Franzis, Haar 2012, ISBN 978-3-645-65132-5
  • Simon Monk:      30 Arduino Selbstbau-Projekte, Franzis, Haar 2012, ISBN 978-3-645-65136-3
  • Ulli Sommer:      Arduino: Mikrocontroller-Programmierung mit Arduino, Freeduino. Franzis, Poing 2010, ISBN 978-3-645-65034-2

Quelle:
https://de.wikipedia.org/wiki/Arduino_(Plattform)




DIN A4 ausdrucken

*********************************************************

Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected]
ENDE






a