Übersetzungen dieser Seite:
  • de-informal

Microcontroller-Programmierung mit Tinkercad

Auf dieser Seite findest du die Code-Beispiele für denk Tinkercad-Quickstart-Guide.

Beispiel-Code für den ESP8266 findest du nicht hier sondern auf der Beispielseite für Code für den ESP8266.

Codebeispiele für die Tinkercad-Quickstart-Aufgaben

Codebeispiel zu 3.

codebepspiel_3.cpp
#define LED_EXTERN 2
 
void setup()
{
	pinMode(LED_BUILTIN, OUTPUT);
	pinMode(LED_EXTERN, OUTPUT);
	digitalWrite(LED_EXTERN, LOW);
}
 
void loop()
{
	digitalWrite(LED_BUILTIN, HIGH);
	digitalWrite(LED_EXTERN, HIGH);
	delay(1000); // Wait for 1000 millisecond(s)
	digitalWrite(LED_BUILTIN, LOW);
	digitalWrite(LED_EXTERN, LOW);
	delay(1000); // Wait for 1000 millisecond(s)
}

Codebeispiel zu 4.

codebeispiel_4.cpp
void setup()
{
	pinMode(LED_BUILTIN, OUTPUT);
	// Serielle Ausgabe mit 115200 Baud starten
	Serial.begin(115200);
}
 
void loop()
{
	digitalWrite(LED_BUILTIN, HIGH);
	Serial.println("LED ist an");
	delay(1000); // Wait for 1000 millisecond(s)
	digitalWrite(LED_BUILTIN, LOW);
	Serial.println("LED ist aus");
	delay(1000); // Wait for 1000 millisecond(s)
}

Codebeispiel zu 6.

codebeispiel_6.cpp
#define POTIPIN A0
 
void setup()
{
	Serial.begin(115200);
}
 
void loop()
{
	Serial.println(analogRead(POTIPIN));
	delay(100);
}

Codebeispiel zu 9.

codebeispiel_9.cpp
#define PIN_TRIGGER 13
#define PIN_ECHO 12
#define SENSOR_MAX_RANGE 300
unsigned long time_of_flight;
unsigned int distance;
 
void setup()
{
	Serial.begin(115200);
	pinMode(PIN_TRIGGER, OUTPUT);
	pinMode(PIN_ECHO, INPUT);
}
 
void loop()
{
	// 345m/s, Hin- und Rückweg, Messung in Mikrosekunden, 0,0345 cm/us
	float factor = 0.0345 / 2;
	unsigned int timeout = (SENSOR_MAX_RANGE / factor) * 1.1;
	digitalWrite(PIN_TRIGGER, LOW);
	delayMicroseconds(3);
	digitalWrite(PIN_TRIGGER, HIGH);
	delayMicroseconds(10);
	digitalWrite(PIN_TRIGGER, LOW);
	time_of_flight = pulseIn(PIN_ECHO, HIGH, timeout);
	distance = time_of_flight * factor;
	// Ausgeben der Entfernung, sofern diese in einem sinnvollen Bereich
	// (positiv und unter der Messgrenze des Sensors) liegt, oder eine
	// Fehlermeldung ausgeben
	delay(1000);
}

Codebeispiel zu 10.

codebeispiel_10.cpp
#define SERVO 3
#define SERVO_UP 1
#define SERVO_DOWN 2
static int servoPos = 0;
static int servoDir = SERVO_UP;
 
void setup()
{
	pinMode(SERVO, OUTPUT);
	Serial.begin(115200);
	// Probelauf
	analogWrite(SERVO, 0);
	delay(500);
	analogWrite(SERVO, 127);
	delay(500);
	analogWrite(SERVO, 255);
	Serial.println("Setup abgeschlossen.");
}
 
void loop()
{
	// drehen und ausgeben
}

Codebeispiel zu 11.

codebeispiel_11.cpp
#include <LiquidCrystal.h>
// Erstellen eines LCD unter Angabe der verwendeten Pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup()
{
	lcd.begin(16,2);
	pinMode(A0, INPUT);
}
 
void loop()
{
	lcd.clear();
	lcd.setCursor(0, 0);
	lcd.print("BS Lichtenfels");
	lcd.setCursor(0, 1);
	lcd.print("Messwert: ");
	delay(100);
}

Codebeispiel zu 12.

codebeispiel_12.cpp
#include <Adafruit_NeoPixel.h>
 
#define NEO_PIXEL 2  // Pin für NeoPixel-Daten
#define NPIXELS 2  // Anzahl der NeoPixel
 
Adafruit_NeoPixel px = Adafruit_NeoPixel(NPIXELS, NEO_PIXEL, NEO_GRB + NEO_KHZ800);
 
void setup()
{
  px.begin();
  px.clear();
  px.setBrightness(255);
  px.show();
  Serial.begin(9600);
  Serial.println("Setup");
}
 
void loop()
{
  Serial.println("One"); 
  px.setPixelColor(0, px.Color(255, 0, 0));
  px.setPixelColor(1, px.Color(255, 255, 0));
  px.show();
  delay(2000);
 
  Serial.println("Two");
  px.setPixelColor(0, px.Color(0, 255, 0));
  px.setPixelColor(1, px.Color(0, 255, 255));
  px.show();
  delay(2000);
 
  Serial.println("Three");
  px.setPixelColor(0, px.Color(0, 0, 255));
  px.setPixelColor(1, px.Color(255, 0, 255));
  px.show();
  delay(2000);
}