Posts by md_fg

    Die Idee zu diesem Funktionsgenerator kommt von AZ-Delivery. Aus dem Raspberry Forum kommen von jar Änderungen der Variablen Namen.

    https://www.az-delivery.de/blo…2-signalverstaerker-teil2

    Die Einstellbare Frequenz für alle Signal Formen geht von 20 Hz bis 20 KHz das einstellbare Tastverhältnis von 0 bis 100%


    Im Unterschied zum Original benutze ich ein 1.8 Zoll TFT Display zur Anzeige und einen Joystick zum Ändern der Werte für Ratio/Tastverhältnis und Frequenz.

    Vom Joystick gibt es 2 Versionen der Taster wird entweder nach GND bzw. Vcc geschaltet das kann im Programm eingestellt werden.

    Auch die -5 Volt für den doppel OV(TI082) werden Alternativ mit einem ICL 7660 erzeugt.

    Mit zwei HTTM Touch Tasten wird der Deep Sleep Mode ein bzw. ausgeschalten.

    Die Aktuellen Werte für mode, ratio, frequency und counter werden als RTC_DATA_ATTR Variablen im ESP32 gespeichert um bei Ende des Deep Sleep Mode mit diesen Werten neu zu starten.

    Die Hintergrund Beleuchtung des Displays wird in Abhängigkeit der Helligkeit von einem LDR gesteuert. Je dunkler die Umgebung desto dunkler das Display.

    Die Amplitude des Ausgang Signals kann zwischen 0 und +/- 4Volt eingestellt werden.

    Ein Regler für den Offset des Ausgang Signals ist vorhanden.

    Für den LiPo 18650 Batterie Betrieb wird ein TP 4056 Laderegler, sowie einen MT 3608 StepUp Regler für die +5 Volt Erzeugung benutzt.

    Der Strom Bedarf im Normal Betrieb liegt bei ca. 40 bis 50mA im Deep Sleep Modus und Display aus werden kleiner 1mA verbraucht.

    Mit zwei kapazitiven Touch-Schaltern(HTTM) wird der ESP32 in den Deep Sleep Mode gesetzt(On/Rote Taste) bzw. aus dem Deep Sleep Mode geholt(Off/Grüne Taste).

    Die Richtungs Tasten des Joystick sind so belegt.


    Joystick UP Ändern der Frequenz

    Joystick DOWN Ändern vom Tastverhältnis/Ratio

    Joystick LEFT(Minus) und RIGHT(Plus) Ändern der Richtung

    Joystick Taster Ändern des Modus bzw. Übername der geänderten Werte von Frequenz und Tastverhältnis


    Bei einer Pc Verbindung(USB) zum Funktionsgenerator sind folgende Befehle in der Seriellen Konsole der Arduino IDE möglich, auch als Klein Buchstaben.

    MS Sinus Mode

    MR Rechteck Mode

    MT Dreieck Mode

    F#### Frequenz in Herz

    R## Tastverhältnis in Prozent


    Der Schaltplan des Funktionsgenerators.



    Und als PDF

    funktionsgenerator-2_Schaltplan.pdf


    Hier noch einige Bilder







    Die Basis zum Funktionsgenerator kommt von AZ-Delivery und von jar hier aus dem Forum.


    Im Unterschied zur Original Schaltung benutze ich ein 1.8 Zoll TFT Display zur Anzeige.

    Sowie ein Joystick Modul(KY-023) zum Ändern der Betriebsart und zum setzen der Ratio/Tastverhältnis und Frequenz Werte.

    Auch die -5 Volt für den OV werden Alternativ mit einem ICL 7660 erzeugt.

    Todo

    Für den Batterie Betrieb ein TP 4056 Laderegler sowie ein MT 3608 StepUp Regler für die +5 Volt Erzeugung.

    Mit einem kapazitiven Touch-Schalter(HTTM) den ESP32 aus dem Deep Sleep holen.

    Der Schaltplan.



    Der Sketch. Für Ideen, Änderungen und erkannte Fehler, Bitte die Infos im Forum.

    funktions-generator-0-4-5.zip


    Bilder der Anzeige vom Prototyp.



    Hallo

    Der DHCP+DNS Raspberry läuft seit 2018 im 24/7 Dauerbetrieb.

    Hallo

    Für eine Wintergarten Steuerung wurde von einem Freund eine Platine mit allen Hardware Komponenten erstellt.

    Folgende Hardware ist auf der Platine verbaut:

    Ein 30 poliger ESP32 Steckplatz, RTC mit CR2032, zwei MCP23017 für 16 Relais Ausgänge über 16 Optokoppler, SN74HC10.

    Vorhandene Anschluss Möglichkeiten auf der Platine:

    Für IR Sensor, 4x20 LCD Display mit Dimmer, DHT22, 4 Analog Eingänge, BH1750 Lichtsensor,

    16 Relais Steuertasten, diverse Programm Steuertasten mit Status LED sowie eine externe +5 Volt Versorgung.


    Der Wintergarten kann mit den Steuertasten oder der IR Fernbedienung benutzt werden.

    Aber auch vom Handy im WLAN kann über den Webserver des ESP32 der Wintergarten gesteuert werden.




    Eine Platine wird auch als Test Modul für weitere ESP32 Projekte benutzt.



    Der Stromlaufplan zum Wintergarten.



    Hier noch einige Programm Details.

    Das Programm läuft im Automatik oder Handbetrieb Modus bei Notfällen(Wind,Regen) werden die Markisen und Fenster geschlossen.

    Der Wohlfühl Temperatur Bereich kann mit einer Plus bzw. Minus Taste verändern werden, mit sofortiger Verwendung im Automatik Modus.

    Das WLAN Passwort/SSID wurde in den Eeprom des ESP32 geschrieben, um dann beides bei jedem Programm Start auszulesen.

    Bei einem aktiven WLAN wird die NTP Zeit von einem auswählbaren NTP Server geholt, um dann die interne RTC mit der NTP Zeit zu synchronisieren.

    Es ist egal ob das aktive WLAN beim Programm Start(setup) oder zur Programm Laufzeit erkannt wird.

    Ein wieder inaktiv gewordenes WLAN wird vom Programm erkannt und die RTC Zeit wird für den weiteren Programm Ablauf benutzt.

    Eine Automatik um ein sporadisch aktives WLAN zu erkennen, alle 7 Minuten erfolgt ein WLAN Check nur im Automatik Modus.

    Wenn beim Programm Start das WLAN aktiv ist, wird die SSID, WLAN IP, DNS IP und Gateway IP auf dem 4 zeiligen LCD Display angezeigt.

    Bei aktiven WLAN kann ein Sketch Update über OTA(Over The Air) mit einer Passwort Abfrage erfolgen.

    Bei aktiven WLAN können Debug Meldungen mit UDP/Telnet(Port 23) auf einen Monitor Pc und in der Serial Konsole der IDE angesehen werden.

    Wird in der IDE der OTA Port aktiviert, kommen die Eigenen Debug Meldungen nur noch per Telnet auf einen Monitor Pc an.

    Die Anzeige von Uhrzeit, Datum, Temperatur, Feuchte auf dem LCD ist ohne Auswirkung auf den Automatik Modus bzw. Handbetrieb.

    Mit den 8 Up bzw. 8 Down Tasten kann eine manuelle Fenster/Markisen Steuerung im Handbetrieb Modus erfolgen.

    Eine Reset Taste im Gerät sowie die Möglichkeit über die Telnet Verbindung vom Monitor Pc aus, das Programm neu zu starten(Reboot).

    Hallo

    Ein Status Bericht zu einem alten Projekt mit Raspberry 2 und dem C-Berry Display als Webradio bzw. mp3 Player.

    Die Hardware läuft seit 5 Jahren im 24/7 Modus, Ausfälle bis jetzt das Original Netzteil und eine SD-Karte.


    Hallo

    Noch eine Anregung auf einer 12x8 cm Grundplatte, aus einer Wintergarten Steuerung.

    16 Relais Ausgänge über Optokoppler, 16 Taster Eingänge, RTC, BH1750, LCD, DHT22, IR Empfänger, 4 Analog Eingänge

    Quote

    Du kannst auf deinem Laptop, die Internetverbindungsfreigabe konfigurieren.

    Danke für den Link.

    Wenn der Bastel RasPi auch in das Netz kommen soll, die Sahne Haube also ist der Konfiguration Aufwand ob als bridge oder nat enorm.

    Da die Hotspot Verbindung auf dem Laptop OK ist, werde ich es dabei belassen.

    Es könnte auch sein das im Android Handy(Hotspot) der Bastel RasPi geblockt wird. Dann wäre jeder Aufwand sinnlos.

    Für einen Vortrag darf die Infra Struktur des Veranstalters nicht benutzt werden.

    Wie muss die Route auf dem Laptop gesetzt werden damit auch der Bastel RasPi in das WWW kommt.


    Die Ausgangslage:

    Ein RasPi als DHCP Server versorgt ein Netzwerk ohne Router die Verbindung zum WWW soll über ein Handy mit Mobilen Hotspot erfolgen.

    Der DHCP RasPi hat eine feste IP 192.168.10.61, ein Laptop bekommt per MAC die 192.168.10.45, ein weiterer RasPi per MAC die 192.168.10.32

    Die dhcpd.conf des DHCP RasPi

    Der Laptop wird nun mit dem Handy(Mobiler Hotspot) verbunden das ergibt folgendes die Verbindung in das WWW ist OK.


    Auf dem Bastel RasPi sieht es dann so aus.

    Die Schaltung wurde geändert, der Test war OK es wird nur noch ein NE555 benutzt.

    Der Dämmerungs Schalter schaltet jetzt die 3 weißen 12 Volt LED für das Treppenlicht an.

    Die LED können weiterhin per Dimmer eingestellt werden.

    Der Reset Pin bleibt auf +12 Volt.

    Beide Schaltungen aus dem Bild sind OK und im Einsatz.

    Nun soll der PWM Dimmer aber vom Dämmerungsschalter aktiviert werden.

    Mein Ansatz wäre wie im Bild gezeigt nur noch eine Kontroll LED, die drei weißen LED werden kurzgeschlossen und

    der Transistor vom Dämmerungsschalter aktiviert GND für den NE555 vom PWM Dimmer.

    Gibt es andere, bessere Lösungen?

    Das Ziel ist die Hardware eines Pico-Eval-Board mit den C++ Beispielen zu Testen.

    Die Infos zu dem Board und die Beispiel Dateien für Python und C++ sind unter Resources hier zu finden.

    https://www.waveshare.com/wiki/Pico-Eval-Board

    Das Pico-Eval-Board ist eine umfassende Evaluierungslösung für den Raspberry Pi Pico.

    Mit einem 3,5-Zoll-65K-LCD-Display und diversen hilfreichen Onboard-Komponenten ermöglicht dieses Evaluation-Board das

    Ausprobieren fast aller On-Chip-Peripheriegeräte des RP2040, ohne dass eine umständliche Verkabelung erforderlich ist.

    Es ist die ideale Wahl für Benutzer, die schnell mit dem Raspberry Pi Pico und dem RP2040-Chip beginnen möchten.


    Ab hier der Weg um auf dem Raspberry Pi die C++ Dateien aus dem Paket Pico-Eval-Board-Code Übersetzen zu können.


    Step 1: Zuerst wird der Ist Zustand auf dem Raspberry Pi abgefragt.

    Code
    uname -a
    sudo apt install lshw
    sudo lshw            --> product: Raspberry Pi Model B Plus Rev 1.2
    less /etc/os-release -->    PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"

    Step 2: Der Raspberry Pi wird auf den Aktuellen Software Stand gebracht, dann die unbedingt benötigten Pakete Installiert.

    Code
    sudo apt update
    sudo apt upgrade
    sudo reboot
    uname -a
    sudo apt install cmake
    sudo apt install gcc-arm-none-eabi

    Step 3: Zum Übersetzen aller C++ Dateien wird das "pico-sdk" benötigt und von github geclont.

    Code
    mkdir pico_new
    cd pico_new/
    git clone https://github.com/raspberrypi/pico-sdk
    cd /home/pi/pico_new/pico-sdk
    git submodule update --init

    Step 4: Der einfachste Test nur die grüne OnBoard LED des Pico soll blinken.

    Code
    mkdir pico --> Nun mit Filezilla die Datei Pico-Eval-Board-Code.zip nach pico kopieren.
    cd pico
    unzip Pico-Eval-Board-Code.zip

    Step 5: Der Hersteller des Boards liefert Steuerdateien mit, diese müssen auf den Pfad des "pico-sdk" angepasst werden.

    Step 6: Nur wenn die Bootsel Taste auf dem Pico beim Verbinden des Pico mit dem Raspberry gedrückt ist kommt die Verbindung zustande.

    Code
    lsusb  --> Bus 001 Device 005: ID 2e8a:0003    # Der Pico
    df -Th --> /dev/sda1      vfat      128M    8,0K  128M    1% /media/pi/RPI-RP2        # Der Pico
    mount  --> /dev/sda1 on /media/pi/RPI-RP2 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
    
    ls -la /media/pi/RPI-RP2
    -r--r--r--  1 pi   pi     241 Sep  5  2008 INDEX.HTM
    -r--r--r--  1 pi   pi      62 Sep  5  2008 INFO_UF2.TXT

    Step 7: Die fertige *.uf2 Datei wird auf den Pico kopiert, danach ist ein Zugriff auf den Pico nicht mehr möglich: Datei oder Verzeichnis nicht gefunden

    Code
    cp GPIO.uf2 /media/pi/RPI-RP2