-
Datei
dfplayer2.ino
#include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; void printDetail(uint8_t type, int value); void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println
in „Problem mit DFPlayer“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED_Cube.ino
/*************************************************************************************** Name : LED CUBE 8x8x8 74HC595 By : ****************************************************************************************/ #include <TimerOne.h> #include <string.h> #include <pins_arduino.h> //NEU #define AXIS_X 1 #define AXIS_Y 2 #define AXIS_Z 3 //--- Pin connected to ST_CP of 74HC595 //--- Gelbe Leitung RCK int latchPin = 10; //--- Pin connected to SH_CP of 74HC595 //--- Schwarze Leitung SCK int clockPin = 13; //--- Pin connected to DS of 74HC595 //--- Lila Leitung SI int dataPin = 11; //--- Used for faster
in „LED-Cube Effekte weiter per Knopfdruck“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Cube_Gro_.ino
/*************************************************************************************** Name : LED CUBE 8x8x8 74HC595 By : ****************************************************************************************/ #include <TimerOne.h> #include <string.h> #include <SPI.h> #define AXIS_X 1 #define AXIS_Y 2 #define AXIS_Z 3 #define BUTTON_PIN 14 #define TOTAL_EFFECTS 17 //--- Pin connected to ST_CP of 74HC595 //--- Gelbe Leitung RCK int latchPin = 10; //--- Pin connected to SH_CP of 74HC595 //--- Schwarze Leitung SCK int clockPin = 13; //--- Pin connected to DS of 74HC595 //--- Lila Leitung SI int dataPin
in „LED-Cube Effekte weiter per Knopfdruck“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Motor_2.ino
int zahl = 8; int ins = 1; void setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); Serial.begin(9600); } void loop() { if(zahl < 12 && zahl > 7 && ins < 300) { digitalWrite(zahl, HIGH); delay(5); digitalWrite(zahl, LOW); Serial.println(zahl); zahl ++; ins ++; } else if(zahl < 12 && zahl > 7 && ins > 299 && ins < 601 ) { digitalWrite(zahl, HIGH); delay(5); digitalWrite(zahl, LOW); Serial.println(zahl); zahl = zahl -1; ins ++; } if (ins > 600) { ins = 0; } if (zahl = 7){ zahl = 11; } if(zahl = 12){ zahl =8; } Serial.println(ins); }
in „Schrittmotor hin und her pendeln lassen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TFT_Clock.ino
/* from https://github.com/Bodmer/TFT_ILI9341/tree/master/examples/TFT_Clock reworked for ARDUINO DUE using the Adafruit Libraries TFT used: ILI9340C libraries used: https://github.com/adafruit/Adafruit_ILI9340 https://github.com/adafruit/Adafruit-GFX-Library An example analogue clock using a TFT LCD screen to show the time use of some of the drawing commands with the modified Adafruit_TFT_AS library. For a more accurate clock, it would be better to use the RTClib library. But this is just a demo. This sketch uses font 4 only. Make sure all the required fonts are loaded by editting the User_Setup.h
in „2.2'TFT ILI9340 und Arduino“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
TFT_meters.ino
/* from https://github.com/Bodmer/TFT_ILI9341/blob/master/examples/TFT_Meters/TFT_Meters.ino reworked for ARDUINO DUE using the Adafruit Libraries TFT used: ILI9340C libraries used: https://github.com/adafruit/Adafruit_ILI9340 https://github.com/adafruit/Adafruit-GFX-Library Example animated
in „2.2'TFT ILI9340 und Arduino“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SPITEST2.ino
//include Timer Intterupt Library #include "TimerOne.h" //include SPI Library #include "SPI.h" //define interval in us! int theTimeInterrupt = 50; //define Cycle counter (0-14); int cycleCounter = 0; //define helper counter int helpCounter = 0; //Set dummy data for testing int theTestData = 0x1; //SPI parameters SPISettings settings(16000000, LSBFIRST, SPI_MODE3); void setup() { //Startup Serial Serial.begin(9600); //Startup SPI SPI.begin(); //Define Timer Timer1.initialize(theTimeInterrupt); Timer1.attachInterrupt(intFunction); } void loop() { // put your main code here, to run repeatedly: } void
in „Code für Ansteuerung einer Pandicon-Röhre?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ESP32.ino
/************************************************************** * Blynk is a platform with iOS and Android apps to control * Arduino, Raspberry Pi and the likes over the Internet. * You can easily build graphic interfaces for all your * projects by simply dragging and dropping widgets. * * Downloads, docs, tutorials: http://www.blynk.cc * Blynk community: http://community.blynk.cc * Social networks: http://www.fb.com/blynkapp * http://twitter.com/blynk_app * * Blynk library is licensed under MIT license * This example code is in public domain. * ************************************************
in „Neues SDK für ESP32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ArrayTest.ino
#include "ArrayTest.h" BeispielClass ARR; void setup() { } void loop() { }
in „Array in einer Class richtig deklarieren??“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
esp_client.ino
#include <ESP8266WiFi.h> const char* ssid = "testserver"; const char* pass = "test4711"; const int Port = 80; IPAddress host(192,168,4,1); WiFiClient client; String req; void setup() { delay(1000); Serial.begin(9600); Serial.print("Connecting to: "); Serial.println(ssid); WiFi.mode(WIFI_STA); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } //********************************************************************* void loop() { if(WiFi.status() != WL_CONNECTED
in „ESP8266 Server-Client“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
esp_server.ino
#include <ESP8266WiFi.h> const char *ssid = "testserver"; const char *pass = "test4711"; const int httpPort = 80; int token= 3; //number of measuring device to ask WiFiServer server(httpPort); String req=""; void setup() { delay(500); Serial.begin(9600); Serial.println("Configuring AP"); WiFi.mode(WIFI_AP); boolean result = WiFi.softAP(ssid,pass); if(result == true) Serial.println("Ready"); else Serial.println("Failed!"); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); server.begin(); Serial.println("HTTP server started"); } void loop() { Serial.printf("Stations
in „ESP8266 Server-Client“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
dash_button.ino
#include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> // wenn aktiv: Meldungen per Serial #define SERIAL // wenn auskommentiert: delay() // wenn aktiv: deep sleep nutzen (Hardwaremodifikation notwendig) //#define DEEP //sekunden zwischen Aufwachvorgängen #define WAIT 600 const String host = "xxxxxxxx.de"; const unsigned int port = 80; const String url_start="/"; byte maxwait = 120; //Wifi must connect in < x seconds ESP8266WiFiMulti WiFiMulti; void setup() { #ifdef SERIAL Serial.begin(115200); Serial.println("BOOT"); Serial.print("Wifi..."); #endif
in „ESP8266-03 stürzt ab, Arduino IDE“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Programm_Bluetooth.ino
/* Pin deffinieren */ #define ledPin 8 /* Libraris importieren*/ #include <SoftwareSerial.h> SoftwareSerial Serialbluetooth(2,3); /* Initialisieren der Variablen */ unsigned int state = 0; unsigned int x = 120; /* Setup */ void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); //Baudrate von Serialmonitor Serialbluetooth.begin(38400); //Baudrate von Bluetoothmodul } /* Loopteil */ void loop(){ if(Serialbluetooth.available() > 0){ state = Serialbluetooth.read(); } Serialbluetooth.println("TEST"); if (state == 120) { digitalWrite(ledPin, LOW); Serial.print(state); Serial.println(" LED: OFF"); state =
in „HC-05-6, Daten an Smartphone senden nicht möglich“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Test_Verbindung.ino
int incomingByte = 0; // for incoming serial data #include <SoftwareSerial.h> SoftwareSerial btSerial(2,3); void setup() { Serial.begin(38400); btSerial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { // send data only when you receive data: if (btSerial.available() > 0) { // read the incoming byte: incomingByte = btSerial.read(); // say what you got: btSerial.print("I received: "); btSerial.println(incomingByte); } }
in „HC-05-6, Daten an Smartphone senden nicht möglich“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
BlinkerKlasse.ino
#include "Blinker.hpp" Blinker bl; void setup() { cli(); Serial.begin(230400); bl.initialize(); sei(); } void loop() { cli(); Serial.println("Looping!"); sei(); }
in „Arduino - Warum wird die Methode mehrmals ausgeführt?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Ganganzeige_ADC.ino
/* * Anzeige des Gangs im Motorad * Messung des Gangs per Spannungsteiler und ADC * Anzeige über 6 LEDs per Charliplexing * ATtiny25 */ // Widerstände der Gänge /Ohm #define GANG1 560 #define GANG2 1000 #define GANG3 2000 #define GANG4 3000 #define GANG5 5000 #define GANG6 15000 // externer Widerstand für Spannungsteiler /Ohm #define REXT 7500 #define ADCWERT(x) ((1024L*x)/(x+REXT)) uint16_t schwelle[5]; // Schaltschwellen zwischen den Gängen // Codes für LEDs, charliplexing // oberes Nibble Tristate, unteres Nibble Zustand const uint8_t led[6] = {0x31, 0x32, 0x51, 0x54, 0x62, 0x64}; // setze Ausgänge
in „Spannung durch Spannungsteiler messen. Arduino“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
demo_debounce.ino
/* * Debounce of up to keys using method of Peter Dannegger * * https://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_(C_f%C3%BCr_AVR) * * adapted to Arduino style, almost 100% portable * only timer ISR needs to be adapted manually to NON-AVR Arduinos * */ #include "debounce.h" // Arduino IOs #define LED0 14 #define LED1 15 #define LED2 16 void setup() { pinMode(LED0, OUTPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); init_debounce(); } void loop() { if ( get_key_short(KEY0)) digitalWrite(LED0, !digitalRead(LED0)); // reaction on key release if ( get_key_long(KEY1)) digitalWrite
in „Tasterverarbeitung mit ARDUINO-C“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Tests_PPM.ino
// Input-Ports #define TRIMMER1 A0 #define JOYSTICK1 A1 #define TRIMMER2 A2 #define JOYSTICK2 A3 #define TRIMMER3 A4 #define JOYSTICK3 A5 #define AKKUSTATUS A7 // Generierung PPM-Signal #define PPM_PORT 13 // Output-Pin #define FRAME_LENGTH 20000 // 23ms Paketlänge #define PULSE_LENGTH 350 // 420µs Pulslänge (200µs..500µs) (gemessen an FM6014) #define PRESCALER CS11 // Prescaler 8, 0.5µs-Takt des Timers #define MIKRO_SECONDS 2 // Korrektur des Output-Compare-Registers: interner Takt mit Prescaler 8 ist 0,5µs, daher Faktor 2 um auf 1µs Taktzähler umzurechnen #define PPM_CENTER_VALUE 1500 // 1,5ms
in „Eigenbau Fernsteuerung mit HF-Modul Frsky XJT: Anbindung Empfänger X8R/S8R“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
EPROM5.ino
#include <stdint.h> #include "PLA.h" // prüf ob PLA // Use Mega as it has enough digital inputs // Uses 28 pin ZIF socket wired as follows // ROM PLA Pinouts // Chip Pin Arduino | 1702A | 2704 6654 2716 2732 2764 27128 27256 27512 PLA 8316A 6830A 2102 2101 // 1 49 | -- | -- -- -- -- VPP VPP VPP A15 FE -- // 2 48 | -- | -- -- -- -- A12 A12 A12 A12 I07 -- // 3 1 47 | A02 | A07 A07 A07 A07 A07 A07 A07 A07 I06 A07 GND // 4 2 1 46 | A01 | A06 A06 A06 A06 A06 A06 A06 A06 I05 A08 D0 A03 // 5 3 2 45 | A00 | A05 A05 A05 A05 A05 A05 A05 A05 I04 A09 D1 A02 // 6 4 3 44 | D0 | A04 A04 A04 A04 A04 A04 A04 A04
in „Altes EPROM auslesen Intersil 6654A (2xCE) mit Arduino“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
encryption1.ino
/* Encryption function for AES128-GCM without authentifications ** created by Peter (meinzaehler.com) ** free for everyone ;-) ** tested on ESP8266 ** according of example by https://www.michaelreitbauer.at/kaifa-ma309-auslesen-smart-meter-evn/ ** and explanations of https://community.symcon.de/uploads/short-url/scJg8Irz6VRWPUcftQYr5LhPWwV.pdf ** next step is to support KAIFA Current Meter for StromLog */ #include <Crypto.h> #include <AES.h> #include <string.h> //key cotains 16 byte for encryption and the very important advice is... for GMC there is only encryption for booth (encrypt and also decrypt
in „C source code zum DLMS Security (Suite 0) dechiffrieren?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Leo.ino
#define pulsPin 10 // OC1B bzw. PB6 #define IN1 0 #define IN2 1 #define IN3 2 #define IN4 3 uint8_t taste, taste_alt; void setup() { pinMode(pulsPin, OUTPUT); digitalWrite(pulsPin, HIGH); // OC1B bzw. PB6 pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to pulsPin for indicator LED active LOW DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste = 1; // höchste Priorität else if(!digitalRead(IN2)) taste = 2; else if(!digitalRead(IN3)) taste = 3;
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Entprellen_Minimal.ino
#include "Arduino.h" #include <avr/interrupt.h> //------------------------------------------------------------------------------ // 16-bit Timer/Counter 1 Overflow Interrupt alle 4ms (16Mhz/2^16) //------------------------------------------------------------------------------ ISR( TIMER1_OVF_vect ) { volatile byte r2 = 0xFF, r5 = 0; //Werden in Timer1 Compare A ISR und Main verwendet static uint8_t r1, r3 = 0xFF, r4 = 0xFF; //Fuer Timer1 Compare A ISR reserviert // r1 = interrupt Arbeitsregister // r2 = key_state ;Entprellter Tasterzustand invertiert // r3 = key_ct0 ;2-Bit Abwaertszaehler Bit0
in „Mit dem ATMEL STUDIO 7 klarkommen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sbis_aequivalent.ino
#include "Arduino.h" #include <avr/interrupt.h> //------------------------------------------------------------------------------ // 16-bit Timer/Counter 1 Overflow Interrupt alle 4ms (16Mhz/2^16) //------------------------------------------------------------------------------ ISR( TIMER1_OVF_vect ) { // r1 = interrupt Arbeitsregister // r2 = key_state ;Entprellter Tasterzustand invertiert // r3 = key_ct0 ;2-Bit Abwaertszaehler Bit0 // r4 = key_ct1 ;2-Bit Abwaertszaehler Bit1 // r5 = key_press ;Taster entprellt gedrueckt gespeichert asm volatile ( "in r1,0x0C ;PINE \n\t" "com r1 ;low activ \n\t
in „Mit dem ATMEL STUDIO 7 klarkommen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Leo.ino
#define pulsPin 10 // OC1B bzw. PB6 #define IN1 0 #define IN2 1 #define IN3 2 #define IN4 3 uint8_t taste, taste_alt; void setup() { pinMode(pulsPin, OUTPUT); digitalWrite(pulsPin, HIGH); // OC1B bzw. PB6 pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to pulsPin for indicator LED active LOW DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste = 1; // höchste Priorität else if(!digitalRead(IN2)) taste = 2; else if(!digitalRead(IN3)) taste = 3;
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Pulse_Leo.ino
#define IN1 2 #define IN2 3 #define IN3 4 #define IN4 5 uint8_t taste, taste_alt, pulselimit; uint16_t counter=0; bool limit_pulses; void setup() { sei(); // allow interrupts TIMSK1 = 0 | (1 << OCIE1B); resetTimer1(); pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to PB6 for indicator LED active LOW PORTB |= (1 << PB6); // PulsePin HIGH DDRB |= (1 << PB6); // Enable OUTPUT PB6 DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste = 1; // highest
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Pulse_Leo.ino
#define IN1 2 #define IN2 3 #define IN3 4 #define IN4 5 uint8_t taste, taste_alt, pulselimit; volatile uint16_t counter=0; volatile bool limit_pulses; void setup() { sei(); // allow interrupts TIMSK1 = 0 | (1 << OCIE1B); resetTimer1(); pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to PB6 for indicator LED active LOW PORTB |= (1 << PB6); // PulsePin HIGH DDRB |= (1 << PB6); // Enable OUTPUT PB6 DDRF = B11111111; PORTF = 0; } void loop() { taste = 0; if(!digitalRead(IN1)) taste
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Pulse_Leo.ino
#define IN1 2 #define IN2 3 #define IN3 4 #define IN4 5 uint8_t taste, taste_alt, pulselimit; volatile uint16_t counter = 0; volatile bool limit_pulses; volatile uint8_t tccr1b_setup, tccr1b_tmp; void setup() { sei(); // allow interrupts TIMSK1 = 0 | (1 << OCIE1B); resetTimer1(); pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to PB6 for indicator LED active LOW DDRB |= (1 << PB6); // Enable OUTPUT PB6 } void loop() { taste = 0; if (!digitalRead(IN1)) taste = 1; // highest priority
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Pulse_Leo.ino
#define IN1 2 #define IN2 3 #define IN3 4 #define IN4 5 #define OUT 10 // PB6, OC1B #define TCCR1B_MODE ((1 << WGM13) | (1 << WGM12)) volatile uint16_t counter; volatile uint8_t tccr1b_setup; void setup() { TIMSK1 |= (1 << OCIE1B); TCCR1B = 0; resetTimer1(HIGH); pinMode(IN1, INPUT_PULLUP); pinMode(IN2, INPUT_PULLUP); pinMode(IN3, INPUT_PULLUP); pinMode(IN4, INPUT_PULLUP); pinMode(OUT, OUTPUT); pinMode(13, OUTPUT); digitalWrite(13, HIGH); // VCC close to PB6 for indicator LED active LOW } void loop() { static uint32_t last; uint32_t now; // cooperative multi tasking // process keys every 5ms now
in „Präzise Pulse aus Arduino Leonardo“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ToggleTest.ino
/* High Speed Toggle Test */ #define BLINK_LED 25 #define TEST_LED 3 #define TEST_NR 3 void setup() { pinMode(BLINK_LED, OUTPUT); pinMode(TEST_LED, OUTPUT); for (int i=0; i<3; i++) { digitalWrite(BLINK_LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); digitalWrite(BLINK_LED, LOW); // turn the LED off by making the voltage LOW delay(100); } } void loop() { uint32_t mask = 1L<<TEST_LED; while(1) { #if TEST_NR == 1 // toggle test, digitalWrite() digitalWrite(TEST_LED, HIGH); digitalWrite(TEST_LED, LOW); #endif #if TEST_NR == 2 // toggle test, direct register access, set/clear
in „Picoboard, Arduino, Gpio / Port direkt per Register-Zugriff steuern?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
drawImages.ino
/* Simple firmware for a ESP32 displaying a static image on an EPaper Screen. * * Write an image into a header file using a 3...2...1...0 format per pixel, * for 4 bits color (16 colors - well, greys.) MSB first. At 80 MHz, screen * clears execute in 1.075 seconds and images are drawn in 1.531 seconds. */ #include <Arduino.h> #include "epd_driver.h" #include "image/pic1.h" #include "image/pic2.h" #include "image/pic3.h" uint8_t *framebuffer; void setup() { Serial.begin(115200); epd_init(); framebuffer = (uint8_t *)heap_caps_malloc(EPD_WIDTH * EPD_HEIGHT / 2, MALLOC_CAP_SPIRAM); memset(framebuffer
in „C, ESP32, Lilygo E-Ink Display "Bilder" anzeigen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Arduino_Stroemungsmesser.ino
/* YF-S201-Water-Flow-Sensor modified on 14 oct 2020 by Amir Mohammad Shojaee @ Electropeak Home based on www.hobbytronics.co.uk examples */ #include <LiquidCrystal_I2C.h> #include <Wire.h> LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display. ACHTUNG: Adresse kann auch 0x3F sein !!! // Anschlüsse: // GND - GND // VCC - 5V // SDA - ANALOG Pin 4 // SCL - ANALOG pin 5 double flow; //Water flow L/Min int flowsensor = 2; unsigned long currentTime; unsigned long lastTime; unsigned long pulse_freq; float velocity; // =========================== // ======= SETUP
in „Physikprojekte“ · Offtopic ·
-
Datei
Lueftungssteuerung_Test.ino
#include <Controllino.h> /* #define A1_PIN 1 // Eingang A1 #define R0_PIN 0 // Relais R0 #define R1_PIN 1 // Relais R1 #define R5_PIN 5 // Relais R5 */ void setup() { pinMode(CONTROLLINO_A0, INPUT); pinMode(CONTROLLINO_R0, OUTPUT); pinMode(CONTROLLINO_R1, OUTPUT); pinMode(CONTROLLINO_R5, OUTPUT); Serial.begin(9600); } void loop() { float voltage = analogRead(CONTROLLINO_A0) * (5.0 / 1023.0); // Spannung an A1 messen //Serial.println(voltage); if ( voltage > 0.5) { digitalWrite(CONTROLLINO_R0, HIGH); // R0 auf High schalten digitalWrite(CONTROLLINO_R1, LOW); // R1 auf Low schalten digitalWrite(CONTROLLINO_R5
in „Controllino Maxi Analogeingang schaltet nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test_float.ino
void setup() { pinMode(2, OUTPUT); } void loop() { volatile float pf; volatile uint16_t pi; volatile int16_t adc; digitalWrite(2, HIGH); //pf= (float)adc * 0.0122 - 2.5; pi = (int32_t)adc * 12 - 2500; digitalWrite(2, LOW); delay(10); }
in „ADC - Wert berechnen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
KinderAmpel.ino
#include <avr/sleep.h> #include <avr/power.h> #include <debounce.h> // Typen fuer diverse Aufgaben einen Namen geben typedef unsigned long zeit_t; typedef uint8_t pin_t; typedef uint8_t pegel_t; typedef uint8_t mode_t; // Konstanten, um Zeiten lesbarer zu schreiben constexpr zeit_t SEKUNDE = 1000UL; constexpr zeit_t MINUTE = SEKUNDE * 60UL; #include "Einstellungen.h" // Auswertung der Pegel Defines #if (PEGEL_WENN_KNOPF_GEDRUECKT) > 2 constexpr pegel_t KNOPF_GEDRUECKT = HIGH; constexpr mode_t KNOPF_MODUS = INPUT; #else constexpr pegel_t KNOPF_GEDRUECKT = LOW; constexpr mode_t KNOPF_MODUS = INPUT_PULLUP
in „Spielzeug-Ampel mit (Timer) Relais-Schaltung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
PWM_Sinus.ino
/* Sinussignalerzeugung mittels DDS Ausgabe von zwei Sinussignalen mit vaiabler Frequenz, Amplitude und Phase mittels PWM Auflösung der Variablen R(frequenz) : F_PWM / 2^16 = 15,625kHz / 65536 = 0,238Hz R(phase) : 360° / 256 = 1,4° = 0,025 rad R(amplitude): 1 / 256 = 0,39% */ #include <util/atomic.h> #define F_PWM 15625 // Hz // Muss ein ganzzahliger Teiler von 62500 sein! #define PRESCALER 1 // Vorteiler für Timer #define SHIFT 2 // zusätzlicher Shift für PWM-Werte, damit kleinere PWM-Frequenzen erreicht werden können, ohne die DDS-Tabelle anpassen zu müssen #define TIMER_RELOAD ((F_CPU / ( PRESCALER
in „E-Magnet mit Sinus steuern“ · Analoge Elektronik und Schaltungstechnik ·
-
Datei
Arduino_Farbsensor.ino
// Libraries einbinden #include "Wire.h" #include "Adafruit_TCS34725.h" #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display. ACHTUNG: Adresse kann auch 0x3F sein !!! // Anschlüsse: // GND - GND // VCC - 5V // SDA - ANALOG Pin 4 // SCL - ANALOG pin 5 // Color Sensor-Objekt initialisieren // Parameter siehe: https://learn.adafruit.com/adafruit-color-sensors/program-it Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X); // =========================== // ======= SETUP ========= //
in „Physikprojekte“ · Offtopic ·
-
Datei
Arduino_Farbmischung.ino
#include <LiquidCrystal_I2C.h> #include <Wire.h> LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display. ACHTUNG: Adresse kann auch 0x3F sein !!! // Anschlüsse: // GND - GND // VCC - 5V // SDA - ANALOG Pin 4 // SCL - ANALOG pin 5 int Poti_R = A0; int Poti_G = A1; int Poti_B = A2; int R; // Farbwert für Rot int G; // Farbwert für Grün int B; // Farbwert für Blau int R_Prozent; // Prozentwert von Rot int G_Prozent; // Prozentwert von Grün int B_Prozent; // Prozentwert von Blau // =========================== // ======= SETUP ========= // ================
in „Physikprojekte“ · Offtopic ·
-
Datei
intNull.ino
void ICACHE_RAM_ATTR intNull() { /* Interruptroutine bei Erkennung Nulldurchgang an PIN * Die Mutter der Phaseninterrupts * Sehr zeitkritisch, bitte keine weitere Unterbrechung * Verwendet globale Variable und startet Timer1, wenn erforderlich */ noInterrupts(); // Interrupts unterbinden igNullMy = micros(); igTckS = igTckSNeu; // neue Zeit übernehmen sRam.sFlg.bHw0 = true; timer1_detachInterrupt(); if (!sRam.sFlg.bNot) { // nur im normalen Betrieb delayMicroseconds ((int)(sRam.iNullVerz * NUL_T1_TICK / 1000)); if (igTckS < NUL_MIN_V) { // nahe min. Helligkeit / nahe Phasenanfang sRam.sFlg.bInv
in „ESP8266 Interrupt wird nicht mehr ausgeführt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Arduino_Erdbeschleunigung.ino
#include <LiquidCrystal_I2C.h> #include <Wire.h> LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display // Anschlüsse: // GND - GND // VCC - 5V // SDA - ANALOG Pin 4 // SCL - ANALOG pin 5 #include <HX711.h> HX711 scale(A2, A1); long sensorValue; // Einlesewert vom Potentiometer long Rohwert; // vom HX711 gelieferter Rohwert int h; // Fallhöhe float g; long time_start, time_end; const int buttonPin = 8; // the number of the pushbutton pin int triggerPin = 2; // the number of the trigger pin for the solenoid int sensorPin = A0; // pin for reading the potentiometer
in „Physikprojekte“ · Offtopic ·
-
Datei
SimplePWM.ino
/* WiFi Web Server LED Blink A simple web server that lets you blink an LED via the web. This sketch will print the IP address of your WiFi Shield (once connected) to the Serial monitor. From there, you can open that address in a web browser to turn on and off the LED on pin 5. If the IP address of your shield is yourAddress: http://yourAddress/H turns the LED on http://yourAddress/L turns it off This example is written for a network using WPA2 encryption. For insecure WEP or WPA, change the Wifi.begin() call and use Wifi.setMinSecurity() accordingly. Circuit: * WiFi shield attached * LED attached
in „einfacher Webserver am ESP32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Servo_Forum.ino
void setup() { pinMode(7, OUTPUT); //Pin an dem der Servo angeschlossen ist } void loop() { for (byte i = 0; i < 180; i += 10) { //Bei dieser Drehung reagiert der Servo, Micro servo 9g SG90, nur ab und zu //Mit 350ms funzt er digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); delay_millis(500); //500ms delay, NICHT mit delay(), geht aber mit delay() auch nicht! } //Bei dieser Drehung reagiert der Servo wie erwartet //Mit 500ms funzt er nur ab und zu for (byte i = 180; i > 10; i -= 10) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit
in „Servo reagiert nicht korrekt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Servo_Forum.ino
void setup() { pinMode(7, OUTPUT); //Pin an dem der Servo angeschlossen ist } void loop() { for (byte i = 0; i < 180; i += 10) { //So reagiert der Servo auch noch nach 350ms... //Man muss ihn erst mit zwei Signalen wecken for (byte k = 0; k < 3; k++) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); delay(20); } delay_millis(500); } for (byte i = 180; i > 10; i -= 10) { for (byte k = 0; k < 3; k++) { digitalWrite(7, HIGH); pause_servo(i); //Delay in Abhängigkeit des gewählten Winkels digitalWrite(7, LOW); } delay_millis(350); //350ms delay
in „Servo reagiert nicht korrekt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
obegransad_usec.ino
// THIS FILE IS A DEMO FOR IKEA OBERGRANSÄD KIT // AS INTERNET CLOCK // (C)2023 DR. ARMIN ZINK // parts inspired by // By /u/frumperino // goodwires.org // Use of 100 Hz refresh rate // Use of interrupt for button handling // Use PWM of P_EN for propper brightness control // By Stefan Mahrhold #include <Arduino.h> #include <pgmspace.h> #include <ESP8266WiFi.h> #define STASSID "JSHomeWLAN" #define STAPSK "LiET91z5JUw_pciF1vVt" #define P_EN D5 // ORANGE #define P_DI D6 // YELLO #define P_CLK D7 // BLUE #define P_CLA D8 // LILA #define P_KEY D4 // ROT // SET YOUR TIMEZONE HERE #define MY_NTP_SERVER
in „LEDs flackern unregelmäßig bei geringer Helligkeit“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Master_Reciever.ino
#include <util/twi.h> int main(){ init(); Serial.begin(9600); uint8_t Tank_Status; PORTC |= (1 << PORTC4) | (1 << PORTC5); //analog Input 4 & 5 mit Pull-up-Widerstand auf High ziehen (PC4, PC5) TWBR = 72; // Übertragungsgeschwindigkeit festlegegen while(1){ delay(1000); //Start Senden TWCR |= (1 << TWINT); //Twin Wire Interrup zurücksetzten | 1 ist Low Zustand TWCR |= (1 << TWSTA); //Twin Wire Start setzen | übertragung starten TWCR |= (1 << TWEN); //Twin Wire Enable setzten | lokaler TW-Schalter //Warten while(!(TWCR & (1 << TWINT))); //Warten bis TW Interrupt gesetzt wird | 0 ist High Zustand
in „Arduino I2C Hardware Register Adressen im MR-ST“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
FFT_Projekt.ino
#include "Wire.h" #include "arduinoFFT.h" #include "LiquidCrystal_I2C.h" #include "LedControl.h" #include "binary.h" LiquidCrystal_I2C lcd(0x27, 16, 2); LedControl lc=LedControl(12,11,10,1); const int MIC_PIN = A0; const unsigned short SAMPLES = 128; const double SAMPLING_FREQ = 4096; const unsigned short FREQ_SAMPLE_AMOUNT = 5; double noise_reject_limit = 550; double mic_value = 0; double avg_freq = 0; double vReal[SAMPLES]; double vImag[SAMPLES]; double domin_freq[FREQ_SAMPLE_AMOUNT] = {0}; double sampling_period = 1e6 * (1/SAMPLING_FREQ); unsigned short freq_sample_count = 0; double f = 0;
in „Arduino Frequenzerkennung scheitert an Einbindung einer DOT Matrix“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
pwm_test.ino
#define PWM_CT2_B 3 //OC2B #define Vout A0 #define Vin A1 // 15us = 64khz // 120us = 8 khz #define maxpwm 164 int pwm = maxpwm-1; #define dotrack unsigned long nextmeasTime; unsigned long measInterval = 1000 * 60; // every minute int V_set_out = 200; // 140 = 4V int V_set_in = 300; // 160 = 10V void ct2_init() { pinMode(PWM_CT2_B,OUTPUT); TCCR2A = (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); //fast PWM TCCR2B = (1 << CS20) | (1 << WGM22); // prescaler 0 OCR2A = maxpwm; // 100khz // TOP overflow value (Hz) OCR2B = maxpwm-1; // pwm value } void getactmpp() { int V_meas; OCR2B = maxpwm - 1; // zero
in „Wir basteln einen arduino MPP lader.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
code_z.ino
#ifndef STASSID #define STASSID "****" #define STAPSK "****" #define PIN 5 // PIN an dem die Datenleitung angeschlossen ist #define NUM_LEDS 114 // Anpassen auf die Anzahl der LEDs, die _Du_ wirklich verwendest #endif #define MY_NTP_SERVER "ch.pool.ntp.org" #define MY_TZ "CET-1CEST,M3.5.0/02,M10.5.0/03" #include <ESP8266WiFi.h> #include <time.h> #include <Adafruit_NeoPixel.h> Adafruit_NeoPixel pixels(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); byte alteMinute = 100; // Variabeln zum Speichern der aktuell angezeigten Minute time_t now; tm tm; void showTime() { time(&now); // read the current time localtime_r
in „SK6812 LED leuchten falsch“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
INA226.ino
// #include <Wire.h> const int INA226_ADDR = 0x44; // SCL - GPIO5 - D1 // SDA - GPIO4 - D2 bool isConnected(uint8_t addr) { Wire.beginTransmission(addr); return ( Wire.endTransmission() == 0); } static void writeRegister(byte reg, word value) { Wire.beginTransmission(INA226_ADDR); Wire.write(reg); Wire.write((value >> 8) & 0xFF); Wire.write(value & 0xFF); Wire.endTransmission(); } static word readRegister(byte reg) { word res = 0x0000; Wire.beginTransmission(INA226_ADDR); Wire.write(reg); if (Wire.endTransmission() == 0) { if (Wire.requestFrom(INA226_ADDR, 2) >= 2) { res = Wire.read() * 256; res += Wire.read
in „INA226 an ESP8266 misst falsche spannung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
WebStuff.ino
bool WRison; bool CHison; void handleCmd() { String out; char temp[25]; if (server.args() == 1) { if (server.argName(0) == "WRon") { WRison = true; CHison = false; } else if (server.argName(0) == "WRoff") WRison = false; else if (server.argName(0) == "CHon") { CHison = true; WRison = false; } else if (server.argName(0) == "CHoff") CHison = false; } out += "<center><H1>24V LeadAcid Monitor</H1>"; out += "<H2>"; sprintf(temp," Volt %.2f  ",volt); out += temp; sprintf(temp," Amps %.2f",current); out += temp; out += "</H2>"; out += "<br>\n"; out += "<button onclick=\"window.location.href='/cmd
in „Relais Ein/Aus schalten eines $40 WR. Was zuerst, wie?“ · Haus & Smart Home ·
-
Datei
SlowSwitch.ino
#include <Ticker.h> #define SlowPin 13 //D7 GPIO13 #define FastPin 12 //D6 GPIO15 #define SwitchTime 0.5 Ticker SwitchTicker; //https://github.com/esp8266/Arduino/blob/master/libraries/Ticker/src/Ticker.h enum SwitchState {isoff,isslow,ison}; SwitchState swst = isoff; SwitchState gost = isoff; void changeState() { if (swst != gost) { if (gost == ison) digitalWrite(FastPin, LOW); else digitalWrite(FastPin, HIGH); swst = gost; } else { digitalWrite(SlowPin, HIGH); SwitchTicker.detach(); } } void initSlowSwitch() { digitalWrite(SlowPin, HIGH); pinMode(SlowPin, OUTPUT); digitalWrite(FastPin, HIGH)
in „Relais Ein/Aus schalten eines $40 WR. Was zuerst, wie?“ · Haus & Smart Home ·