/* Basisprogramm für ein Captive Portal * Grundversion, die bei einer Verbindung auf dem Client den Browser öffnet * und eine Startseite darstellt. * Der HTML-Code ist rudimentär, um das Beispiel einfach zu halten * Der Webserver antwortet auf die url / mit der Captive-Seite, bei index.html * wird eine andere Webseite ausgegeben, die über eine Funktion generiert wird. * Version 1.0 * Getestet mit Android-Handy und Android-Tablet => ok * Gestestet mit Windows-PC => Browser versucht auf eine Microsoft-Adresse umzuleiten */ #define __Version__ "V1.0 CaptivePortal" #include <Arduino.h> #include <WiFi.h
/* Basisprogramm für ein Captive Portal * Grundversion, die bei einer Verbindung auf dem Client den Browser öffnet * und eine Startseite darstellt. * Der HTML-Code ist rudimentär, um das Beispiel einfach zu halten * Der Webserver antwortet auf die url / mit der Captive-Seite, bei index.html * wird eine andere Webseite ausgegeben, die über eine Funktion generiert wird. * Version 1.0 * Getestet mit Android-Handy und Android-Tablet => ok * Gestestet mit Windows-PC => Browser versucht auf eine Microsoft-Adresse umzuleiten */ #define __Version__ "V1.0 CaptivePortal" #include <Arduino.h> #include <WiFi.h
mir funktioniert ein ++savecfg nicht: "EEPROM not supported." Liegt daran, dass "E2END" in ar488.ino nicht definiert ist. Ändert man das, scheint ein Speichern zu funktionieren. Beim Neustart sind die Einstellungen jedoch verschwunden. Ich bin zwar kein Programmierer, aber ich denke das liegt an der
nach Updates suchen
Sketchbook beim Speichern auf die neue Dateierweiterung aktualisieren (.pde -> .ino)
Speichern beim Überprüfen oder Hochladen
Zusätzliche Boardverwalter-URLs:
http://raw.githubusercontent.com/stm32duino/BoardManagerFiles/master/STM32/package_stm32_index.json
Mehr Voreinstellungen können
ArduinoISP | Arduino IDE 2.3.3
File Edit Sketch Tools Help
Generic ESP8266 Module
ArduinoISP.ino
67
68 // Configure which pins to use:
69
70 // The standard pin configuration.
71 #ifndef ARDUINO_HOODLOADER2
72
73 #define RESET 10 // Use pin 10 to reset the target rather than SS
74 #define LED_HB
#include <ModbusRTUSlave.h> #define MODBUS_SERIAL Serial1 #define MODBUS_BAUD 9600 #define MODBUS_CONFIG SERIAL_8N1 #define MODBUS_UNIT_ID 100 #if (defined(ARDUINO_NANO_RP2040_CONNECT) && !defined(ARDUINO_ARCH_MBED)) || defined(ARDUINO_NANO_ESP32) // These boards operate unsing GPIO numbers that don't correspond to the numbers on the boards. // However they do have D# values #defined to correct this. const int8_t buttonPins[2] = {D2, D3}; const int8_t ledPins[4] = {D5, D6, D7, D8}; const int8_t dePin = D13; #else // Other boards do not have D# values, and will throw an error if you try to use them
// Written by: Mohamed Soliman // This code is for controlling servo motor with IR remote control // When clicking at any of two buttons the motor is toggling between the rotation and stop #include <IRremote.h> //must copy IRremote library to arduino libraries #include <Servo.h> #define plus 0xA3C8EDDB //clockwise rotation button #define minus 0xF076C13B //counter clockwise rotation button int RECV_PIN = 2; //IR receiver pin Servo servo; int val; //rotation angle bool cwRotation, ccwRotation; //the states of rotation IRrecv irrecv(RECV_PIN); decode_results results; // ================ // === SETUP
ist Delay sowie Jitter grösser. Gehört das mit dem Jitter so oder habe ich einen Fehler in mein INO (siehe Anhang)? Warum verhält sich ESP8266 besser als ESP32? Danke
Ich hab in deine INO nicht reingeschaut. Verteile bei dem ESP32 die Aufgaben auf beide Kerne.
#include <ESP8266WiFi.h> #include <espnow.h> #define REF_PIN 5 // Structure example to receive data // Must match the sender structure uint8_t data; // Callback function that will be executed when data is received void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) { data = incomingData[0]; digitalWrite(REF_PIN, !digitalRead(REF_PIN)); Serial.print("Bytes received: "); Serial.println(data); } void setup() { pinMode(REF_PIN, OUTPUT); // Initialize Serial Monitor Serial.begin(115200); // Set device as a Wi-Fi Station WiFi.mode(WIFI_STA); // Init ESP-NOW if (esp_now_init() != 0) { Serial.println
//This example code is in the Public Domain (or CC0 licensed, at your option.) //By Richard Li - 2020 // //This example creates a bridge between Serial and Classical Bluetooth (SPP with authentication) //and also demonstrate that SerialBT have the same functionalities of a normal Serial #include "BluetoothSerial.h" #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED) #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it #endif #if !defined(CONFIG_BT_SPP_ENABLED) #error Serial Bluetooth not available or not enabled. It is only available for the ESP32 chip. #endif BluetoothSerial
mir nicht weiterhilft @Thomas Vielen Dank für Deine Hilfe - Das habe ich, und wenn Du mein *.ino durchgesehen hast, wirst Du feststellen, dass ich das Programm erweitert habe um die Fehlermeldung, die ich in verschiedenen Farben anzeigen möchte. mfg Egon
Hallo, Du hast in deinem .ino einen großen String: const char index_html[] PROGMEM = R"rawliteral( Der beginnt soger mit: <!DOCTYPE HTML><html> Genau das ist der HTML Code. Dieser String wird verschickt und dann vom Browser
sich der Designer zwar ein Neopixel-Interface wünscht, aber mit nur einer Farbkomponente auskommt. InoLux bedient diesen Markt nun mit roten, grünen, blauen und weißen Varianten.  ### LEDs, zur Zweiten – Brightek mit 16bit-PWM im “NeoPixel” Brightek bietet seit
Compilerfehler), solange alles in einer einzigen Datei zu finden war. Das Initialisieren im Hauptprogramm (.ino-File) und das Aufrufen aus einer der Funktion aus einem anderen eingebundenen File hat nicht funktioniert. Ich habe das versucht, die "neue Klasse" mit public zu versehen und entsprechend mit extern
#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
/* Controlling two stepper with the AccelStepper library by Dejan, https://howtomechatronics.com */ #include <AccelStepper.h> // Define the stepper motor and the pins that is connected to AccelStepper stepper1(1, 37, 39); // (Typeof driver: with 2 pins, STEP, DIR) AccelStepper stepper2(1, 31, 33); void setup() { stepper1.setMaxSpeed(1000); // Set maximum speed value for the stepper stepper1.setAcceleration(500); // Set acceleration value for the stepper stepper1.setCurrentPosition(0); // Set the current position to 0 steps stepper2.setMaxSpeed(1000); stepper2.setAcceleration(500); stepper2.setCurrentPosition
Endlosschleife u.a. loop() aufgerufen. Oder hat du einfach eine Aversion gegen die Fileextension ".ino"? ;-) Dann ersetze sie in Gedanken durch ".c++" Geh einfach davon aus, dass pinMode() einen Pin konfiguriert (Datenrichtung und Pull-up), dass digitalWrite() einen Pin auf low oder high setzt und
Der Code sieht o.k. aus, abgesehen davon, daß man Code *nie* als Bild postet, sondern als *.c oder *.ino. Jede LED an den Arduino-Pins 0..5 sollte reihum 0,5s an sein und 5,5s aus. Was davon nun welchem AVR-Portpin entspricht, mußt Du schon selber ermitteln. Dafür sollte es eine Doku geben. Der physische
den TO evtl interessant: https://github.com/bertmelis/esp32ModbusTCP/blob/master/examples/SMA/SMA.ino Da müsste er erstmal nur die Register-Config anpassen, und wenn man das WLan-Handling ausblendet auch nicht wirklich umfangreicher als sein AVR-Beispiel...
den TO evtl interessant: > https://github.com/bertmelis/esp32ModbusTCP/blob/master/examples/SMA/SMA.ino > > Da müsste er erstmal nur die Register-Config anpassen, und wenn man das > WLan-Handling ausblendet auch nicht wirklich umfangreicher als sein > AVR-Beispiel... Hallo Ernst, alles Gute
/******************************************************** ** Download from: ** ** http://www.alhin.de/arduino/index.php?n=44 ** ********************************************************/ #include <AH_EasyDriver.h> //AH_EasyDriver(int RES, int DIR, int STEP); // RES -> RESOLUTION per full revolve // DIR -> DIRECTION PIN // STEP -> STEPPING PIN AH_EasyDriver stepper(200,9,8); // Initialisation // DIR-Pin = Pin 9 // STEP-Pin = Pin 8 const int buttonPin = 2; // the number of the pushbutton pin int sensorPin = A0; // Analoger Input für die Spannung der Photodiode - analog input for the photodiode-voltage
/github.com/ManUnit/sip-call - https://github.com/rousir/ArduinoVoip/blob/main/examples/voip/voip.ino - https://github.com/RetepRelleum/uPyVoip - https://github.com/OLIMEX/sip_phone_example Für Deinen Zweck dürfte ein rudimentäres SIP ohne Sound reichen, da Du ja nur die eingehende Signalisierung
>> >> Also werde ich ein: "Zeiger" bzw. der Lehrling sein. > (void*) enk; [c] sketch_jun17d.ino: In function 'void setup()': sketch_jun17d:6:11: error: 'enk' was not declared in this scope 6 | (void*) enk; | ^~~ [/c] Dann: Zeiger sollten initialisiert werden! Ins
Forenmitglieder, als Anfänger suche ich eine Lösung für mein Problem. Habe auf dem Arduino Mega 2560 eine ino-Datei geladen und zu prüfen begonnen. Bekomme immer die Fehlermeldung:Compilation error: exit status 1 Kann mir jemand helfen? Wäre sehr dankbar dafür
stm32duino/STM32Examples/blob/main/examples/Peripherals/HardwareTimer/Timebase_callback/Timebase_callback.ino Und hier die gesamte Timer API: https://github.com/stm32duino/Arduino_Core_STM32/wiki/HardwareTimer-library
stm32duino/STM32Examples/blob/main/examples/Peripherals/HardwareTimer/Timebase_callback/Timebase_callback.ino Deshalb gilt folgendes: Um die passende Umgebung für den TO zu finden, muss man seine genauen Randbedingungen kennen.
#include <IRremote.h> const int irLedPin = 3; // Pin für die IR-LED const int irSensorPin = 7; // Pin für den IR-Sensor (TSOP4838) IRsend irsend(irLedPin); // Erstelle ein IRsend-Objekt void setup() { Serial.begin(9600); // Serielle Kommunikation initialisieren pinMode(irSensorPin, INPUT); // Setze den Pin für den IR-Sensor als Eingang } void loop() { // Sende ein 38 kHz IR-Signal irsend.sendNEC(0xFF00FF, 32); // Beispiel: Sende NEC IR-Signal (ersetzbar durch dein Signal) // Überprüfen, ob der IR-Sensor das modulierte Signal empfängt if (digitalRead(irSensorPin) == LOW) { // Der TSOP4838 gibt
// Pin für die IR-LED definieren const int irSensorPin = 7; // Pin für den IR-Sensor (TSOP4838) void setup() { Serial.begin(9600); // Serielle Kommunikation initialisieren pinMode(irSensorPin, INPUT); // Setze den Pin für den IR-Sensor als Eingang enableIRModulation(); // Starte die 38-kHz-Modulation } void loop() { // Überprüfen, ob der IR-Sensor das modulierte Signal empfängt if (digitalRead(irSensorPin) == LOW) { // Der TSOP4838 gibt LOW aus, wenn er ein gültiges Signal empfängt Serial.println("IR-Signal empfangen!"); } else { Serial.println("Kein IR-Signal."); } delay(500); // Warte 500 ms,
// Pin für die IR-LED definieren const int irLedPin = 3; // Pin 3 unterstützt PWM-Ausgabe (wichtig für Timer) const int irSensorPin = 7; // Pin für den IR-Sensor (TSOP4838) void setup() { pinMode(irLedPin, OUTPUT); // Setze den Pin für die IR-LED als Ausgang pinMode(irSensorPin, INPUT); // Setze den Pin für den IR-Sensor als Eingang Serial.begin(9600); // Initialisiere die serielle Kommunikation enableIRModulation(); // Starte die 38-kHz-Modulation } void loop() { // Schalte die LED für 1 Sekunde ein digitalWrite(irLedPin, HIGH); delay(1000); // Überprüfen, ob der IR-Sensor das modulierte Signal
const int pwmPin = PB1; // Der Pin, der per PWM gesteuert wird const int duration = 3000; // Dauer für das Hoch- und Runterfahren in Millisekunden const int steps = 255; // Anzahl der Schritte für die PWM (0-255 für 8-Bit PWM) void setup() { pinMode(pwmPin, OUTPUT); // Setzt den Pin als Ausgang } void loop() { // Hochfahren des Pins for (int value = 0; value <= steps; value++) { analogWrite(pwmPin, value); // PWM-Wert auf den Pin schreiben delay(duration / (2 * steps)); // Berechnet die Verzögerung für 3 Sekunden Gesamtzeit } // Runterfahren des Pins for (int value = steps; value >= 0; value--)
öffnet man einfach entweder einzelne Dateien oder Projektverzeichnisse. Ein Verzeichnis mit einer *.ino Datei wird z.B automagisch als Arduino Projekt erkannt. Sobald du Projekt-spezifische Settings änderst, legt die IDE das Unterverzeichnis .vscode an und speichert es dort im JSON Format. Man kann
/* Multimeter PDM-300-C2 Simulator What: Arduino-Programm zur Simulation des Multimeters und Übertragung der seriellen Messwerte. Why: Wenn man kein PDM-300-C2 Multimeter hat, kann man statt dessen einen Arduino benutzen, um die PC-Empfängerprogramme zu testen. How: Es wird eine analoger Eingang bemessen und die Daten zum PC übertragen. Das Datenpaket besteht aus 10 Bytes. Die Spannung des Analogeingangs mit einer einmalig gemessenen Referenzspannung berechnet. TBD: use internal Reference 2024-09-20 mchris License: Free Wine License Diskussion: https://www.mikrocontroller.net/topic/571179 https://www.mikrocontroller.net
c563277d-d186-4b56-94fc-10a190e3624e
LightTheremin
SELECT DEVICE
Serial Monitor
Serial Plotter
LightTheremin.ino
secrets.h
ReadMe.adoc
image.png
image1.png
Dimmer
The circuit:
- LED attached from digital pin 9 to ground through 220 ohm resistor.
- Serial connection to Processing, Max/MSP, or another serial application
/* Code auf Basis von Harald Peters: https://www.mikrocontroller.net/topic/134862#postform Mit folgenden Modifikationen: https://www.mikrocontroller.net/topic/134862#3991115 Wenn der 328 doppelt so schnell läuft, dann verdoppeln sich auch die Zählerwerte. Für die Dekodierung von DL braucht man hier nur den Timer0. Also bei 16MHz gilt: if (TCNT0>160 || TIFR0 ) // 2048us dann 2x OCR0A = 95; // 1536us und dann OCR0A = 127; // 2048us, für Bits1..8 wirksam Die Werte habe ich hier korrigiert, da ich ursprünglich vergessen hatte, daß die resultierende Frequenz bei CTC (f/OCR0A+1) ist. Aber so kritisch