-
Datei
schrittmotoren.ino
/* Schrittmotor Variablen deklaration */ #define Rad_Links_I01 2 #define Rad_Links_I11 3 #define Rad_Links_PHASE1 4 #define Rad_Links_I02 7 #define Rad_Links_I12 6 #define Rad_Links_PHASE2 5 #define Rad_Rechts_I01 8 #define Rad_Rechts_I11 9 #define Rad_Rechts_PHASE1 10 #define Rad_Rechts_I02 13 #define Rad_Rechts_I12 12 #define Rad_Rechts_PHASE2 11 #define TIMER_PERIOD 20000 // timer clocks, 2MHz void Motor1(int8_t step); void Motor2(int8_t step); volatile int8_t schrittM1; volatile int8_t schrittM2; volatile uint8_t flag_timer; void setup() { Serial.begin(9600); // Serielle Verbingung Starten /*
in „Zwei Interrupts gleichzeitig Laufen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fuellstandmesser.ino
3.3V VL53LXx Vin -- 3.3V GND -- GND SCL -- 5(D1) SDA -- 4(D2) by snowfly */ /** IotWebConf06MqttApp.ino -- IotWebConf is an ESP8266/ESP32 non blocking WiFi/AP web configuration library for Arduino. https://github.com/prampec/IotWebConf Copyright (C) 2018 Balazs Kelemen <prampec+arduino@gmail.com> This
-
Datei
Mouse.ino
/* Copyright (c) 2014 NicoHood See the readme for credit to other people. Mouse example Press a button to click with mouse. See official documentation for more infos */ // include HID library #include <HID.h> #include <Mouse.h> const int xAxis = A1; //analog sensor for X axis const int yAxis = A2; // analog sensor for Y axis const int switchPin = A3; const int ledPin = 13; int range = 12; // output range of X or Y movement int responseDelay = 2; // response delay of the mouse, in ms int threshold = range/4; // resting threshold int center = range/2; // resting position value int minima[] = { 1023
in „Problem beim Uploaden von Code zu Arduino Uno mit anderer Firmware (Hoodloader 1.8)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Buttons.ino
#define MAXBUTTONCOUNT 30 #define TastaturTextSize 6 int ButtonX[MAXBUTTONCOUNT], ButtonY[MAXBUTTONCOUNT]; int ButtonW[MAXBUTTONCOUNT], ButtonH[MAXBUTTONCOUNT]; String ButtonName[MAXBUTTONCOUNT]; int buttonCount = 0; void addButton(int x, int y, int w, int h, String Name, int adress){ ButtonX[adress] = x; ButtonY[adress] = y; ButtonW[adress] = w; ButtonH[adress] = h; ButtonName[adress] = Name; #ifdef DEBUG freeMemory("addButton :" + Name + ": " + String(adress) ); #endif if (buttonCount < adress) buttonCount = adress; #ifdef ADDBUTTON_DEBUG Serial.print(F("addButton :")); Serial.print(Name); Serial.print
in „Arduino Uno code an STM32 nutzen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fehler.ino
#include <avr/io.h> using Register = volatile unsigned char *; #if defined(__AVR_ATmega328P__) constexpr Register portList[] = {&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTB,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC,&PORTC,}; #elif defined(__AVR_ATmega32U4__) constexpr Register portList[] = {&PORTD,&PORTD,&PORTD,&PORTD,&PORTD,&PORTC,&PORTD,&PORTE,&PORTB,&PORTB,&PORTB,&PORTB,&PORTD,&PORTC,&PORTB,&PORTB,&PORTB,&PORTB,&PORTF,&PORTF,&PORTF,&PORTF,&PORTF,&PORTF,&PORTD,&PORTD,&PORTB,&PORTB,&PORTB,&PORTD,&PORTD,}; #elif defined(__AVR_ATmega2560__) /**/ constexpr
in „[AVR] Unerwarteter Compilerfehler mit constexpr“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fehler.ino
#include <avr/io.h> using Register = volatile unsigned char *; static constexpr uint16_t R_PORTA { 0x0002 + __SFR_OFFSET }; static constexpr uint16_t R_PORTB { 0x0005 + __SFR_OFFSET }; static constexpr uint16_t R_PORTH { 0x0102 }; constexpr uint16_t portList[] = {R_PORTA, R_PORTB, R_PORTH}; constexpr uint8_t pinMaske[] = {0b010,0b0100,0b010000}; constexpr Register getOutPort(const byte pin) { return reinterpret_cast<Register>(portList[pin]); } constexpr uint8_t getMaske(const uint8_t pin) { return pinMaske[pin]; } template<uint8_t pin> inline void setPin() { *getOutPort(pin) |= getMaske(pin); }
in „[AVR] Unerwarteter Compilerfehler mit constexpr“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
encoder.ino
#include "AltEncoder.h" using namespace AltEncoder; // Define a list of as much encoders you need // Parameters are pin numbers for // phase A and phase B Encoder* encoderList[] = {// A B new Encoder( 3, 4), new Encoder( 5, 6), new Encoder( 7, 8), new Encoder( 9,10), new Encoder(11,12), new Encoder(14,15), nullptr }; void setup() { Serial.begin(0); Controller::begin(encoderList, 30/*µs*/); // choose a sampling period which is at least a factor of two smaller than the shortest time between two encoder signal edges. pinMode(2,OUTPUT); } void loop() { for(int i = 0; i< 6; i++) { Serial.println(encoderList
in „Encoder Signal Spikes“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Ardiuno.ino
#include <SoftwareSerial.h> SoftwareSerial mySerial(3, 5); // RX, TX int a; int Hilfe = 0; void setup() { // set the data rate for the SoftwareSerial port mySerial.begin(4800); Serial.begin(115200); } void loop() { // run over and over if(Hilfe == 0) { a++; mySerial.print("Hello, world: "); mySerial.print(a); mySerial.println("!"); Serial.print("Gesendet\n"); Hilfe =1; } while(mySerial.available()>0) { Serial.write(mySerial.read()); Hilfe = 0; } delay(200); }
in „Serielle Datenübertragen vom Arduino Uno zum NodeMCU (ESP8266)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Master.ino
// Master #include <Streaming.h> #include <Wire.h> constexpr byte slaveAdr {12}; void setup() { Wire.begin(); Serial.begin(9600); Serial << "Start: "<< __FILE__ << endl; } byte data; void loop() { Serial << "Sende: " << data << " "; Wire.beginTransmission(slaveAdr); Wire.write(data); byte error = Wire.endTransmission(); switch(error) { case 0: Serial << "success" << endl; data++; break; case 1: Serial << "data too long to fit in transmit buffer" << endl; break; case 2: Serial << "received NACK on transmit of address" << endl; break; case 3: Serial << "received NACK on transmit of data" << endl; break; case 4: Serial
in „Arduino Wire“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Slave.ino
// Slave #include <Streaming.h> #include <Wire.h> constexpr byte slaveAdr {12}; volatile bool newData {false}; volatile byte data; void receiveEvent(int howMany) // läuft im ISR Kontext { if(1 == howMany) // nur 1 Byte Sendungen akzeptieren { data = Wire.read(); newData = true; Wire.begin(0); // Empfang auf slaveAdr stoppen } } void setup() { Wire.begin(slaveAdr); Wire.onReceive(receiveEvent); Serial.begin(9600); Serial << "Start: "<< __FILE__ << endl; } void loop() { if(newData) // dann verarbeiten { Serial << "Empfangen: "<< data << endl; newData = false; Wire.begin(slaveAdr); } delay(1000); //
in „Arduino Wire“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
messversuch.ino
int VP = 34; // pin der gemessen werden soll int min_alt = 4000; int max_alt = 0; int min_neu = 4000; int max_neu = 0; long ntime = 0; void setup() { Serial.begin(115200); analogReadResolution(12); // Sets the sample bits and read resolution, default is 12-bit (0 - 4095), range is 9 - 12 bits analogSetWidth(12); // Sets the sample bits and read resolution, default is 12-bit (0 - 4095), range is 9 - 12 bits // 9-bit gives an ADC range of 0-511 // 10-bit gives an ADC range of 0-1023 // 11-bit gives an ADC range of 0-2047 // 12-bit gives an ADC range of 0-4095 analogSetCycles(8); // Set number of cycles
in „ESP32 ADC misst falsche Spannung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sweep.ino
// for chip info see https://www.analog.com/en/products/ad9833.html // SPI code taken from https://github.com/MajicDesigns/MD_AD9833/ const uint8_t _dataPin = 7; const uint8_t _clkPin = 8; const uint8_t _fsyncPin = 6; // send raw 16-bit word void spiSend(const uint16_t data) { digitalWrite(_fsyncPin, LOW); uint16_t m = 1UL << 15; for (uint8_t i = 0; i < 16; i++) { digitalWrite(_dataPin, data & m ? HIGH : LOW); digitalWrite(_clkPin, LOW); //data is valid on falling edge digitalWrite(_clkPin, HIGH); m >>= 1; } digitalWrite(_dataPin, LOW); //idle low digitalWrite(_fsyncPin, HIGH); } void setFreq(
in „Arduino+AD9833 code für Rechteckfestfrequenz“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Encoder.ino
// Variablen int MotorSpeed; // Geschwindigkeit Motor // Variablen Encoder byte DZM_InputPin = 2; volatile unsigned long RPM_T2, RPM_Count; unsigned long RPM , RPM_T1; // Eingaenge int Poti = A3; // Analogwert fuer Drehzahlvorgabe durch Potentiometer // Ausgaenge Motor int Motor = 9; // PWM-Signal fuer Motorgeschwindigkeit int in1 = 8; // H-Brueckensteuersignal fuer Drehrichtung int in2 = 7; // H-Brueckensteuersignal fuer Drehrichtung /********************************************************************************************************************************/ void setup() { // Allgemein Serial.begin
in „Arduino Interrupt Drehzahlmessung Faulhaber Motor“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Tonegenerator.ino
#include "tongenerator.h" int pinOut = 5; void setup() { pinMode(pinOut, OUTPUT); digitalWrite(pinOut, LOW); } void loop() { rockfordFiles(); //odeAnDieFreude(); //testton(); } void testton() { int bpm = 120; generate(pitch.a1, bpm, nLength.l1, dot.n, isNote.n, pinOut); } void rockfordFiles() { int bpm = 110; generate(pitch.d, bpm, nLength.l16, dot.n, isNote.n, pinOut); generate(pitch.e, bpm, nLength.l16, dot.n, isNote.n, pinOut); generate(pitch.g, bpm, nLength.l8, dot.n, isNote.n, pinOut); generate(pitch.G1, bpm, nLength.l8, dot.n, isNote.n, pinOut); generate(pitch.e2, bpm, nLength.l8, dot.n,
-
Datei
unsauber.ino
/* Programmname : Arduino Uno-Shild-Lüftersteuerung Author : Michael.V Erstelldatum : 17.01.2018 Funktionsbeschreibung : - Zwei Temperatur Sensoren - Zwei PWM-Ausgänge für Ventilatoren - Remote Control ( Anzeige ändern, Auto/manuel umschalten) - Lüfter PWM geteuert .. Manuel/Automatisch(PID-Regler) */ // Eingebundende Bibliotheken #include <math.h> // Für Temp u PID Berechnung #include <TimerOne.h> // Für Interrupt Timer^1 #include "SevSeg.h" // Für 7-Seg_Anzeige #include <IRremote.h> // Für Fernbedienung #include <Wire.h> // Für PWM comunikation #include <avr/wdt.h> // Watchdog // Objekte IRrecv
in „Nummerneingabe SwitchCase AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sauber.ino
/* Programmname : Arduino Uno-Shild-Lüftersteuerung Author : Michael.V Erstelldatum : 17.01.2018 Funktionsbeschreibung : - Zwei Temperatur Sensoren - Zwei PWM-Ausgänge für Ventilatoren - Remote Control ( Anzeige ändern, Auto/manuel umschalten) - Lüfter PWM geteuert .. Manuel/Automatisch(PID-Regler) - I²C - Bus Schnittstelle für Luftfeuchtigkeitssensor oder ähnliches */ /* Anzeige - Temperatur 1 - Temperatur 2 - Stellgröße aus PID regler (Wenn man_auto= 1 wird PID-Wert auf Stellwert 1&2 geschrieben) - Manuelle Stellgröße 1 - Manuelle Stellgröße 2 - Sollwert (Temperatur bei Temperaturmessstation
in „Nummerneingabe SwitchCase AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Functions.ino
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //This code moves the stepper motors void moveToPosition(int AccelYesOrNo, long altsteps, long azsteps){ // Serial.println("azsteps"); // Serial.println(azsteps); // Serial.println("altsteps"); // Serial.println(altsteps); if (joystickModeOnOff==1 && iterationsAfterReset>0){//This code runs when manually controlling the machines through joystick joystickMoveMotors( altsteps, altitudeStepPin, altitudeDirPin, altManualSpeed, azsteps, azimuthStepPin, azimuthDirPin, azManualSpeed
in „Heliostatensteuerung mit Arduino Uno“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Dunst.ino
int analogPin0 = A0; int analogPin1 = A1; int outPlus = A3; int outMinus = A2; void setup() { pinMode(outMinus, INPUT); pinMode(outPlus, INPUT); Serial.begin(115200); } void loop() { if (0) { int pinValue0 = analogRead(analogPin0); int pinValue1 = analogRead(analogPin1); Serial.print("Pin 0: "); Serial.print(pinValue0); Serial.print(" Pin 1: "); Serial.println(pinValue1); delay(123); return; } // read values delay(123); int pinValue0 = analogRead(analogPin0); int pinValue1 = analogRead(analogPin1); // logic: intensiv enabled? bool intensivCurrent = pinValue0 < 100 && pinValue1 < 100; bool intensivCurrentKnown
in „Dunstabzugshauben-Hack mit Arduino Nano“ · Projekte & Code ·
-
Datei
test.ino
class OneWire { private: uint8_t i; uint8_t tmp, pin; volatile bool busy = false; struct OneWire_message { uint8_t dev_addr; uint8_t reg_addr; uint8_t *data; uint8_t length; uint8_t position; bool reading; bool *isready; } msg; enum class irq_flag_e { end, reset_read, reset_high, read1, read2, write_low, write_high } irq_flag; public: OneWire(uint8_t Pin) { pin = Pin; } void write(uint8_t *data, uint8_t length = 1) { msg.data = data; msg.reading = false; msg.length = length; msg.position = 0; irq_flag = irq_flag_e::reset_read; busy = true; // digitalWrite(pin,LOW); DDRB |= (1 << DDB1); // pinMode(
in „Atmega328 1-Wire mit Timer CTC/PWM“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LEDtestprogramm.ino
#include <FastLED.h> #define NUM_LEDS 48 #define DATA_PIN 5 #define COLOUR_ORDER GRB #define LED_TYPE WS2811 CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<LED_TYPE, DATA_PIN, COLOUR_ORDER>(leds, NUM_LEDS); for (int i = 0; i < NUM_LEDS; i++) { leds[i] = CRGB(255, 0, 0); FastLED.show(); delay(1000); } } void loop() { }
in „Probleme WS2811 LED strip“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Empfaenger.ino
// WeMos D1 mini mit LED Streifen // Als UDP-Slave, der vom NodeMCU V3.3 seine Befehle bekommt // für UDP-Server #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <Adafruit_NeoPixel.h> // Einfügen der Adafruit_NeoPixel Bibiliothek int led = 10; #define LED1 D7 char *ssid = "NETZWERKNAME"; char *password = "NETZWERKPASSWORT"; unsigned int localUdpPort = 4210; // local port to listen on char befehl[10]; // buffer for incoming packets boolean ledStatus = false; Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(led, LED1, NEO_GRB + NEO_KHZ800); WiFiUDP Udp; void setup() { Serial.begin(115200); Serial.println
in „Daten zwischen zwei ESPs in Echtzeit übertragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Sender.ino
// NodeMCU V3.3 mit Taster // Master in einem eigenen WLAN // Steuert an einem WeMos D1 mini einen LED Streifen #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <WiFiServer.h> #include <WiFiUdp.h> #include <ESP8266mDNS.h> #include <ESP8266WebServer.h> char *ssid = "NETZWERKNAME"; char *password = "NETZWERKPASSWORT"; unsigned int remotePort = 4210; // remote port to listen on int Taster=0; int TasterPin=14; // Pin D5 MDNSResponder mdns; // hier die Adresse vom Slave eintragen IPAddress remoteIP(192,168,4,2); WiFiUDP Udp; void setup() { Serial.begin(115200); WiFi.softAP("NETZWERKNAME", "NETZWERKPASSWORT
in „Daten zwischen zwei ESPs in Echtzeit übertragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Sender.ino
// NodeMCU V3.3 mit Taster // Master in einem eigenen WLAN // Steuert an einem WeMos D1 mini einen LED Streifen #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <WiFiServer.h> #include <WiFiUdp.h> #include <ESP8266mDNS.h> #include <ESP8266WebServer.h> char *ssid = "NETZWERKNAME"; char *password = "NETZWERKPASSWORT"; unsigned int remotePort = 4210; // remote port to listen on int Taster=0; int TasterPin=14; // Pin D5 MDNSResponder mdns; // hier die Adresse vom Slave eintragen IPAddress remoteIP(192,168,4,2); WiFiUDP Udp; void setup() { Serial.begin(115200); WiFi.softAP("NETZWERKNAME", "NETZWERKPASSWORT
in „Daten zwischen zwei ESPs in Echtzeit übertragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Empfaenger.ino
// WeMos D1 mini mit LED Streifen // Als UDP-Slave, der vom NodeMCU V3.3 seine Befehle bekommt // für UDP-Server #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <Adafruit_NeoPixel.h> // Einfügen der Adafruit_NeoPixel Bibiliothek int led = 10; #define LED1 D4 char *ssid = "NETZWERKNAME"; char *password = "NETZWERKPASSWORT"; unsigned int localUdpPort = 4210; // local port to listen on char befehl[10]; // buffer for incoming packets boolean ledStatus = false; Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(led, LED1, NEO_GRB + NEO_KHZ800); WiFiUDP Udp; void setup() { Serial.begin(115200); Serial.println
in „Daten zwischen zwei ESPs in Echtzeit übertragen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.ino
int LED1 = 23; const int freq = 5000; const int ledChannel = 0; const int resolution = 8; void setup() { pinMode(LED1, OUTPUT); ledcSetup(ledChannel, freq, resolution); ledcAttachPin(LED1, ledChannel); } void loop() { ledcWrite(ledChannel, 200); }
in „ESP32 PWM Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
MICforum.ino
#include "Wire.h" #include "TimerOne.h" int FSYNC = 6; int SDATA = 7; int SCLK = 8; int LED = 3; int Taster = 2; int Start = 0; unsigned long erg; unsigned long freq=0; byte wave=1; char ser='w'; int alle_x_sekunden=1; int aktiv=1; void setup() { pinMode(LED, OUTPUT); pinMode(Taster, INPUT); pinMode(FSYNC, OUTPUT); pinMode(SDATA, OUTPUT); pinMode(SCLK, OUTPUT); digitalWrite(FSYNC, HIGH); digitalWrite(SDATA, LOW); digitalWrite(SCLK, HIGH); Wire.begin(); Serial.begin(38400); UpdateRegister(0x2100); // Nach Application Note AN-1070 von Analog Devices UpdateRegister(0x50C7); UpdateRegister(0x4000)
in „Sweep Generator mit AD5930“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Ampel.ino
#include <CooperativeTask.h> // Grundsaetzliche Annahme (-: es "mag" Ausnahmen geben ;-) constexpr bool stromausfall = false; class Piepser : public Task { protected: int i; bool &piepflag; public: Piepser(bool &piepflag):i(0),piepflag(piepflag){} void run() // 5 mal piepsen, wenn Flag gesetzt { TaskBlock { while(not stromausfall) { taskWaitFor(piepflag); for(i = 0; i < 5; i++) { Serial.println(F("Piep")); //taskSwitch(); taskPause(200); } piepflag = false; // fertig mit piepsen (Flag konsumieren) } } } }; class Ampel: public Task // Ampelschaltung { protected: unsigned long i = 0; // haelt die Ampelaufrufe
in „while (1) Äquivalenz“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Uhr.ino
#include "WiFi.h" #include "BluetoothSerial.h" #include "EEPROM.h" #include "time.h" #include "WString.h" #include <esp_int_wdt.h> #include <esp_task_wdt.h> #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED) #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it #endif BluetoothSerial SerialBT; #define TimerConstant 1000000*60 #define idle 0b00000000 #define zero 0b11111100 #define one 0b01100000 #define two 0b11011010 #define three 0b11110010 #define four 0b01100110 #define five 0b10110110 #define six 0b10111110 #define seven 0b11100000 #define eight 0b11111110
in „Fehlersuche Code Arduino IDE ESP32 - Timer Interrupt - NTP-Client“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.ino
#include <Arduino.h> #define row1 A7 // need pull-down #define row2 A6 // need pull-down #define row3 A5 // need pull-down #define row4 A4 // need pull-down #define spalte1 A0 #define spalte2 A3 #define spalte3 A2 #define spalte4 A1 void setup() { Serial.begin(115200); // put your setup code here, to run once: pinMode(spalte1 , OUTPUT); pinMode(spalte2 , OUTPUT); pinMode(spalte3 , OUTPUT); pinMode(spalte4 , OUTPUT); pinMode(row1 , INPUT); pinMode(row2 , INPUT); pinMode(row3 , INPUT); pinMode(row4 , INPUT); digitalWrite(spalte1, HIGH); digitalWrite(spalte2, HIGH); digitalWrite(spalte3, HIGH); digitalWrite
in „Taschenrechner Selbst bauen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
frage.ino
// Wir laden die uns schon bekannte WiFi Bibliothek //ver 0.1 #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> // Hier geben wir den WLAN Namen (SSID) und den Zugansschlüssel ein const char* ssid = "ssid"; const char* password = "pasword"; // Wir setzen den Webserver auf Port 80 WiFiServer server(80); // Eine Variable um den HTTP Request zu speichern String header; int value=9; // Hier wird der aktuelle Status des Relais festgehalten // Die verwendeted GPIO Pins // D1 = GPIO5 und D2 = GPIO4 - einfach bei Google nach "Amica Pinout" suchen void setup() { Serial.begin(9600); // orig Serial.begin
in „RadioButton auf einem 8266 auswerten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.ino
void setup() { // Phase correct PWM, Prescaler 256, output A+B TCCR1A = (1<<WGM11) + (1<<WGM10) + (1<<COM1A1) + (1<<COM1B1); TCCR1B = (1<<WGM13) + (1<<CS12); // Set TOP value OCR1A = 0x8000; // Set pulse width OCR1B = 0x7FF0; // Output compare outputs A+B DDRB = (1<<PB1) + (1<<PB2); } void loop() {}
in „PWM mit Timer0 & 2 mit ATmega168PA läuft nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test.ino
void init_timer0() { // Reset to defaults TCCR0A = 0; TCCR0B = 0; TCNT0 = 0; OCR0A = 0; OCR0B = 0; TIMSK0 = 0; TIFR0 = 0; // Phase correct PWM, Prescaler 256, output A+B TCCR0A = (1<<WGM00) + (1<<COM0A1) + (1<<COM0B1); TCCR0B = (1<<WGM02) + (1<<CS02); // Set TOP value OCR0A = 0x80; // Set pulse width OCR0B = 0x80; // Output compare outputs A+B DDRD |= (1<<PD5) + (1<<PD6); } void init_timer1() { // Reset to defaults TCCR1A = 0; TCCR1B = 0; TCCR1C = 0; TCNT1 = 0; OCR1A = 0; OCR1B = 0; ICR1 = 0; TIMSK1 = 0; TIFR1 = 0; // Phase correct PWM, Prescaler 256, output A+B TCCR1A = (1<<WGM11) + (1<<WGM10)
in „PWM mit Timer0 & 2 mit ATmega168PA läuft nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fibonacci.ino
/* * Berechnung der ersten 382 Fibonacci-Zahlen bis 10^80 * */ //#define NO_PRINT // 3 BCD kodierte Zahlen mit 80 Dezimalstellen uint8_t z[3][40]; // z3 = z1 + z2; void add80(uint8_t *z1, uint8_t *z2, uint8_t *z3) { uint8_t i, carry, tmp, low, high, lowA, highA; carry = 0; for (i=0; i<40; i++) { tmp = z1[i]; low = tmp & 0xF; high = tmp >> 4; tmp = z2[i]; lowA = tmp & 0xF; highA = tmp >> 4; lowA += low + carry; if (lowA > 9) { lowA -= 10; carry = 1; } else { carry = 0; } highA += high + carry; if (highA > 9) { highA -= 10; carry = 1; } else { carry = 0; } z3[i] = (highA<<4 ) | lowA; } } // Ausgabe
in „Wettkampf Opa(MOS6502) gegen Frischling(ATmega)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Fibonacci.ino
/* * Berechnung der ersten 384 Fibonacci-Zahlen bis 10^80 * */ #define NO_PRINT #define NO_CONVERT // 3 BCD kodierte Zahlen mit 80 Dezimalstellen uint8_t z[3][40]; char str_buffer[100]; // z3 = z1 + z2; void add80(uint8_t *z1, uint8_t *z2, uint8_t *z3) { uint8_t i, carry, tmp, low, high, lowA, highA; carry = 0; for (i=0; i<40; i++) { tmp = z1[i]; low = tmp & 0xF; high = tmp >> 4; tmp = z2[i]; lowA = tmp & 0xF; highA = tmp >> 4; lowA += low + carry; if (lowA > 9) { lowA -= 10; carry = 1; } else { carry = 0; } highA += high + carry; if (highA > 9) { highA -= 10; carry = 1; } else { carry = 0; }
in „Wettkampf Opa(MOS6502) gegen Frischling(ATmega)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Torsteuerung.ino
#include <avr/wdt.h> const byte ldr = A1; const byte press_sensor = A3; const byte warnlight = 6; const byte nummernschild = 10; const byte magnetventil = 5; const byte motor = 8; const byte ablassventil = 7; const byte buzzer = 11; const byte led = 13; const byte switch1 = 3; const byte switch2 = 12; int pressure; int pressure_array[9]; int pressure_low = 200; int pressure_high = 300; int open_time; int warnlight_power = 0; byte warnlight_power_dir = 1; byte error = 0; byte led_state = 0; byte compressor_state = 0; byte startup_state = 5; byte move_state = 0; unsigned long t_heartbeat = 0; unsigned
in „Arduino Nano Störungen und Durchbrennen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
class.ino
class GetKeyEvent { private: bool stable = false; bool lastRaw = false; unsigned long lastChange = 0; unsigned long lastRepeat = 0; unsigned long debounceTime = 50; unsigned long repeatDelay = 1000; unsigned long repeatInterval = 300; enum State { Idle, Pressed, Repeating }; State state = Idle; public: void update(bool raw) { unsigned long now = millis(); if (raw != lastRaw) { lastRaw = raw; lastChange = now; } bool debounced = stable; if ((now - lastChange) >= debounceTime) { debounced = raw; } switch (state) { case Idle: if (debounced && !stable) { stable = true; state = Pressed; lastRepeat =
in „Tasterentprellen für Dummies“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test.ino
#define EXT_EE_ADDR 0x50 // I2C address of 1. external eeprom new #define EXT_EE_SIZE 32768 // Max address for 32k-eeprom #define EXT_EE_LIMIT 30 // Write buffer limit #define EXT_EE_PAGE 64 // Page size #define EXT_EE_MELODY 0 // Melody data start address in external eeprom #define EXT_EE_CALENDAR 5000 // Calendar data start address in external eeprom 02.06.2025 #define EXT_EE_TEST1 12000 // Test-data 1 start address in external eeprom ++++ 18.06.2025 10000 -> 12000 #define EXT_EE_TEST2 17000 // Test-data 2 start address in external eeprom ++++ 15000 -> 17000 #define EXT_EE_TEST3 22000 // Test-data
in „Arduino: page-write in I2C eeprom verliert sporadisch ein Byte“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
taschenrechner.ino
#include <MCUFRIEND_kbv.h> #include <Adafruit_GFX.h> #include <TouchScreen.h> #include <avr/wdt.h> #define MINPRESSURE 200 #define MAXPRESSURE 1000 const int XP = 8, XM = A2, YP = A3, YM = 9; const int TS_LEFT = 125, TS_RT = 920, TS_TOP = 948, TS_BOT = 97; TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); MCUFRIEND_kbv tft; const char* button_labels[5][5] = { {"7", "8", "9", "/", "C"}, {"4", "5", "6", "*", "<-"}, {"1", "2", "3", "-", "("}, {"0", ".", "=", "+", ")"}, {"sqrt", "x^2", "1/x", "%", "+/-"} }; #define ROWS 5 #define COLS 5 int pixel_x, pixel_y; #define STACK_MAX 12 float numStack[STACK_MAX
in „Taschenrechner mit Touchscrenn und Serieller Eingabe auf Arduino Uno gequetscht“ · Projekte & Code ·
-
Datei
Aufwickler.ino
#include <NewPing.h> #include <LiquidCrystal_I2C.h> /*Filamentaufwickler_V0.1.9.2_w/CodeAufteilung*/ //Einbindung einer benötigten Bibliothek //Programmcode ausgelegt auf Messinstrument ohne Tastrolle //Deklaration aller Variablen, welche bereits im Setup benötigt werden: #define PIN_TRIG 9 // Schallwellenerzeuger des Abstandssensors #define PIN_ECHO 8 // Schallwellenempfänger des Abstandssensors //Deklaration aller Pins für die Ansteuerung des ersten Schrittmotors (Schlitten) #define stepperDriver1_MS1 A0 #define stepperDriver1_MS2 12 #define stepperDriver1_MS3 11 #define stepperDriver1_Dir 4 #define stepperDriver1
in „Schrittmotoren stoppen kurz Arduino Nano“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
utils.ino
// Dauer der Infrarot Impulse festlegen #define GAP_TIME 600 #define ZERO_TIME 600 // "0" #define ONE_TIME 1000 // "1" #define START_TOK 1400 // Start des Datensatzes #define END_TOK 1800 // Ende des Datensatzes #define TOL 250 // Toleranz der Datenbits nach beiden Seiten enum DataType_t {InValid, TokStart, TokEnd, TokZero, TokOne}; volatile _Bool f_ByteComplete = false; // TRUE wenn Zahl zwischen Limits liegt boolean IsInRange(uint16_t zahl, uint16_t low, uint16_t high) { return((zahl >= low) && (zahl <=high)); } volatile _Bool f_FallingEdge = true; // INT0 auf fallende Flanke triggern void TriggerInt0
in „TSOP31240: Hängt sich nach Fehlerdaten auf.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
stopwatch.ino
int a = 5; int b = 7; int c = 9; int d = 11; int e = 12; int f = 6; int g = 8; int p = 10; int d4 = 4; int d3 = 3; int d2 = 2; int d1 = 1; int startStopReset = 13; long n = 0; int x = 100; int del = 55; int currState = 0; void setup() { pinMode(d1, OUTPUT); pinMode(d2, OUTPUT); pinMode(d3, OUTPUT); pinMode(d4, OUTPUT); pinMode(a, OUTPUT); pinMode(b, OUTPUT); pinMode(c, OUTPUT); pinMode(d, OUTPUT); pinMode(e, OUTPUT); pinMode(f, OUTPUT); pinMode(g, OUTPUT); pinMode(p, OUTPUT); pinMode(startStopReset, INPUT); digitalWrite(startStopReset, HIGH); } void loop() { int swButtonState = digitalRead(startStopReset
in „Wo ist mein Fehler?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
stopwatch.ino
int a = 5; int b = 7; int c = 9; int d = 11; int e = 12; int f = 6; int g = 8; int p = 10; int d4 = 4; int d3 = 3; int d2 = 2; int d1 = 1; int startStopReset = 13; long n = 0; int x = 100; int del = 55; int currState = 0; void setup() { pinMode(d1, OUTPUT); pinMode(d2, OUTPUT); pinMode(d3, OUTPUT); pinMode(d4, OUTPUT); pinMode(a, OUTPUT); pinMode(b, OUTPUT); pinMode(c, OUTPUT); pinMode(d, OUTPUT); pinMode(e, OUTPUT); pinMode(f, OUTPUT); pinMode(g, OUTPUT); pinMode(p, OUTPUT); pinMode(startStopReset, INPUT); digitalWrite(startStopReset, HIGH); } void loop() { int swButtonState = digitalRead(startStopReset
in „Wo ist mein Fehler?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Blink.ino
void setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); } void loop() { digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(10); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(10); }
in „Rigol DS1054Z defekt oder ich zu blöd?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.ino
#include <Wire.h> #include <i2cdisplay> #define id 0x3f private MOLCD lcd1; void setup(){ Serial.begin (115200); delay(15); lcd1=new MOLCD(0x3f); } void serialEvent(){ while(Serial.available()){ char in = (char) Serial.read(); switch(in){ case 0x0a: lcd1.chgLine(); break; case 0x0d: lcd1.write(0,0x02); break; default: lcd1.writeChar(in); } } } void loop() { /* for (int i=0x20;i<0xff;i++){ if(pos%chars==0){ b=0; write(0,0x02); delay(1); chgLine(); } pos++; write(1,i); delay(300); }*/ }
in „Arduino - Warten in einem Objekt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.ino
#include <Wire.h> #include "i2cdisplay.h" #define id 0x3f MOLCD lcd1; void setup(){ Serial.begin (115200); delay(15); lcd1=new MOLCD(0x3f); } void serialEvent(){ while(Serial.available()){ char in = (char) Serial.read(); switch(in){ case 0x0a: lcd1.chgLine(); break; case 0x0d: lcd1.write(0,0x02); break; default: lcd1.writeChar(in); } } } void loop() { /* for (int i=0x20;i<0xff;i++){ if(pos%chars==0){ b=0; write(0,0x02); delay(1); chgLine(); } pos++; write(1,i); delay(300); }*/ }
in „Arduino - Warten in einem Objekt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
code.ino
int X = A0; int Y = A1; int Z = A2; void setup() { Serial.begin(9600); pinMode(2, OUTPUT); pinMode(10,OUTPUT); pinMode(5, INPUT); } void loop() { static bool first = false; static int x_old = 0; static int y_old = 0; static int z_old = 0; int x_new = analogRead(X); int y_new = analogRead(Y); int z_new = analogRead(Z); //Serial.println(x_new); //Serial.println(y_new); //Serial.println(z_new); //Serial.println(" "); if((abs(x_new - x_old) > 10 || abs(y_new - y_old) > 10 || abs(z_new - z_old) > 10) && first) { unsigned long start_time = millis(); digitalWrite(2, HIGH); while((millis() - start_time)
in „Arduino LED nur an wenn andere LED an und Schalter gedrückt?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Lichtorgel.ino
//Digitale 5 Kanal Arduino PWM Lichtorgel //Analog Eingang A0 //PWM an Pin 3,5,9,10,11 //0-Pegel detect an Pin 13 zum abgleich des Eingangsspannungsteilers //Entwickelt 2015 von Christof Rieger //sollte auf allen AVR-8 Arduinos laufen mit 16MHz und mindestens mit ATmega168 //Ein Geschenk an die Arduinogemeinde. Die Vermarktung des Cods ist verboten !!! //#include <LiquidCrystal.h> //Der Wert der überschritten werden muss, damit der Kanal aktiv wird (maximal 255) #define triggeroffset 128 //Der Wert der als Maximalwert für den PWM gesetzt wird (zwischen 255 und 255 + triggeroffset setzen) #define maxon triggeroffset
in „5 Kanal Digital-Lichtorgel für Arduino“ · Projekte & Code ·
-
Datei
Wecker.ino
//ESP ADVENTSKALEDER //Biblothecken #include <NTPClient.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <Kalender.h> //Variablen int buttonPin1 = 1; int buttonPin2 = 2; int buttonPin3 = 3; int buttonPin4 = 4; int buttonPin5 = 5; int buttonPin6 = 6; int buttonPin7 = 7; int LED1 = 1; int LED2 = 2; int LED3 = 3; int buttonState1 = 0; int buttonState2 = 0; int buttonState3 = 0; int buttonState4 = 0; int buttonState5 = 0; int buttonState6 = 0; int buttonState7 = 0; int offset = 60000; int zeit[4]; int datum[2]; int wecker; boolean firstStart = true; boolean adventskalenderStatus = false; boolean
in „Node Mcu WDT Reset“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LEDSketch.ino
#include <stdio.h> #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> #define LED 2 #define REDPIN 6 #define GREENPIN 5 #define BLUEPIN 2 int RVal = 0; int GVal = 0; int BVal = 0; char valInfo[16]; const char *ssid = "LEDStrip"; const int Port = 5555; const String ID = "TV"; String wifipassword, wifissid; IPAddress ip; ESP8266WebServer webserver(80); bool webserverStopped = false; /* Just a little test message. Go to http://192.168.4.1 in a web browser * connected to this access point to see it. */ void handleRoot() { if( webserver.args() > 0 ){ wifipassword = webserver.arg
in „ESP8266 12e Reset beim nach dem Starten“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Countdown.ino
/* ShiftDisplay example by MiguelPynto Race countdown: 3.. 2.. 1.. GO! https://miguelpynto.github.io/ShiftDisplay/ */ #include <ShiftDisplay.h> ShiftDisplay display(COMMON_CATHODE, 3); void setup() { for (int i = 3; i > 0; i--) { // store number and show it for 400ms display.set(i, ALIGN_CENTER); display.show(400); // add dot to stored number and show it for 400ms display.setDot(1); display.show(400); } display.set("GO"); // store "GO" } void loop() { display.update(); // show stored "GO" while in loop }
in „WS2811 und 74HC595 Zusammen an Arduino steuren“ · Mikrocontroller und Digitale Elektronik ·