WK 2026: Scoor de beste elektronica deals met ons advies. Scoor jouw winnende opstelling tijdens dit WK!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 05:44

breinonline

Are you afraid to be known?

Dat was hem! Dank O+
Waarom is überhaupt pin_Strobe een losse array? Of andersom, waarom niet een array per functie? Nu heb je dus veel variabelen in arrays die je nooit gebruikt.

Daarnaast, de indentatie en brackets zijn wel een beeeetje all over the place...
Dank voor de opbouwende kritiek. Het is mijn eerste project in C++...
De strobes wil ik 200ms na elkaar hebben. Dat is te doen met twee losse functies (dat had ik eerst). Ik wil nog combineren met een dubbele schakelaar dat de lichten een voor een starten (deze code) en de andere schakeloptie alles maar zonder de strobes. Alle pogingen daartoe leiden er steeds toe dat de strobes toch vaak out-of-sync gaan lopen.
Om dat te voorkomen heb ik ze juist samengevoegd. Maar dan moet de ene keer naar de ene pin geschreven worden (2x: aan en uit) en dan naar de andere. Dat bereik ik met deze array. Maar als dat handiger kan dan hoor ik het graag.

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


  • Raven
  • Registratie: November 2004
  • Niet online
Is er iemand toevallig bekend met de ESP-201?

Afbeeldingslocatie: https://arduining.com/wp-content/uploads/2015/12/sep-201_ds_wiring.jpg

Aangesloten zoals ^, maar Arduino IDE krijgt geen verbinding, al zie ik tijdens het connecting de blauwe LED wel knipperen, maar verder niets. Eindigt met "A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header"

GPIO0 hangt uiteraard aan de ground tijdens het flashen.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@Raven Je zegt, GPIO0 hangt aan GND, maar reset je hem daarna ook wel?

  • Raven
  • Registratie: November 2004
  • Niet online
@Septillion Jup, zowel resetknop geprobeerd als de 3.3V lijn erachter weg.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@Raven Je USB Serial doet op de datalijnen ook netjes 3v3?

En Rx en Tx zitten goed? Eventueel keer omdraaien voor als de labels toch voor de counter part bleken.

En als het op een breadboard is, alle verbindingen triple checken.

  • Raven
  • Registratie: November 2004
  • Niet online
@Septillion Check, sterker nog, deze FTDI-kabel is berucht :+ Het is die van Sparkfun die door een communicatiefout wel 3.3V datalijnen heeft, maar 5V op de VCC draad heeft
Originally, the cable was designed to have 3.3V VCC, however something was lost in translation between SparkFun and our supplier and we got stuck with a whole bunch of FTDI cables that have a slight mix up in wiring. These have 5V VCC, and 3.3V I/O. The 5V Vcc output shouldn't be a problem unless this cable is being used to power a sensitive circuit such as a sensor.
uiteraard AMS1117 eraan voor 3.3V.

Rx/Tx meerdere keren gechecked en als ik ze omdraai (verkeerd plaats) dan licht de blauwe LED niet op bij activiteit.

Inderdaad breadboard, alles gecheckt. Enige wat ik nog kan doen is een andere ESP-201 (heb er 2) erop drukken, alleen moet ik bij die de niet-breadboard vriendelijke UART-header eraf solderen en vervangen door een ge-angled versie. Die zit namelijk dezelfde richting op gesoldeerd als de headers aan de zijkanten :(

edit: Net ff 5V ergens anders weggehaald, voor het geval de FTDI-kabel niet genoeg kan leveren, maakte geen verschil.

[ Voor 5% gewijzigd door Raven op 05-10-2024 17:25 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@Raven Dat is wel irritant van de headers ja. Überhaupt borden zonder auto-reset zijn irritant :+

Loopback test van de kabel lukt wel gewoon?

  • Raven
  • Registratie: November 2004
  • Niet online
@Septillion Check, kabel is goed.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Raven
  • Registratie: November 2004
  • Niet online
@Septillion Het ingebakken AP (AI-THINKER_CC4822) werkt overigens wel (mits boot normale modus), kan er verbinding mee maken, maar IP-adres in browser openen geeft connection refused.

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Afbeeldingslocatie: https://tweakers.net/i/IIHUrg7xOdRGlZDPSq4u80qPmjM=/800x/filters:strip_icc():strip_exif()/f/image/26v9U2ja4o6GFipzcYNnst9o.jpg?f=fotoalbum_large

Debugging not supported ... ;(
Jammer want ik had graag wat register waardes in de codeflow willen zien bij een Arduino Assembly programma.
In Micro Chip Studio 7 blijkt dit wel mogelijk te zijn, na het maken van een New Project, via het veldje Arduino Projects.
Dit is me alleen gelukt met de oudere Arduino IDE-versie 1.8.19, met de meest recente versie 2.3.4 loopt het spaak (?)
Mogelijke oorzaak daarvan staat hier :
https://forum.microchip.c...5C3l000000MfQzEAK/t388636
Onderste post, verouderde zooi :|

Voor wie het ook wil proberen, of tips heeft over de gevolgde methode, kijk deze twee videos, die onderdeel zijn van playlists :

YouTube: Assembly via Arduino (part 1) - Introduction
YouTube: #56 Programming the Arduino Uno Using Atmel Studio 7

De tweede video is nodig om de Uno via Usb vanuit MCS7 te programmeren/uploaden.
Het assembly gedeelte heb ik handmatig kunnen toevoegen, dat betreft de eerste video.
Rechtsklik op het bestand en Add File (bij de rode pijl) :

Afbeeldingslocatie: https://tweakers.net/i/P877DaHEY97cCzcBd-NZ8hGp0d4=/800x/filters:strip_icc():strip_exif()/f/image/9lhMUtC9Y2DlQojDxxpxbpwT.jpg?f=fotoalbum_large

Resultaat is dat een Arduino sketch in assembly geschreven kan worden en met MCS7 gedebugged en opgeladen kan worden op een bordje. Of in een simulator, zie mijn post in EL-kroeg.

Afbeeldingslocatie: https://tweakers.net/i/p7qbcRcSSJZO6lcMXi1DEENsCig=/800x/filters:strip_icc():strip_exif()/f/image/p7WzIPXHBaUvokM9HZqr7Otb.jpg?f=fotoalbum_large

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Voorbeeldje overzetten van Assembly Arduino IDE naar Proteus Debugger :

Afbeeldingslocatie: https://tweakers.net/i/zHBh5T67YZsB3bhlQMMj-VRcrA0=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/FoTjaGX8bCQIkv0WN7VWKIxj.jpg?f=user_large

YouTube: Assembly via Arduino (part 1) - Introduction

YouTube: Assembly via Arduino (part 5) - Programming LCD

Kuzechie legt uit dat de ino.file en de s.file dezelfde naam moeten hebben in de Arduino IDE.

In Proteus moet de main-file main.ino blijven heten.

Afbeeldingslocatie: https://tweakers.net/i/ZLElHBURN8NNHd8cjPMvfJXKdoc=/x800/filters:strip_icc():strip_exif()/f/image/UuYs6HTretvY5etpbflsvL1h.jpg?f=fotoalbum_large


Afbeeldingslocatie: https://tweakers.net/i/DUJFK90g3xM4cvbiTMOXfyi9MTs=/800x/filters:strip_icc():strip_exif()/f/image/vk5S48hZAMTm6cbjbBC2P35o.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/phH8UFbHQn20pYGTv4L_vrpijgg=/800x/filters:strip_icc():strip_exif()/f/image/vpYwjMygMF8M33kIoSiNdkzb.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/FsCYtd6ccJgfCxHuLUW2om6BEZY=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/xkEqe2nSTM9ZrHHbBsrXKgI8.jpg?f=user_large


Het is voor mij geen eitje gebleken om dit draaiend te krijgen met al die paths en project wizzards en dit is dan ook geen Instructable maar meer een globale wegwijzer naar de mogelijkheden.

============================= EDIT ================================

Hoewel het bovenstaande wel werkt met getoond LCD programma van Kuzechie lukt dat niet met een aantal anderen uit diezelfde serie.
Dat is op te lossen met op de gewone manier in Arduino IDE 2 de Kuzechie sketch te compilen en op te slaan, de Arduino IDE af te sluiten en dan vanuit Proteus die opgeslagen sketches handmatig met 'Add Existing File' toe te voegen en die nu dus wel dezelfde namen hebben.

Afbeeldingslocatie: https://tweakers.net/i/-LAB4WqiBwAGpfWbilmKpodv7kw=/800x/filters:strip_icc():strip_exif()/f/image/V0TAtneJjpS67c48TZLDzd4z.jpg?f=fotoalbum_large

En dit wordt dan de Proteus Wizard instelling :

Afbeeldingslocatie: https://tweakers.net/i/hX0_PlWcPjk4n8sInW6O24QprFM=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/tJrHXlm5MsihqSyafnF4gwVF.jpg?f=user_large

[ Voor 32% gewijzigd door kitao op 20-12-2024 01:18 . Reden: Voortschrijdend inzicht ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
kitao schreef op zondag 15 december 2024 @ 14:14:
[Afbeelding]

Debugging not supported ... ;(
Jammer want ik had graag wat register waardes in de codeflow willen zien bij een Arduino Assembly programma.
In Micro Chip Studio 7 blijkt dit wel mogelijk te zijn, na het maken van een New Project, via het veldje Arduino Projects.
Dit is me alleen gelukt met de oudere Arduino IDE-versie 1.8.19, met de meest recente versie 2.3.4 loopt het spaak (?)
Mogelijke oorzaak daarvan staat hier :
https://forum.microchip.c...5C3l000000MfQzEAK/t388636
Onderste post, verouderde zooi :|
Correctie : Inmiddels lukt het wel om Arduino IDE 2.3.4 op MCS7 te laten draaien.
Post wijzigen ging niet meer en ik wil geen software benadelen met bevindingen die achteraf niet helemaal kloppen, ook al weet ik niet waarom het nu wel werkt.

De Arduino sketchsjes met assembly zijn over te zetten naar zowel Proteus als naar MCS7.
Van die twee vind ik Proteus het fijnst om mee te oefenen.
Bij MCS7 kon ik niet uit een loop komen waarin Input werd gevraagd - van buitenaf, bijvoorbeeld een externe spanning op de ADC pinnen van de Arduino.
Step Out bleek niet te lukken bij MCS7 en bij Proteus wel.
Sowieso gaat daar het veranderen van input waardes makkelijker hoewel ik niet beweer dat dat bij MCS7 niet kan maar ik vermoed dat je dan een MCU erop aangesloten moet hebben met een MicroChip programmer ofzo. Of een speciaal bestandje :

Stimulus is the simulation of hardware signals/data into the device.
https://onlinedocs.microc...33-AC8D-4348B11BB2DB.html

Hieronder een voorbeeldje van een loop waar ik met Proteus wel kan Step Outen.

Afbeeldingslocatie: https://tweakers.net/i/qLW2_oyzG74JZ04iPU-zVjYyiMA=/800x/filters:strip_icc():strip_exif()/f/image/EDggPdH5Y9Xz3uNNDzd5XqS9.jpg?f=fotoalbum_large

Dus al met al is mijn projectje om Arduino met assembly code, oftewel AVR Assembly, op zowel MCS7 als Proteus te debuggen en te simuleren best aardig gelukt :)

https://ww1.microchip.com...et-Manual-DS40002198A.pdf

Correctie 2 : :$

Register waarden kunnen eenvoudig handmatig gewijzigd worden. Dus een externe Stimulus is (in dit geval) niet nodig.
Het gaat bijvoorbeeld om onderstaande loop waar een ADCSAR-flag getest wordt of die op 1 staat.
Die blijkt handmatig ingevoerd te kunnen worden :

Afbeeldingslocatie: https://tweakers.net/i/2QD_ZEJYDS1aihQZgScpuuDZ45Y=/800x/filters:strip_icc():strip_exif()/f/image/UoW9mmnPh6PkHdLiplFsBGoM.jpg?f=fotoalbum_large

[ Voor 13% gewijzigd door kitao op 24-12-2024 15:31 . Reden: Voortschrijdend inzicht ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
kitao schreef op zondag 15 december 2024 @ 14:14:
[Afbeelding]

Debugging not supported ... ;(
Jammer want ik had graag wat register waardes in de codeflow willen zien bij een Arduino Assembly programma.
Correctie 3 :
Het blijkt dus wel mogelijk te zijn om te debuggen in IDE2 als je maar het juiste boardje aansluit. Genoemd wordt bijvoorbeeld de Zero met onboard debug chip.

https://docs.arduino.cc/s...utorials/ide-v2-debugger/

  • Danielson
  • Registratie: Januari 2003
  • Laatst online: 20:36
Waren kopen jullie je Arduino Nano's? Ik bestel ze over het algemeen op AliExpress of Amazon, maar dit zijn allemaal "Fake CH340" chips.

Waar vind ik orginele? :?

  • Raven
  • Registratie: November 2004
  • Niet online
@Danielson Adafruit of NL-dealer Kiwi?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • Dutchess_Nicole
  • Registratie: Augustus 2001
  • Laatst online: 01-06 15:43
Danielson schreef op dinsdag 14 januari 2025 @ 08:44:
Waren kopen jullie je Arduino Nano's? Ik bestel ze over het algemeen op AliExpress of Amazon, maar dit zijn allemaal "Fake CH340" chips.

Waar vind ik orginele? :?
Kiwi electronics is mijn go-to voor dit soort spul. Tinytronics ook voor andere boards.

Kia E-Niro 2019 Executiveline. OTGW/HA Enthousiasteling.


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
Danielson schreef op dinsdag 14 januari 2025 @ 08:44:
Waren kopen jullie je Arduino Nano's? Ik bestel ze over het algemeen op AliExpress of Amazon, maar dit zijn allemaal "Fake CH340" chips.

Waar vind ik orginele? :?
Naar mijn idee bestaat er niet zoiets als "fake CH340" chips... Dat is namelijk al gewoon een goedkoop China design. Afgezien van mensen die misschien geen drivers installeren er nooit een issue mee gezien. En geef zelf dus juist de voorkeur aan de CH340 boven FTDI of Silicon Labs chips omdat daar juist wel veel fakes voor in omloop zijn. (Die overigens in de basis prima werken maar door de driver kreupel gemaakt worden :+)

  • Accretion
  • Registratie: April 2014
  • Laatst online: 19:24

Accretion

⭐⭐⭐⭐⭐ (5/5)

Is d'r geen Nano variant van de Leonardo?

De 32u4 vindt ik ook wel leuk, juist omdat deze geen afzonderlijke usb-serial chip nodig heeft.

Alhoewel, tegenwoordig gebruik ik toch voornamelijk ESP32 gebaseerde bordjes.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
De micro zie ik staan en daaronder nog wat alternatieven :

The Micro is a microcontroller board based on the ATmega32U4 (datasheet), developed in conjunction with Adafruit. It has 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator, a micro USB connection, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a micro USB cable to get started. It has a form factor that enables it to be easily placed on a breadboard.

The Micro board is similar to the Arduino Leonardo in that the ATmega32U4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Micro to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.


https://store.arduino.cc/en-nl/products/arduino-micro

Afbeeldingslocatie: https://tweakers.net/i/DXIYkhOS5BTW0RSJPAvd2__9qxg=/800x/filters:strip_exif()/f/image/dwjsYFfB5khSdJy21m5GmGJl.webp?f=fotoalbum_large

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Afbeeldingslocatie: https://tweakers.net/i/vbKmGdi_zi72B4eXGgk0XuE8YbI=/800x/filters:strip_icc():strip_exif()/f/image/UvZotiHG32Q2OwlhRub4Veds.jpg?f=fotoalbum_large

In het midden een Avr Isp bootloader shield.

https://www.bitsandparts....ISP%20Shield%20Manual.pdf

https://github.com/RalphBacon/Bootloader-Shield-8MHz

Om een bootloader up te loaden zet je het shield op de Uno en dan kan er een bootloader in de zif-chip worden geprogrammeerd. Toen ik het shield bestelde dacht en hoopte ik eigenlijk dat ik zo ook andere 'normale' sketches kon uploaden in de 328P zif-chip. Dat blijkt niet te gaan want in de ISP-blokjes, die in elkaar klikken, zitten dan de Reset aan Reset vast, oftewel PC6 van de programmeerder Uno zit dan verbonden met de PC6 van de ontvanger.

Afbeeldingslocatie: https://tweakers.net/i/4sG13eV4seQ-2OJeYvusSDjSwSg=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/4vxZLEOHzjg2anhSmk8bdG2y.png?f=user_large

https://www.diymore.cc/pr...rammer-for-arduino-uno-r3

Vandaar dat ik het blauwe draadje met pin 10, SS, op de Uno heb verbonden.
Dan blijkt het wel mogelijk een sketch in de Zif-chip te flashen, dit is een paar keer getest met blink-variaties na verplaatsing van de aldus geprogrammeerde chip naar het breadboard ernaast.

Wat ik mij nu afvraag is hoe het kan dat er wel met ingeklikte shield een bootloader in de ontvangende chip kan worden geschoten maar niet op dezelfde manier een andere sketch ?
Want, zo heb ik begrepen, een bootloader 'is ook maar een sketch net als iedere andere' en komt in hetzelfde geheugenblok terecht net als iedere andere sketch.

Paar andere linkjes die in relatie staan tot dit onderwerp :

YouTube: #119 Bootloader Shield 🛡️ and 8Mhz Arduino Barebones (made easy)

https://docs.arduino.cc/b...-isp/ArduinoToBreadboard/

kitao in "De EL-kroeg - Deel 4"

Afbeeldingslocatie: https://tweakers.net/i/68Y4_LxreWvAlg8BCNE6Uwrn8hY=/800x/filters:strip_icc():strip_exif()/f/image/S475Qo5exmvUxu51SKbTYo9s.jpg?f=fotoalbum_large

======================== Edit ==================================

Na verder rommelen met dit ding en iets strikter navolgen van de handleiding blijkt het toch mogelijk te zijn om met ingeklikt shield een normale sketch in de zif 328P chip te schieten.

Dit is de handleiding
https://github.com/RalphBacon/Bootloader-Shield-8MHz
en er staat in 5.1 om een folder in Examples te plaatsen maar je kunt net zo goed deze Ino-file
https://github.com/RalphB.../master/OPENSMART_ISP.ino
in een lege sketch plakken en dan volgens de handleiding naar de Uno uploaden met MKII programmer geselecteerd.

Eenmaal geupload via Tools de Programmer terugzetten naar Arduino as ISP, zie handleiding 5.2 stap 4, en in plaats van 'burn bootloader' kun je in die stap en met 'Upload using Programmer' een normale sketch erin schieten, bijvoorbeeld een Blink.

Inmiddels ook erachter gekomen dat met ingeklikt shield de bootloader die erin zit uitgelezen kan worden mbv de Board_Detector sketch en via de Serial Port Monitor op 115200 baud.
Waarover hier meer :

kitao in "De EL-kroeg - Deel 4"

[ Voor 24% gewijzigd door kitao op 05-02-2025 18:01 . Reden: Github link toegevoegd ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Logic Analyzer 8 CH, 24MHz USB

Daar gaat deze post in het kort over, voor wie er nog niet zo bekend mee is. Heb het zelf jaren niet gebruikt en het moest op een andere computer geinstalleerd worden met Windows 11 en ik heb van de stappen een paar snips gemaakt.

Produkt
Afbeeldingslocatie: https://tweakers.net/i/qZZg6kP6j7WfXvuSE-5agvgm9Gw=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/aV3olzrUfdYZpv9529AHFwbW.jpg?f=user_large

Website voor de software
Afbeeldingslocatie: https://tweakers.net/i/CF6cSwt-MdGGLA0qoGZc8y7xd7I=/800x/filters:strip_icc():strip_exif()/f/image/O0vR4NIUQWOdwxHBP9UsowKk.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/H3V4-tp4aKPrOSSWyostmO5tHio=/800x/filters:strip_icc():strip_exif()/f/image/PMalY72fazrOo9OZ8JNxeE9v.jpg?f=fotoalbum_large

https://www.saleae.com/pages/downloads

Wizzard
Afbeeldingslocatie: https://tweakers.net/i/C-mSohfqxlcNam7uwUjTs9dq_fE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/02abpUXQV9JcRtINk51VmboK.jpg?f=user_large

Geinstalleerd en in actie - het betreft overigens wel een demo versie, dus metingen opslaan zal wel niet gaan.
Afbeeldingslocatie: https://tweakers.net/i/fjykJk2Ov1Zx0QJdPOJc0BG6btw=/800x/filters:strip_icc():strip_exif()/f/image/ibEYgkPTxncZgDvAkhhS1lcB.jpg?f=fotoalbum_large

Dit apparaatje kost ca. 14 euro, o.a. bij Bol en is handig bij het monitoren van digitale schakelingen.
Voor die prijs zijn het gekloonden, ook die ik heb, maar de officiele software van Saleae is er blijkbaar toch compatible mee. Hetgeen mij niet heel vanzelfsprekend lijkt en zover ik gezien heb niet aangegeven staat bij de verkoop informatie.

[ Voor 7% gewijzigd door kitao op 08-02-2025 18:36 ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Het volgende gaat ook over Arduino software maar die is niet gratis.
Hier kunnen pakketten worden geselecteerd
https://www.labcenter.com/buy-vsm/
Er zit een gratis demo pakket bij maar ik zou eerst proberen of er daar een uno mee geblinkt kan worden.
Op basis van deze video
YouTube: Assembly via Arduino - Programming DS1307 RTC
met deze code
https://akuzechie.blogspo...a-arduino-ds1307-rtc.html
een RTC Max7219 geprobeerd op te bouwen maar dat werkte niet goed met het aangetaste printje wat ik nog ergens had liggen
Afbeeldingslocatie: https://tweakers.net/i/lNN3ThOqMlzDQck9qbJwImmIsuQ=/800x/filters:strip_icc():strip_exif()/f/image/OU9U69prLiWCqbL4rmr97mcU.jpg?f=fotoalbum_large
In zulke gevallen of als ik een onderdeel mis komt een simulator van pas.
Simulide is wel gratis en vind ik persoonlijk zelfs leuker als Proteus
https://simulide.com/p/
maar is beperkter met de beschikbare onderdelen.
Toch kan je daar best veel mee, het heeft ook een RTC en een Max7219 maar die is gekoppeld aan een matrix
Afbeeldingslocatie: https://tweakers.net/i/uuj0fZUOl0F1vCl4yHN39hRqoE8=/800x/filters:strip_icc():strip_exif()/f/image/53q67ZBHBJPXDhfuwrQ5fnvC.jpg?f=fotoalbum_large
Op Proteus lukte het uiteindelijk om de sketch, dat overigens in assembly is geschreven, in beeld te krijgen, met een common cathode display.
Afbeeldingslocatie: https://tweakers.net/i/R3DI4DSPr6z-jEEYbC1GdDttHg8=/800x/filters:strip_icc():strip_exif()/f/image/KA0rvEuiFrhYplQEZQAzP9pq.jpg?f=fotoalbum_large
Het is wel een stuk lastiger om de project instellingen, libraries, compiler paths, files toevoegen etc om die bij Proteus goed te krijgen maar uiteindelijk is er wel meer mee mogelijk als met Simulide.

Ps, zie svp
kitao in "arduino uren en minuten verstellen"
De Sda en Scl 10K weerstanden zouden pull ups moeten zijn.
.

[ Voor 3% gewijzigd door kitao op 23-02-2025 16:24 ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Dit gaat over RFID RC522 die ik nog ergens had liggen en een toepassing voor heb gezocht. Eerst naar een Uno standaardvoorbeeld gekeken
https://arduinogetstarted.com/tutorials/arduino-rfid-nfc

Dat is een goed artikel en introduceert ook Logic Level Shifters maar ik wou dit overzetten naar een Atm32.
Om die te programmeren gebruik ik Atmel Studio en de zoekcombinatie Atm32 + RC522 leverde dit op:

https://medium.com/@riyay...rocontroller-31c32df78861

Dat verwijst naar diverse goeie sites maar ook naar Git waar het hele project is gecodeerd
https://github.com/Riya00...-Using-Atmega32/tree/main

Klik de groene <>Code knop en download de Zip.
Dan vanuit Atmel Studio in Solution Explorer klik op Add Existing Items

Afbeeldingslocatie: https://tweakers.net/i/CVWjBbWDRHds0HuMPQcbilIytnE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/kIMVGl3WU8l31TphEZR9iSWW.jpg?f=user_large

En voeg de 4 files die Zip- gedownload waren toe

Afbeeldingslocatie: https://tweakers.net/i/UdiV8CO2GVq_qvozp8owBBaVOuQ=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/tJmxdg3CgAokYU842NgH8elt.jpg?f=user_large

Dit compileerde in 1 keer maar helaas de Rfid opstelling werkte niet :|
In main.c staat het volgende :
C:
1
2
3
4
5
[i]int main()
{
    DDRB |= (1<<rs)|(1<<en)|(1<<buzzer);
    DDRC &= ~((1<<pin0)|(1<<pin1)|(1<<pin2)|(1<<pin3));
    PORTB |= (1<<buzzer);[/i]


Verander de DDRC in :

DDRC |= (1<<pin0)|(1<<pin1)|(1<<pin2)|(1<<pin3);

DDRC staat voor Data Direction Register C en met het &= ~( wordt daar een Input van gemaakt hetgeen naar mijn idee niet klopt als je vanuit Port C een LCD van data wil voorzien.

Afbeeldingslocatie: https://tweakers.net/i/lki5GkTyQcDa2SvFQKXyppOgBo8=/800x/filters:strip_icc():strip_exif()/f/image/kp1KeI1trvlbpayGXxHfZ4Ky.jpg?f=fotoalbum_large
https://microcontrollersl...facing-examples-features/

Verbindingen:
RC522 : Vcc op 3.3V , TX naar RX ATM32, RX naar TX Atm32.
Atm32 : PB0 naar RS LCD, PB1 naar EN LCD, PC7-4 naar D7-4 LCD, PB2 aan een Buzzer of Ledje, Kristal 8MHz.
LCD : RW aan GND leggen.

Afbeeldingslocatie: https://tweakers.net/i/YMjs1NxyhkDhFVhwvaLWouneniw=/x800/filters:strip_icc():strip_exif()/f/image/mxbt4tNOj0HZ3BrbCJSx5cfa.jpg?f=fotoalbum_largeAfbeeldingslocatie: https://tweakers.net/i/EP4awl-jCKn6H8APKdRIsnBv0zg=/x800/filters:strip_icc():strip_exif()/f/image/WjCEiYWZKxDvjvABlJrpY8lJ.jpg?f=fotoalbum_large

Dit is allemaal best omslachtig want hetzelfde kan veel makkelijker en sneller worden bereikt met de Arduino IDE en bijvoorbeeld een Uno of Nano. Het op deze manier programmeren geeft wel iets meer uitdaging en is net een een graadje lastiger als de standaard methode.
De Arduino IDE heb ik in het begin gebruikt voor het testen van de componenten maar het voordeel van Atmel/Microchip Studio is dat het meer mogelijkheden tot debuggen biedt.

[ Voor 7% gewijzigd door kitao op 13-04-2025 18:17 ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Hi, misschien dat iemand hier wat meer kan vertellen over een level-shifter en Uno R3 voltages ?

Ik gebruik de Uno o.a. om signalen naar een Altera Max II te sturen maar die draait op 3.3V. De gebruikte signalen zijn voor een 3x8-decoder volgens deze webpagina:
https://www.engineersgara...d-8x3-encoder-using-vhdl/

Gecompileerd in Quartus verscheen na wat instellingen dit plaatje op Modelsim:

Afbeeldingslocatie: https://tweakers.net/i/X1oinFYlKW-5kjr--ArqTH5zOKE=/800x/filters:strip_icc():strip_exif()/f/image/8pcNvtkjD53c5kajjWjlap4Z.jpg?f=fotoalbum_large

De sim werkt dus naar behoren en de volgende stap was om dit op breadboard te zetten met in de Uno een aangepaste versie van dit programma : https://projecthub.arduin...led-binary-counter-defdd9

Afbeeldingslocatie: https://tweakers.net/i/wAMKZCHHsS-2Rq8j_H8H6qFJUlc=/x800/filters:strip_icc():strip_exif()/f/image/WtTTfU6ecXAfJ9ruiB0iTEoI.jpg?f=fotoalbum_large

Op de foto is het goed aangesloten maar dat was eerst niet zo, ik had namelijk totaal niet verwacht dat er onder en boven VCC en GND op de level-shifter zouden zitten dus had VCC rechtstreeks op pin 3 staan :|

Afbeeldingslocatie: https://tweakers.net/i/ZuZtb7EZTU9pqjD3u4FG19TBywo=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/TFapQFKi54qhTksttZEqwM2K.jpg?f=user_large

Iemand enig idee waarom dit dubbel is uitgevoerd ?
Met dit soort bordjes wordt op de cent winst gemaakt dus lijkt mij nogal overbodig?

En is er een manier om in de getoonde opstelling de level shifter er tussen uit te halen ? Dat er rechtstreeks 3.3 V uit de gebruikte pinnen van de Uno komt ?

Ps, deze is ook handig voor dit soort dingen

Afbeeldingslocatie: https://tweakers.net/i/F8rNN3NtDcL6qqDFwG2Tnj6k4UA=/800x/filters:strip_icc():strip_exif()/f/image/dAOBzRp5mP4NPb32UGwKqJv3.jpg?f=fotoalbum_large
.
Ps2, als mogelijk antwoord op mijn eigen vraag, de dubbele uitvoering van VCC en GND is waarschijnlijk om twee of meerdere Logic Level Shifter Bi-Directional 5V/3.3V Modules te 'daisy chainen', aan elkaar door te lussen.
.

[ Voor 13% gewijzigd door kitao op 18-06-2025 10:27 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
kitao schreef op woensdag 18 juni 2025 @ 07:28:
Iemand enig idee waarom dit dubbel is uitgevoerd ?
Met dit soort bordjes wordt op de cent winst gemaakt dus lijkt mij nogal overbodig?
Denk voor gemak voor daisy chain inderdaad. Want hoe zeer ze ook proberen te bespraken is de grootste besparing vaak dat ze het niet zelf bedacht hebben :+
En is er een manier om in de getoonde opstelling de level shifter er tussen uit te halen ? Dat er rechtstreeks 3.3 V uit de gebruikte pinnen van de Uno komt ?
Direct, nee. Simpele spanningsdeler zou ook voldoen.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Septillion
Ja bedankt voor de tip van een spanningsdeler, zoiets als dit denk ik dan aan

Afbeeldingslocatie: https://tweakers.net/i/qncj8o0dIYg53DPCzenmd7id4Tw=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_exif()/f/image/qnN4y3W0Xpofuna8Lu1LPRID.webp?f=user_large
https://arduinokitproject...uetooth-arduino-tutorial/

Kort na mijn vorige post in dit topic over een Uno gekoppeld aan een CPLD kwam ik toevallig iets soortgelijks tegen, zie
kitao in "Het grote 'breadbord computer' topic"

Afbeeldingslocatie: https://tweakers.net/i/D9rBEO9i70COixvOGzlaEvCKWpc=/800x/filters:strip_exif()/f/image/MKNDTAqQ5M4IPZGQYMgab500.png?f=fotoalbum_large
https://eecs.blog/8-bit-computer-in-an-fpga/#more-detail

en daar staan 3 level shifters op met iets van 24 x 2 lijnen totaal :/
Op zich is dat al een zooitje maar met op iedere lijn een spanningsdeler met weerstanden zal nog meer een warboel worden vrees ik.
Niet dat ik al zeker weet dit project uit te gaan voeren maar een beginnetje is gemaakt en het kan ook per module opgezet worden waarschijnlijk. Nu schijnt het wel mogelijk te zijn om een Arduino Uno te 'hacken' dat er 3.3V uit de I/O komt, zie
https://learn.adafruit.co...echniques/3-3v-conversion
maar dat is nogal een drastische vrijwel onomkeerbare botte mes ingreep.

Toch heb ik het in een andere vorm geprobeerd en dat gaat inderdaad

Afbeeldingslocatie: https://tweakers.net/i/aTfzijyQxlwtMk6aq-RDTkr7cP8=/x800/filters:strip_icc():strip_exif()/f/image/eBFWmtHI0SSIOyTzRfJv5WkI.jpg?f=fotoalbum_large

Atmega 328P stand-alone geprogrammeerd met Arduino IDE via een FTDI FT232RL USB en vervolgens op 3.3V labvoeding aangesloten waardoor er 3.3V Out op de Led-pin ontstaat.

En er zullen ook andere Arduino borden zijn die standaard op 3.3V draaien maar makkelijkste is als ik er vertrouwd mee ben en ook dat er in de gebruikte sketches niet van pin positie gewisseld hoeft te worden met dat project
https://github.com/EECSB/8Bit-Computer
en dan lijkt mij dit een geschikte kandidaat :
If you used Arduino Nano in your projects in the past, the Nano 33 BLE is a pin-equivalent substitute. Your code will still work, but remember, it operates at 3.3V.
https://store.arduino.cc/products/arduino-nano-33-ble
.

[ Voor 5% gewijzigd door kitao op 23-06-2025 05:35 . Reden: typo ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@kitao De ATmega328P kan inderdaad prima op 3v3 werken en dan komt er ook 3v3 uit de IO. Maar officieel is de standaard 20MHz buiten spec om hem op 3v3 te laten werken. Dan zal je het crystal moeten vervangen voor een (uit mijn hoofd) 16MHz exemplaar.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Septillion

Ja, tnx, dat is inderdaad iets om rekening mee te houden

Afbeeldingslocatie: https://tweakers.net/i/zPLbGa-O7If74p3nfbMHC0dL7t4=/800x/filters:strip_icc():strip_exif()/f/image/9RVmtH16LXjqVg7eLD1MTgjR.jpg?f=fotoalbum_large

https://ww1.microchip.com...-ATmega328P_Datasheet.pdf

en iets scherper kijkend zie ik nu dat genoemde 3.3 V Nano helemaal geen Atmega Nano is :S
The Arduino Nano 33 BLE is based on the nRF52840 microcontroller
https://store.arduino.cc/products/arduino-nano-33-ble

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 02-06 15:30
OK, misschien ben ik hier helemaal verkeerd, maar je moet toch ergens beginnen:
Ik heb een klein hobbyproject in gedachten. Ben over het algemeen niet zo bezig met elektronica, programmeren en zo, maar wat ik graag zou willen:
  • Functie: IR-commando ontvangen van een Logitech Harmony remote en dan een Wake-on-Lan via ethernet het netwerk opsturen.
  • Het nog-te-maken device staat 24/7 aan, liefst dus low-power, zero-maintenance.
  • Moet een ethernet-aansluiting hebben (duh...) en, om adapter uit te sparen, Power-over-Ethernet gevoed zijn. Natuurlijk kan het functioneel ook prima draadloos werken, maar ik wil dingen bij voorkeur bedraad.
  • Op de een of andere manier dus een IR-ontvanger hebben.
Na wat google, rondzoeken enzo kwam ik uit op een Arduino Leonardo ETH2 met PoE. Ik ben wel gecharmeerd van Arduino als concept, heb ik een heeeeel ver verleden wel eens iets met Arduino gedaan dus dit leek mij wel een goede basis.

Echter: dit bord blijkt End-of-Life, dus zal lastig aan te komen zijn. Wat zijn dan mijn alternatieven?
Arduino Uno + Arduino Ethernet Shield 2 + Ag9000-S PoE module?

Of zijn er beter, desnoods niet-Arduino, keuzes te maken?

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

De Arduino code kun je doorgaans ook op een ESP32 draaien, en er zijn wel wat bordjes met een ESP+LAN+PoE te vinden denk ik zo, dat is inderdaad beter dan die laatstgenoemde optie. Ook heb je dan volgens mij een makkelijkere implementatie qua ethernet interface dan met zo'n shield.

Edit, dat laatste is niet zo'n issue bij het ethernet shield. Maar wel bij de shield met ENC... Chippies er op.

Anyway, voor de prijs van een shield heb je een ESP bordje wat alles al aan boord heeft, behalve de IR ontvanger dan ;)

[ Voor 29% gewijzigd door _ferry_ op 13-12-2025 20:28 ]


  • Raven
  • Registratie: November 2004
  • Niet online
_ferry_ schreef op zaterdag 13 december 2025 @ 20:07:
De Arduino code kun je doorgaans ook op een ESP32 draaien, en er zijn wel wat bordjes met een ESP+LAN+PoE te vinden denk ik zo,
https://www.olimex.com/Pr...-ISO/open-source-hardware :)

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker


  • vanaalten
  • Registratie: September 2002
  • Laatst online: 02-06 15:30
Dank voor het meedenken! En dat zijn wel leuke kleinere oplossingen. Binnenkort even wat meer in verdiepen en dan hopelijk rond oud&nieuw wat hobbyen. :)

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
vanaalten schreef op zaterdag 13 december 2025 @ 15:31:
OK, misschien ben ik hier helemaal verkeerd, maar je moet toch ergens beginnen:
Ik heb een klein hobbyproject in gedachten. Ben over het algemeen niet zo bezig met elektronica, programmeren en zo, maar wat ik graag zou willen:
  • Functie: IR-commando ontvangen van een Logitech Harmony remote en dan een Wake-on-Lan via ethernet het netwerk opsturen.
  • Het nog-te-maken device staat 24/7 aan, liefst dus low-power, zero-maintenance.
  • Moet een ethernet-aansluiting hebben (duh...) en, om adapter uit te sparen, Power-over-Ethernet gevoed zijn. Natuurlijk kan het functioneel ook prima draadloos werken, maar ik wil dingen bij voorkeur bedraad.
  • Op de een of andere manier dus een IR-ontvanger hebben.
Na wat google, rondzoeken enzo kwam ik uit op een Arduino Leonardo ETH2 met PoE. Ik ben wel gecharmeerd van Arduino als concept, heb ik een heeeeel ver verleden wel eens iets met Arduino gedaan dus dit leek mij wel een goede basis.

Echter: dit bord blijkt End-of-Life, dus zal lastig aan te komen zijn. Wat zijn dan mijn alternatieven?
Arduino Uno + Arduino Ethernet Shield 2 + Ag9000-S PoE module?

Of zijn er beter, desnoods niet-Arduino, keuzes te maken?
In stappen opdelen is waarschijnlijk het meest effectief, te beginnen bij de IR-detectie. In het verleden eens in verdiept en toevallig vandaag een stukje ervan weer opgepakt, zie Hfdst.7 pag. 81
https://www.digikey.nl/ht...understanding-signals.pdf
Getoond wordt hoe een Sony IR-signaal gedetecteerd en ontcijferd kan worden. Welk protocol jouw afstandbediening gebruikt weet ik niet maar dat kan dus verschillen per fabrikant.
https://www.sbprojects.net/knowledge/ir/sirc.php

Afbeeldingslocatie: https://tweakers.net/i/VvbosUd3dh5w_FP1yTfMp-ZH10U=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/cRHCR6KAWTnjjiEy6TumMtDA.jpg?f=user_large
.

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 02-06 15:30
kitao schreef op zondag 14 december 2025 @ 17:18:
[...]


In stappen opdelen is waarschijnlijk het meest effectief, te beginnen bij de IR-detectie. In het verleden eens in verdiept en toevallig vandaag een stukje ervan weer opgepakt, zie Hfdst.7 pag. 81
https://www.digikey.nl/ht...understanding-signals.pdf
Getoond wordt hoe een Sony IR-signaal gedetecteerd en ontcijferd kan worden. Welk protocol jouw afstandbediening gebruikt weet ik niet maar dat kan dus verschillen per fabrikant.
https://www.sbprojects.net/knowledge/ir/sirc.php

[Afbeelding]
.
Ik ging er eigenlijk van uit dat een willekeurig microprocessor bord (Arduino of wat dan ook) met een standaard IR-ontvanger-IC al goed genoeg gaat zijn, dus had mij daar nog niet zo in verdiept.
Het gaat om een Logitech Harmony, dus in principe kan die van alles sturen. Maar dit stukje van de puzzel gaat denk ik wel het meeste tijd kosten.

Dank voor de link naar informatie!

  • NewGuest
  • Registratie: Mei 2007
  • Laatst online: 23:25
Wellicht dat je van dit aardig oude project nog wat inspiratie kan op doen. https://www.picbasic.nl/rc5-rc6_transceiver.htm

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@vanaalten
Persoonlijk ben ik nog geen uC of board tegengekomen dat standaard is voorzien van een IR-optie, maar goed, ik wist ook nog niet dat er via de ethernetkabel spanning geleverd kon worden. Ik zag wel in de vorige links een bluetooth-optie en met een app op je telefoon heb je dan, afhankelijk van jouw toepassing en wensen, waarschijnlijk geen IR-afstandsbediening meer nodig. De webpagina hieronder heb ik een tijdje geleden nog gedaan, dat ging best goed en aan het eind ervan staan nog enkele doorverwijzingen.
https://arduinokitproject...uetooth-arduino-tutorial/

Inmiddels wat nazoek gedaan via de Copiloot en om PoE mogelijk te maken zou een speciale switch of injector nodig zijn? ESP tot nu toe nooit gebruikt maar mogelijke Arduino alternatieven zijn o.a.
https://wiki.dfrobot.com/...OE_Mainboard_SKU__DFR0342
https://www.seeedstudio.c...oard-with-PoE-p-4822.html
https://docs.arduino.cc/r...o-ethernet-rev3-with-poe/
https://github.com/SuperHouse/EtherUno

Inderdaad staat er retired bij de arduino-ethernet-rev3-with-poe maar die zullen waarschijnlijk via bijvoorbeeld een Ali nog steeds goed verkrijgbaar blijken te zijn. Hieronder de DFRobot optie.

Afbeeldingslocatie: https://tweakers.net/i/A7fqnFo5mvxUgWYjw0gMjLO3Plk=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/gFnB4npNu2JhMgONMSVytdpX.jpg?f=user_large
.

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 02-06 15:30
kitao schreef op maandag 15 december 2025 @ 07:49:
@vanaalten
Persoonlijk ben ik nog geen uC of board tegengekomen dat standaard is voorzien van een IR-optie, maar goed, ik wist ook nog niet dat er via de ethernetkabel spanning geleverd kon worden. Ik zag wel in de vorige links een bluetooth-optie en met een app op je telefoon heb je dan, afhankelijk van jouw toepassing en wensen, waarschijnlijk geen IR-afstandsbediening meer nodig. De webpagina hieronder heb ik een tijdje geleden nog gedaan, dat ging best goed en aan het eind ervan staan nog enkele doorverwijzingen.
https://arduinokitproject...uetooth-arduino-tutorial/
Ah, nee, zo modern ben ik niet. :)
Een IR-afstandbediening blijft nodig: TV en receiver zijn beiden nog uit de vorige eeuw en spreken geen moderne draadloze protocollen. Los daarvan lijkt een enkele afstandbediening die alle apparaten kan bedienen mij handiger dan een telefoon-app.

Oh, bedenk mij net dat ik de hele use-case van m'n project niet heb uitgelegd, want leek mij niet zo noodzakelijk:
Ik heb onlangs een mediaspeler-PC in elkaar gezet om een Intel NUC mediaspeler te vervangen. Echter: de NUC kan je via infrarood aanzetten, dus daadwerkelijk vanuit de uit-stand aan. De nieuwe mediaspeler kan dat helaas niet. Bios opties geprobeerd, maar nee: uit is uit en dan moet je met de aan-knop op het apparaat 'm aan zetten. En ik kan wel sleep-mode als alternatief gebruiken, maar dat vind ik een beun-oplossing en niet leuk. Dus idee is om een Arduino - of, nu waarschijnlijker, een ESP32 - te gebruiken die een specifiek IR-commando omzet naar een wake-on-lan via ethernet en op die manier de mediaspeler aan zet.
Inmiddels wat nazoek gedaan via de Copiloot en om PoE mogelijk te maken zou een speciale switch of injector nodig zijn?
Check: mijn Unifi switches hebben een aantal poorten met PoE, dus die gebruik ik al om een paar apparaten via ethernet te voeden.

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Andere optie er zijn IC's die je kunt inleren qua IR, en dat kan ook met een arduino.
Zie bijv. https://docs.arduino.cc/libraries/irremote/
Heb ze ooit gebruikt, en daarmee stuurde ik dan een uitgang van de mircrocontroller waarmee ik de powerknop verbond. Zo kon ik ook met de IR remote de PC aanzetten. Zonder LAN (voeden via de USB bijvoorbeeld) en een stuk minder hardware.

[ Voor 12% gewijzigd door _ferry_ op 15-12-2025 09:42 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
Voor ontvangen van IR signalen is het inderdaad het makkelijkste om een all in one te namen op de juiste frequentie, meestal 38kHz. Iets als een TL1838 of TSSP4038 ofzo. Dan rollen de bitjes er zo uit. En dan kan je gewoon een van de Arduino libraries gebruiken om er begrijpbare data van te maken.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Naar aanleiding van deze post: kitao in "De EL-kroeg - Deel 4"
en deze video: YouTube: Arduino UNO + 7-Segment LCD Display - Full Tutorial (How to use segm...

Voor wie interesse heeft in het aansturen van een Segmented Display.
De video verwijst naar een Github Ino sketch: https://github.com/upiir/arduino_7segment_lcd_display
De sketch is dus niet bedoeld voor een 7-segment display maar een Common Cathode 7-segment display op een breadboard kan er wel mee aangestuurd worden. De pin indeling voor een Uno is als volgt :
C#:
1
2
3
4
5
6
7
8
9
 pinMode(SEG_COM, OUTPUT); // set pin 2 as output
  pinMode(SEG_A, OUTPUT); // set pin 8 as output
  pinMode(SEG_B, OUTPUT); // set pin 9 as output  
  pinMode(SEG_C, OUTPUT); // set pin 5 as output  
  pinMode(SEG_D, OUTPUT); // set pin 4 as output  
  pinMode(SEG_E, OUTPUT); // set pin 3 as output  
  pinMode(SEG_F, OUTPUT); // set pin 7 as output  
  pinMode(SEG_G, OUTPUT); // set pin 10 as output  
  pinMode(SEG_DP, OUTPUT); // set pin 6 as output 

In het origineel kloppen de comments ernaast niet vandaar dat ik dit stukje code heb geplaatst. Voor de rest werkt de sketch prima en heb deze in Proteus met een Arduino Uno als microcontroller gesimuleerd. Alle Commons en alle Segments op 1 pinnetje gaat in het echt natuurlijk niet maar de simulatie accepteert het en het gehele display wordt zichtbaar:

Afbeeldingslocatie: https://tweakers.net/i/CApHBNbp9ILJsaxfA1c_rDOHpr4=/800x/filters:strip_icc():strip_exif()/f/image/gpFmSRZFgVNZlzQsTxCxH3Sx.jpg?f=fotoalbum_large

Omdat een segmented display aangestuurd wordt met een AC-signaal maakt het volgens mij eigenlijk niet uit of je een CC of CA 7-segment display met diezelfde sketch aanstuurt. Op breadboard heb ik alleen de CC getest maar in een Simulide simulatie heb ik ze allebei erin gezet:

Afbeeldingslocatie: https://tweakers.net/i/bn6vCA1GbjtqWCgZPVfI-FVW0X8=/800x/filters:strip_icc():strip_exif()/f/image/ql4IydQOcDoe9pyJlO63h20U.jpg?f=fotoalbum_large

https://simulide.com/p/ Pin 2 heeft een periode van 20 ms en bij de CA had eigenlijk ook een weerstandsblokje moeten zitten.

Deze video van dezelfde autheur simuleert een transparant display met Wokwi, zie minuut 09:45

YouTube: Thank You for 100K - Here is Your Gift!

Afbeeldingslocatie: https://tweakers.net/i/axG4yoXPwF0l1lpwYkg55SjrdMo=/800x/filters:strip_icc():strip_exif()/f/image/w47sf3ktG7ir3ShN6WUYS3Tl.jpg?f=fotoalbum_large

https://wokwi.com/
.

[ Voor 26% gewijzigd door kitao op 20-12-2025 12:13 . Reden: Plaatje toegevoegd ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@kitao Als je dat soort herhalende commentaar naast je code zet kan je beter geen commentaar gebruiken. Beste commentaar herhaal je jezelf niet in. Ofwel, geen variabele waardes etc noemen. Als je nu je variabele wijzigt wordt je alleen maar op het verkeerde been gezet door je commentaar.

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
@Septillion Ik gen een groot voorstander van uitgebreid commentaar ter plekke zolang dat de bedoeling van het statement blok weergeeft. Maar commentaar moet net zo goed worden bijgewerkt als de onderliggende code.

Aangenomen dat je verwijst naar het stukje segment<>pin vertaling zie ik niet iets herhalends of overbodig - als gezegd: mits onderhouden.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@DjoeC Ik ben ook groot voorstander van commentaar. Maar als een regel code super duidelijk is hoeft die geen commentaar. Zeggen wat een regel doet is geen commentaar, je wilt uitleggen wat je wilt bereiken. Dus bijvoorbeeld "Pinnen voor 7-segment configureren".

En waardes van een variabele herhalen in je commentaar is naar mijn idee een doodzonde. Dan zou je net zo goed geen variabele kunnen gebruiken als je die toch gaat lopen herhalen. Goed commentaar hoef je dus ook niet aan te passen als je doel hetzelfde blijft maar je implementatie verandert.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Septillion schreef op zondag 21 december 2025 @ 10:15:
@kitao Als je dat soort herhalende commentaar naast je code zet kan je beter geen commentaar gebruiken. Beste commentaar herhaal je jezelf niet in. Ofwel, geen variabele waardes etc noemen. Als je nu je variabele wijzigt wordt je alleen maar op het verkeerde been gezet door je commentaar.
Bedankt voor de tip, ik snap wat je bedoelt :)
Zelf codeer ik niets maar probeer het wel enigzins te kunnen lezen en na deze sketch in Atmel Studio met een debug te hebben doorlopen wist ik zeker dat de code comments niet klopten.
Het volgende is uit het origineel:
https://github.com/upiir/...segmented_lcd_display.ino
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define SEG_COM 2
#define SEG_A 8
#define SEG_B 9
#define SEG_C 5
#define SEG_D 4
#define SEG_E 3
#define SEG_F 7
#define SEG_G 10
#define SEG_DP 6
[...]
void setup() {
  
  // set all the needed Arduino pins as outputs (7 pins for 7-segment display, 1 pin for decimal point, 1 pin for common electrode)
  pinMode(SEG_COM, OUTPUT); // set pin 2 as output
  pinMode(SEG_A, OUTPUT); // set pin 3 as output
  pinMode(SEG_B, OUTPUT); // set pin 4 as output  
  pinMode(SEG_C, OUTPUT); // set pin 5 as output  
  pinMode(SEG_D, OUTPUT); // set pin 6 as output  
  pinMode(SEG_E, OUTPUT); // set pin 7 as output  
  pinMode(SEG_F, OUTPUT); // set pin 8 as output  
  pinMode(SEG_G, OUTPUT); // set pin 9 as output  
  pinMode(SEG_DP, OUTPUT); // set pin 10 as output              
}


Ik heb van het void setup blokje de comments aangepast mocht iemand van plan zijn dit projectje met een 7-segment led display te willen gaan uitvoeren zodat er geen pinnetjes geroosterd gaan worden bij iemand met minder ervaring ermee. In dat opzicht ben ik op het gebied van LCD-displays zelf een beginner dus moet daar ook mee oppassen wil ik zoiets gaan aansluiten. Momenteel heb ik geen los exemplaar dus vandaar dat ik het even met een 7-seg led op breadboard uittestte.

Ik heb inmiddels wel zo ongeveer begrepen dat zo'n LCD werkt als condensator component dus dan in principe zou mijn Proteus simulatie ook in het echt zo opgesteld kunnen worden?
Als ik een simulatie meting verricht gaat er nauwelijk stroom door de leiding heen. Of meet ik verkeerd?

Afbeeldingslocatie: https://tweakers.net/i/itiNWtqvyUvCBtdOM9NnBIuhaXI=/800x/filters:strip_icc():strip_exif()/f/image/yeteI8zmWB5yvSIjDj5ZAE2s.jpg?f=fotoalbum_large

Het is dezelfde simulatie als in de vorige post met enkel een AC amperemeter erin gevoegd.
De periode van IO2 is 20 ms en de simulatie draait op diezelfde Github code van autheur Upir.
.

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
Septillion schreef op zondag 21 december 2025 @ 10:32:
@DjoeC Ik ben ook groot voorstander van commentaar. Maar als een regel code super duidelijk is hoeft die geen commentaar. Zeggen wat een regel doet is geen commentaar, je wilt uitleggen wat je wilt bereiken. Dus bijvoorbeeld "Pinnen voor 7-segment configureren".

En waardes van een variabele herhalen in je commentaar is naar mijn idee een doodzonde. Dan zou je net zo goed geen variabele kunnen gebruiken als je die toch gaat lopen herhalen. Goed commentaar hoef je dus ook niet aan te passen als je doel hetzelfde blijft maar je implementatie verandert.
Je hebt gelijk. En ik zie in de .ino dat de pinnummers al in de #DEFINE gekoppeld zijn. Dan is het "risico" op miscommunicatie in een later stadium door niet aangepast commentaar een heel stuk groter.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
DjoeC schreef op zondag 21 december 2025 @ 10:26:
@Septillion Ik ben een groot voorstander van uitgebreid commentaar ter plekke zolang dat de bedoeling van het statement blok weergeeft. Maar commentaar moet net zo goed worden bijgewerkt als de onderliggende code.

Aangenomen dat je verwijst naar het stukje segment<>pin vertaling zie ik niet iets herhalends of overbodig - als gezegd: mits onderhouden.
Mits goed onderhouden is herhalend en goed gekozen commentaar erg nuttig, vooral voor gebruikers zoals ik die niet al te goed thuis zijn in het coderen. Maar zoals ik het begrepen heb is achteraf wijzigen van commentaar regels nogal een opgave als het IC's betreft met 80+ pinnen en vele honderden regels aan code in een programma. Op zich in deze besproken Ino-file hadden de comments beter meteen achter de Define's kunnen worden gezet want voor een niet-codeur is een regel zoals hieronder nogal vaag:

C++:
1
#define SEG_A 8


Want wat is pin 8?
Op een Atmega 328 is dat niet dezelfde pin als op een Uno. Pin 8 is namelijk Gnd :+
Met Pin 8 op de Uno zou dan overzichtelijker PortB0 kunnen worden genoemd ofzo met als voordeel dat het ook makkelijker naar bijvoorbeeld een Nano kan worden overgezet.

Afbeeldingslocatie: https://tweakers.net/i/nn9DfFuklAmFX1lNYI37mln-RLs=/800x/filters:strip_icc():strip_exif()/f/image/C4hM11QGxdFzJdw1SwMOXB76.jpg?f=fotoalbum_large

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
@kitao Ik snap je doel en de problemen. Hier is een stukje uit 1 van mijn .ino's waar - naar mijn idee - commentaar zowel nuttig is maar niet compleet onderhouden (850 vertraging ipv 900 uit het commentaar) Ik ben ook absoluut geen Arduino programmeur (wel in andere talen):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void readDS18B20()
{
                                        // Get somewhat accurate time from router. 
  setup_UDP();
  gettime_UDP();
                                        // Start temp calculations on all sensors
  sensors1.requestTemperatures();
  sensors2.requestTemperatures();
                                        // 1 second later all calculations should be complete
                                        // @ highest (12 bit) resolution.  11 bit takes max 0.375 sec.
                                        // But why rush.....
//  delay(1000)
                                        // Made 900 ms to keep 60 sec turnaround per reading
  delay(850);
                                        // For debugging purposes: Print # sensors per port which we 
                                        // identified earlier.
  Serial.print("sensNum1 : ");                    
  Serial.println(sensNum1, DEC);                  
  Serial.print("sensNum2 : ");                    
  Serial.println(sensNum2, DEC);                  
                                        // Go get all temps per port
  Serial.println("==>getTemp1<==");
  for (i = 0; i < sensNum1; i++)
    {
    getTemp1(sensTab [i]);
    processTemp();
    }
                                        // Careful:  When using more than 2 ports this needs to be changed
                                        // together with some other things....
  Serial.println("==>getTemp2<==");
  for (i = sensNum1; i < sensNumTot; i++)
    {
    getTemp2(sensTab [i]);
    processTemp();
    } 
  Serial.println("==>ReadyTemps<==");
}


Code kwaliteit zal best iets op aan te merken zijn maar dit werkt voor mij om tientallen DS18B20 temperatuur sensoren in 1 keer uit te lezen ;)

  • Accretion
  • Registratie: April 2014
  • Laatst online: 19:24

Accretion

⭐⭐⭐⭐⭐ (5/5)

DjoeC schreef op zondag 21 december 2025 @ 23:19:
code:
1
2
3
4
5
void readDS18B20()
{
                                        // Get somewhat accurate time from router. 
  setup_UDP();
  gettime_UDP();
"Get somewhat accurate time from router."
"gettime_UDP"

Dat soort commentaar heb ik een hekel aan.
Dat de 'getTime_UDP' tijd ophaalt via UDP heb ik niets aan.
Ik vraag mij af waarom je op dat punt tijd ophaalt, zeker gezien het niet naar een variabele geschreven wordt én daar verder niets mee gedaan wordt in dezelfde functie?

En daarnaast, wat is het verschil tussen getTemp1 en getTemp2?

Ik heb liever een block comment boven de functie die uitlegt wat de functie doet dan per regel.
Dat werkt ook beter met programma's die documentatie genereren.

Commentaar kan ook beter boven de regel staan dan ernaast, is makkelijker als je twee IDE windows naast elkaar hebt staan. Zo allemaal op een lijn proberen te krijgen is alleen maar onhandig als je een lijn toevoegt die weer langer is en je alles weer moet uitlijnen.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
DjoeC schreef op zondag 21 december 2025 @ 23:19:
@kitao Ik snap je doel en de problemen. Hier is een stukje uit 1 van mijn .ino's waar - naar mijn idee - commentaar zowel nuttig is maar niet compleet onderhouden (850 vertraging ipv 900 uit het commentaar) Ik ben ook absoluut geen Arduino programmeur (wel in andere talen):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void readDS18B20()
{
                                        // Get somewhat accurate time from router. 
  setup_UDP();
  gettime_UDP();
                                        // Start temp calculations on all sensors
  sensors1.requestTemperatures();
  sensors2.requestTemperatures();
                                        // 1 second later all calculations should be complete
                                        // @ highest (12 bit) resolution.  11 bit takes max 0.375 sec.
                                        // But why rush.....
//  delay(1000)
                                        // Made 900 ms to keep 60 sec turnaround per reading
  delay(850);
                                        // For debugging purposes: Print # sensors per port which we 
                                        // identified earlier.
  Serial.print("sensNum1 : ");                    
  Serial.println(sensNum1, DEC);                  
  Serial.print("sensNum2 : ");                    
  Serial.println(sensNum2, DEC);                  
                                        // Go get all temps per port
  Serial.println("==>getTemp1<==");
  for (i = 0; i < sensNum1; i++)
    {
    getTemp1(sensTab [i]);
    processTemp();
    }
                                        // Careful:  When using more than 2 ports this needs to be changed
                                        // together with some other things....
  Serial.println("==>getTemp2<==");
  for (i = sensNum1; i < sensNumTot; i++)
    {
    getTemp2(sensTab [i]);
    processTemp();
    } 
  Serial.println("==>ReadyTemps<==");
}


Code kwaliteit zal best iets op aan te merken zijn maar dit werkt voor mij om tientallen DS18B20 temperatuur sensoren in 1 keer uit te lezen ;)
Dank je voor de toelichting en gezien het toch pittige commentaar van Accretion hierop ;) zijn er denk ik een aantal voorwaarden te bedenken bij de keuze van stijl van de commentaar regels. Zoals: Is het commentaar voor iemand zelf die later de eigen code weer opduikelt of is het voor derden, al dan niet geoefend of beginnend? En sommige IDE's, zoals MPLab hebben een automatische tekstregel wrap optie, dwz dat er geen horizontale scrollbar nodig is en de code regels niet uit beeld verdwijnen en het zich aanpast aan de window breedte.

De Github pagina waar ik naar verwees
https://github.com/upiir/arduino_7segment_lcd_display
is voor de beginnende derden categorie dus het onjuist pin nummeren in zijn commentaar regels was nogal slordig van autheur Upir, die overigens wel een recent en zeer rijk Youtube Arduino Uno Display kanaal heeft:
https://www.youtube.com/@upir_upir/videos

Ik heb zelf wel eens geprobeerd te programmeren met o.a. Basic, PBasic, Assembly, C, C++ en Arduino Ide* maar ik ben ermee gestopt vanwege gebrek aan aanleg ervoor en liep vast naarmate het moeilijker werd (story of my life) :/
* Arduino uses C++ — but with a custom framework and build system on top.

Tegenwoordig ben ik ook een beetje bezig met Cpld's en Fpga's en dan worden er weer andere programmeertalen gebruikt zoals Verilog en Vhdl dus het wordt sowieso toch al teveel om dat te gaan leren en blijft het bij copy/pasten en af en toe wat aanpassen van een paar regeltjes.

Overigens ging mijn vraagje niet zozeer over het coderen maar over het aansturen van een segmented LC-display zoals opnieuw afgebeeld in dit plaatje:

Afbeeldingslocatie: https://tweakers.net/i/Ru8_-gvMV1sTcyAdVkC10spSEVc=/800x/filters:strip_icc():strip_exif()/f/image/q1ELIOUzRAyDdYPCef44cTRU.jpg?f=fotoalbum_large
klik

Alle 36 display pinnen zitten op 1 Uno pin, namelijk pin 2 oftwel PortD2 waarmee het gehele display in de simulatie zichtbaar wordt. Ik heb in diezelfde simulatie een AC amperemeter direkt na pin2 er tussen geplaatst, zie vorige post en die slaat nauwelijks uit dus nu vraag ik me af of deze opstelling ook in het echt zo zou werken?
Verstandig lijkt me dan wel om per keer 1 dipswitchje te activeren om eventueel een verhoogde aanloopstroom te voorkomen indien alle dipswitches geactiveerd zijn terwijl er spanning op wordt gezet. Kortom > opstarten met alle schakelaars op OFF.
Ik heb zo'n type LCD'tje besteld

Afbeeldingslocatie: https://tweakers.net/i/f23CtL6Rz-Zc9SPH8OI7X0DohcE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/tFE3UDFjgT4qwDUqYmcAVLbU.jpg?f=user_large
40PIN TN Positive 4-Digits Segment LCD Panel White/Blue/Yellow Green Backlight Static Drive 5V Industrial Digital Display Screen

en dan probeer ik het met een stand alone Atmega328P chip die ik nog op breadboard heb staan met een amperemeter er tussen.
.

[ Voor 4% gewijzigd door kitao op 23-12-2025 04:08 . Reden: Plaatje toegevoegd ]


  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
Accretion schreef op maandag 22 december 2025 @ 07:14:
[...]


"Get somewhat accurate time from router."
"gettime_UDP"

Dat soort commentaar heb ik een hekel aan.
Dat de 'getTime_UDP' tijd ophaalt via UDP heb ik niets aan.
Ik vraag mij af waarom je op dat punt tijd ophaalt, zeker gezien het niet naar een variabele geschreven wordt én daar verder niets mee gedaan wordt in dezelfde functie?

En daarnaast, wat is het verschil tussen getTemp1 en getTemp2?

Ik heb liever een block comment boven de functie die uitlegt wat de functie doet dan per regel.
Dat werkt ook beter met programma's die documentatie genereren.

Commentaar kan ook beter boven de regel staan dan ernaast, is makkelijker als je twee IDE windows naast elkaar hebt staan. Zo allemaal op een lijn proberen te krijgen is alleen maar onhandig als je een lijn toevoegt die weer langer is en je alles weer moet uitlijnen.
Ik gebruik vooral Global variabelen want dat werkt het beste voor mij. Dat je in de clip geen gebruik ziet zegt verder niets (nee, ik ga niet de hele .ino delen). Waarom daar? Ik haal die timestamp 1x op om in elke temperatuur observatie (loopje wat je niet ziet) aan de meting toe te voegen.

getTemp1 & getTemp2 zijn 2 instanties van een one-wire netwerk op 2 verschillende pin's, eerder in de sketch gedocumenteerd. De functie als zodanig stuurt 1 commando naar het one-wire netwerk en zegt: Alle DS18B20 op dit netwerk luister: "Bepaal de temperatuur op dit moment". Die wordt in een loopje na de delay (850ms) per sensor uitgelezen. Voordeel: ipv elke sensor individueel laten rekenen met 1 sensor per 375ms bij 11 bits volgens commentaar elders in de INO:
code:
1
2
3
4
                                        // Accuracy:  9 bit = 0.5    C, calc time =  93.75 ms  
                                        //           10 bit = 0.25   C,           = 187.5  ms
                                        //           11 bit = 0.125  C,           = 375    ms
                                        //           12 bit = 0.0625 C,           = 750    ms

wordt er nu in totaal 375ms gerekend. Dat scheelt bij de (maximaal) 60 sensoren in deze opzet 59*375ms. En dat maakt dat de ESP langer in deep-sleep gaat tussen metingen.

Enneh, programma's die zelf documentatie genereren houd ik dan weer niet van.... "In principe" dienen programma code zelf documenterend te zijn, als dat niet is heb je zut gemaakt. In mijn geval was dit mijn eerste Arduino poging na wat met examples (en dus ook met C (?) gekloot te hebben en had ik dus behoefte aan een beschrijving voor mijzelf:

code:
1
2
3
4
5
6
7
8
9
10
11
/*    WeMos D1 mini V2 with multiple sensors
      Version 2016-08-06
      Control via MQTT, debug Serial
      
      Hookup guide:
        - connect D0 to RST in order to wake op from deep sleep
        - DS18B20:
          + connect 5V (3.3V does not work properly with many sensors) to VDD pin of DS18B20 
          + connect G(round) to GND pin of DS18B20
          + Connect DS18B20 DQ data pin to D4, D5, ...
*/

Kan het beter? Natuurlijk! Is mijn manier DE manier? Natuurlijk niet. Maar deze methode - zeker met mijn vorm van programmeren en als je door de hele .ino heen loopt werkt voor mij. Het is (wordt) geen open-source, het draait inmiddels 9 jaar met in die 9 jaar minimaal onderhoud en heeft inmiddels zo'n 250.000.000 metingen geleverd aan de tegenhanger, een Python programma op een Raspberry dat mbv Grafana (toen ook allemaal nieuw voor mij) de boel verder verwerkte naar database, acties, alerts.

OK, beetje afgedwaald want het ging om wat zinvol commentaar is of niet. Meningen daarover verschillen dus en dat mag. We zijn het er over eens dat commentaar niet letterlijke beschrijving moet zijn van het statement en zeker niet in herhalingen hoort te vallen. Commentaar moet bijdragen aan het begrip van wat waarom moet gebeuren en commentaar moet onderhouden worden. Voor mij blijft meespelen dat de code eigenlijk door de keuze van variabele namen (kort of lang) en de bijbehorende documentatie alsook de structuur van het proggie begrijpelijk wordt. Nogmaals, er is niet 1 correcte methode.

En om je een idee te geven hoe dat werkt, ik ben opgeleid met VSP, Volmac Structured Programming. De commentaren hieronder, waar over VSP gemijmerd wordt, geven iets meer insight en zegt vast ook iets over mijn leeftijd ;)

  • vanaalten
  • Registratie: September 2002
  • Laatst online: 02-06 15:30
vanaalten schreef op zaterdag 13 december 2025 @ 15:31:
OK, misschien ben ik hier helemaal verkeerd, maar je moet toch ergens beginnen:
Ik heb een klein hobbyproject in gedachten. Ben over het algemeen niet zo bezig met elektronica, programmeren en zo, maar wat ik graag zou willen:
  • Functie: IR-commando ontvangen van een Logitech Harmony remote en dan een Wake-on-Lan via ethernet het netwerk opsturen.
  • Het nog-te-maken device staat 24/7 aan, liefst dus low-power, zero-maintenance.
  • Moet een ethernet-aansluiting hebben (duh...) en, om adapter uit te sparen, Power-over-Ethernet gevoed zijn. Natuurlijk kan het functioneel ook prima draadloos werken, maar ik wil dingen bij voorkeur bedraad.
  • Op de een of andere manier dus een IR-ontvanger hebben.
Na wat google, rondzoeken enzo kwam ik uit op een Arduino Leonardo ETH2 met PoE. Ik ben wel gecharmeerd van Arduino als concept, heb ik een heeeeel ver verleden wel eens iets met Arduino gedaan dus dit leek mij wel een goede basis.

Echter: dit bord blijkt End-of-Life, dus zal lastig aan te komen zijn. Wat zijn dan mijn alternatieven?
Arduino Uno + Arduino Ethernet Shield 2 + Ag9000-S PoE module?

Of zijn er beter, desnoods niet-Arduino, keuzes te maken?
Even afronding:
De tip van @_ferry_ was een hele bruikbare, ik heb uiteindelijk een Olimex ESP32-POE2 aangeschaft - met als doorslaggevend argument dat de fabrikant ook een mooie passende behuizing (BOX-ESP32-POE2) verkoopt. Inclusief verzending was ik zo'n 55 euro kwijt.
Een bruikbare infraroodontvanger had ik nog liggen (Vishay TSOP32238), evenals wat flatcable en een connector voor de UEXT poort. Dus simpelweg die TSOP32238 aan pinnen 1, 2 en 3 van de UEXT connector verbinden en de hardware was klaar.

Software: dat was wat puzzelen. Infrarood ontvangen kon met IRremote library die best goed gedocumenteerd was. Maar voor mij was het dan puzzelen als beginner of die (*Arduino*-IRremote) bruikbaar was voor ESP32, twijfels over of de pinnummer het GPIO nummer of fysieke IC pinnummer moest zijn. Als je dan ook de serial debugger baudrate op 115200 hebt gezet, maar aan de ontvanger kant nog op 9600 staat, dan verloopt het debuggen wat moeizaam. :)

Anyway, de afstandbediening die ik gebruik (voor een FLIRC receiver) wordt niet direct als protocol herkent, maar met 'raw code' kan je 'm toch bruikbaar ontvangen. Dus dat gedeelte was goed oplosbaar.

Ethernet was ook wat puzzelen. Het verbinden en IP-adres krijgen stelde weinig voor, met dank aan de goede voorbeelden van de fabrikant. Hoe een UDP pakketje voor WOL te verzenden was vooral trial&error. De AsyncUDP library bleek uiteindelijk bruikbaar, maar qua documentatie vond ik het wat karig (moet je nou connecten voor je wat kan sturen? En moet je vervolgens writeTo, sendTo of broadcastTo gebruiken?). Met behulp van tcpdump/wireshark pakketjes monitoren en vergelijken met een 'echt' wake-on-lan commando hielp mij hier wel bij.

Ofwel, uiteindelijke code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#ifndef ETH_PHY_TYPE
#define ETH_PHY_TYPE   ETH_PHY_LAN8720
#define ETH_PHY_ADDR   0
#define ETH_PHY_MDC   23
#define ETH_PHY_MDIO  18
#define ETH_PHY_POWER 12
#define ETH_CLK_MODE  ETH_CLOCK_GPIO0_OUT
#endif

#include <ETH.h>
#include <AsyncUDP.h>
#include "PinDefinitionsAndMore.h"
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 4  // GPIO4

#define WOL_PORT 9
#define WOL_MAC 0xA0AD9F162A1F

static bool eth_connected = false;
unsigned char MagicPacket[102];
AsyncUDP udp;

void onEvent(arduino_event_id_t event) {
  switch (event) {
    case ARDUINO_EVENT_ETH_START:
      Serial.println("ETH Started");
      // The hostname must be set after the interface is started, but needs
      // to be set before DHCP, so set it from the event handler thread.
      ETH.setHostname("esp32-ethernet");
      break;
    case ARDUINO_EVENT_ETH_CONNECTED:
      Serial.println("ETH Connected");
      break;
    case ARDUINO_EVENT_ETH_GOT_IP:
      Serial.println("ETH Got IP");
      Serial.println(ETH);
      eth_connected = true;
      break;
    case ARDUINO_EVENT_ETH_LOST_IP:
      Serial.println("ETH Lost IP");
      eth_connected = false;
      break;
    case ARDUINO_EVENT_ETH_DISCONNECTED:
      Serial.println("ETH Disconnected");
      eth_connected = false;
      break;
    case ARDUINO_EVENT_ETH_STOP:
      Serial.println("ETH Stopped");
      eth_connected = false;
      break;
    default: break;
  }
}

void setup() {
  // Set-up serial debugger:
  Serial.begin(115200);

  // Set-up IR receiver:
  IrReceiver.begin(IR_RECEIVE_PIN);
  Serial.print(F("Ready to receive IR signals of protocols: "));
  printActiveIRProtocols(&Serial);
  Serial.println(F("at pin " STR(IR_RECEIVE_PIN)));

  // Set-up ethernet:
  Network.onEvent(onEvent);
  ETH.begin();

  // Build magic packet: 6 x 255, 16 x MAC address to wake:
  for (int i=0; i<6; i++)
    MagicPacket[i] = 255;
  for (int i=0; i<16; i++)
    for (int j=0; j<6; j++)
      MagicPacket[6 + j + (6*i)] = char((WOL_MAC>>(40-(8*j)))&255);

  Serial.print("Magic packet: ");
  for (int i=0; i<sizeof(MagicPacket); i++) Serial.print(MagicPacket[i], HEX);
  Serial.println();
}

void loop() {
  if (IrReceiver.decode()) {
    auto tDecodedRawData = IrReceiver.decodedIRData.decodedRawData; // uint32_t on 8 and 16 bit CPUs and uint64_t on 32 and 64 bit CPUs
    if (IrReceiver.decodedIRData.flags & IRDATA_FLAGS_IS_REPEAT) {
      Serial.println(F("Repeat received."));
    } else {
      Serial.print(F("Raw data received: 0x"));
      Serial.println(tDecodedRawData, HEX);
    }
    if (tDecodedRawData == 0x89D547CF) {
      Serial.println("Waking up remote machine");
      udp.writeTo(MagicPacket, sizeof(MagicPacket), ETH.broadcastIP(), WOL_PORT);
    }
    IrReceiver.resume();
  }
}
(en ja, er zal vast genoeg aan te verbeteren zijn - maar vooralsnog voldoet dit voor mij)

Dank nogmaals aan iedereen die mee dacht en mij deze richting op stuurde!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@vanaalten
Mooi dat je het in werking hebt gekregen, is geen makkelijk project als je aan zoiets van de grond af aan begint. (y)
Met name dit hieronder, uit jouw link, gaat in het begin meestal wel goed bij mij:

Important notice: ESP32-POE2 has no galvanic isolation from Ethernet's power supply, this might be a problem for ground loops. This also means that when you program the board via the USB connector the Ethernet cable should be disconnected (if you have power over the Ethernet enabled)! Any board with own external power supply attached to ESP32-POE2 can be dangerous. Consider using Olimex USB-ISO to protect your computer and board from accidental short circuit (do not use external power for the USB-ISO!).

maar na een tijdje ben ik dat dan weer vergeten en flash ik zo de Usb van de laptop aan gort :|

Met wat rode tape probeer ik gekluns schade te voorkomen:

Afbeeldingslocatie: https://tweakers.net/i/3mn-whnKpj3BspT-pXUv3gcutE8=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/ic4R6dsv7WxNmJ8Axa7MDiwW.jpg?f=user_large
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Gisteren een Uno Q 2GB uit het doosje gehaald

Afbeeldingslocatie: https://tweakers.net/i/vEc9LJlwVvgrI4AvAcaXMd7PjgM=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/9qsiCY8ofHKWgUsNJrt5psxI.jpg?f=user_large
https://www.arduino.cc/en/uno-q/
datablad 37 pagina's: https://docs.arduino.cc/r...ts/ABX00162-datasheet.pdf

en niet om reclame te maken maar misschien van belang is dat die niet via Arduino maar via Digikey besteld is.
https://www.digikey.nl/en...arduino/ABX00162/27526619
Scheelt in kosten want het board is goedkoper en met gratis verzending boven de $60,- maar mogelijk dat het te lang op de plank heeft gelegen en de pre-installatie software of het image verouderd was?

Om de Q te kunnen gebruiken is er Arduino App Lab nodig en de 'normale' Arduino IDE.
https://docs.arduino.cc/software/app-lab/
Dus eenmaal App Lab geopend en board aangesloten verscheen de melding :
"Het systeem van het board is verouderd en adviseerde me om "Flasher Tool te installeren."
Op dat punt bleef App Lab steken dus er was geen andere keus als de Flasher Tool te installeren en daarmee een nieuw image op de MPU te flashen, volgens deze instructie:
https://docs.arduino.cc/tutorials/uno-q/update-image/
Vervolgens brak er een ca. 10 uur durende marathon aan met een CoPiloot die uiteindelijk tot de conclusie kwam dat er geen online Arduino Q OS beschikbaar is :F en heeft na die 10 uur een ticket gefabriceerd om te sturen naar klantenservice, waarvan hieronder een gedeelte daarvan, auto-vertaald vanuit Engels:

Toen ik voor het eerst de gloednieuwe UNO Q met Arduino App Lab verbond, meldde de software onmiddellijk dat het systeem van de board verouderd was en adviseerde me om "Flasher Tool te halen." Ik volgde deze prompt precies zoals aangegeven. Ik downloadde de Arduino Flasher CLI van de officiële Arduino-softwarepagina en gebruikte het zoals voorgeschreven.

Het flashen is succesvol voltooid, maar het hulpmiddel installeerde een Debian 13 (trixie) basisimage in plaats van het volledige Arduino UNO Q-besturingssysteem. Na het flashen start de board normaal op, maar de volgende problemen doen zich voor:
Het systeem meldt:
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
Het qboard-subsysteem ontbreekt:
dpkg -l | grep qboard geeft geen resultaten
De qboard-pakketten zijn niet beschikbaar in de repository:
apt search qboard geeft niets terug.
Het Arduino OS-meta‑pakket (arduino-unoq-os) kan niet worden geïnstalleerd
De LED-matrix en App Lab-integratie werken niet omdat de benodigde services niet aanwezig zijn
Na het bekijken van de documentatie van de tool ontdekte ik dat de Arduino Flasher CLI Debian-images flasht, niet het volledige Arduino UNO Q OS. Dit verklaart waarom het bord op een basisniveau van Linux functioneel werd, maar alle UNO Q-specifieke services zoals qboard en matrixsupport verloor.
etc.
*****************************************************

Board werkt wel met de standaard voorbeelden. Voor mij is het vrij nieuw zo'n combinatie tussen Mcu en Mpu maar mogelijk herkent iemand dit beter met mogelijk een tip hierover.

Afbeeldingslocatie: https://tweakers.net/i/GEhVjGJYNbDrgKJg4fVDTCjrVlY=/800x/filters:strip_icc():strip_exif()/f/image/KzNpQ0v15ZPIk47mwuL2RLCk.jpg?f=fotoalbum_large

Arduino App Lab is designed specifically for the Arduino UNO Q board, which combines a microcontroller (MCU) and a microprocessor (MPU) running Linux. It allows you to build Apps that can include both C++ sketches for the MCU and Python scripts for the MPU, connected via the Bridge API. It also integrates Bricks — prebuilt modules such as AI models, web servers, or API connectors — that run in parallel with your Apps, often as Docker containers. App Lab supports multiple modes:
Desktop Mode (USB) for direct programming from PC.
Network Mode (Wi-Fi) for wireless development.
SBC Mode to use the UNO Q as a standalone computer.
.

[ Voor 10% gewijzigd door kitao op 25-01-2026 13:37 . Reden: link toegevoegd ]


  • Accretion
  • Registratie: April 2014
  • Laatst online: 19:24

Accretion

⭐⭐⭐⭐⭐ (5/5)

kitao schreef op zondag 25 januari 2026 @ 12:50:
Gisteren een Uno Q 2GB uit het doosje gehaald
Klinkt als niet de beste 'out of box experience'.

Wel goed dat ze naar STM gewisseld zijn, USB-C gebruiken en interessant dat ze een on-board QWIIC connector hebben.

"App lab" had ik ook nog niet gezien, die drag&drop mogelijkheid ziet er leuk uit om ook jeugd geïnteresseerd te krijgen in embedded spul.

De combinatie van MPU en MCU is interessant, maar vaak heb je maar een van beide nodig, dus denk niet dat ik snel een Q ga bestellen.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Accretion
Klinkt als niet de beste 'out of box experience'.
Nee niet echt maar het Q-board is momenteel voor een groot deel functioneel en zonder de specifieke testjes van de Copiloot had ik waarschijnlijk nog niet eens gemerkt dat de brug tussen MPU en MCU ontbreekt want de uitgeprobeerde standaard voorbeelden doen het tot dusver.
Hier een aantal links voor de geinteresseerde:
- https://docs.arduino.cc/tutorials/uno-q/user-manual/
- https://docs.arduino.cc/tutorials/uno-q/debian-guide/
De tweede link is een sub van de eerste.
- https://docs.arduino.cc/r.../ABX00162-full-pinout.pdf

Dit is een korte analyse van de Copiloot van het Brug probleem:

🟩 1. The MCU side is fully intact
You can upload sketches.
You can use Arduino Core.
You can control GPIO, matrix, LEDs, etc.
This part is fine.
🟧 2. The Linux side can run Python and Debian normally
You can use it as a small Linux computer.
🟥 3. The Bridge cannot be restored without the official Arduino OS image
Because:
qboard is missing
App Lab runtime is missing
arduino-router service is missing
systemd units are missing
GPIO initialization scripts are missing
MCU handshake logic is missing
Python integration is missing
The only way to restore the Bridge is to reflash the official Arduino OS image :|

Dat moet dan via klantenservice komen want die staat niet online volgens de AI.
en :
qboard is the Linux-side software stack that makes the UNO Q behave like an Arduino. It includes the matrix driver, App Lab runtime, RPC layer, and MCU communication services. Your board has Debian and the MCU firmware, but qboard is missing.

Dus tja, afwachten wat klantenservice naar me gaat mailen, ik heb al een auto-mail gekregen maar dat leverde geen oplossing. Toch kan ik er nu al wat mee stoeien en dit bevalt me ook wel:
You can use it as a small Linux computer.
Ik heb wel eens een Linux partitie op mijn PC gehad maar door wat geklungel ging de lap op slot en zit dat nog steeds dus dat was best een prijzig experimentje, zeker vergeleken met dit boardje.

Hier het Brug Mechanisme:
https://docs.arduino.cc/t...rocedure-call-rpc-library

Afbeeldingslocatie: https://tweakers.net/i/iAjWp4QLPGmp3cUdYtzordYjJPY=/800x/filters:strip_exif()/f/image/kf8CM8CjlnyXWNraCJHU0Nme.png?f=fotoalbum_large
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Nog even kort samengevat:
Q-board vanuit de doos aangesloten met Arduino App Lab geopend waarna dit verscheen:
"Het systeem van het board is verouderd, installeer "Flasher Tool".
Op dat punt bleef App Lab steken dus er was geen andere keus als de Flasher Tool te installeren en daarmee een nieuw image op de MPU te flashen, volgens deze instructie:
https://docs.arduino.cc/tutorials/uno-q/update-image/
en deze:
How to Reflash the Operating System to Your Arduino UNO Q
https://www.digikey.com/e...f9341633f1522f5a792eb622c

Dat flasht dan een nieuwe Debian erin maar dat is blijkbaar niet het Arduino OS image.

Na bezig te zijn geweest met Secure Shell SSH, het gaat stapje voor stapje allemaal, is er een error verdwenen.
Dit command /$ systemctl status ssh en met het Q-board in Netwerk modus had als resultaat dat de Router tussen MPU en MCU goed herkend wordt en blijft.

Maar volgens de Cop assistent is dit de huidige situatie:

Afbeeldingslocatie: https://tweakers.net/i/3iXb0HiYO-YDppib1SBx5Ny11AY=/800x/filters:strip_icc():strip_exif()/f/image/aoZGHPQcYWl1nYMuFnNLFrsy.jpg?f=fotoalbum_large

This is exactly what happens when the board is flashed with a Debian-only image instead of the full Arduino OS image. :N

Kern van het probleem is dus waar een Full Arduino OS image voor het Q-board 2GB te vinden en te installeren valt. Ondertussen wachtend op Klantenservice is het board goed te gebruiken want er zit een OS op maar blijkbaar niet (meer) het OS waarmee het geleverd werd of dat erin had moeten zitten.
.

[ Voor 6% gewijzigd door kitao op 27-01-2026 06:43 . Reden: link toegevoegd ]


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Update:
Netjes en snel persoonlijk antwoord gekregen per email van Arduino klantenservice. Dit heeft, volgend op de eerdere aanwijzingen van de Copiloot, de laatste plooitjes glad gestreken en het Q-board is nu zoals het hoort te zijn. Er blijkt bijvoorbeeld dat na een 'power-cycle' of een sudo reboot de MCU sketch niet 'auto-runt' zolang daar geen apart knopje voor wordt omgezet, zie afbeelding rechtsboven en link daaronder.

Afbeeldingslocatie: https://tweakers.net/i/yhU9Tp9w-BHPoMrsjZiypqJW-w8=/800x/filters:strip_icc():strip_exif()/f/image/B35SlE2Kxdz5vuYFAbsCKGfH.jpg?f=fotoalbum_large

https://docs.arduino.cc/t...running-an-app-at-startup

De foto hieronder van het Q-board is van een matrix voorbeeld die er nu op draait volgens deze link:
https://docs.arduino.cc/t...q/user-manual/#led-matrix

Afbeeldingslocatie: https://tweakers.net/i/HeKQ7m9mQnR8wqaGd1-Le1TgAbk=/800x/filters:strip_icc():strip_exif()/f/image/dSnsClbMDnb1qXKDk7HAQMM3.jpg?f=fotoalbum_large

Om terminal commands te geven en om de Linux files te bekijken op de MPU heb ik Visual Studio Code geinstalleerd maar er zijn daar meerdere opties voor om dat te kunnen doen.

Afbeeldingslocatie: https://tweakers.net/i/JwG0FoW8Ry1zjO3nc7Nxo19LkH8=/800x/filters:strip_icc():strip_exif()/f/image/mpStzRvwJZs8NQKfVaD0gHyE.jpg?f=fotoalbum_large

Ik heb dus geen spijt van de aankoop en eigenlijk heeft het verouderde OS waarvan het image vervangen moest worden er indirect toe geleid om het board beter te leren kennen.
https://docs.arduino.cc/tutorials/uno-q/update-image/

Of iedere klant daar blij mee zal zijn is de vraag :/
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Handig, als je van de level shifters of van de weerstandsdelers af wil, de Due heeft standaard 3.3V op z'n I/O's dus met het gemak van de Arduino Ide bijvoorbeeld rechtstreeks met een Cpld te verbinden.
Vandaag uitgepakt, eerste wat opviel zijn de dubbel uitgevoerde Usb-aansluitingen. Volgens co-piloot :
1. “Programming ATmega16U2” (micro‑USB)
This is the programming port.
It works exactly like the classic Arduino Uno/Mega programming interface.
The ATmega16U2 acts as a USB‑to‑serial converter.
This is the recommended port for uploading sketches, especially on first use.
It also powers the board safely.
2. “Native USB SAM3X” (micro‑USB)
This is the native USB port, wired directly to the SAM3X8E ARM chip.
Useful for:
USB HID (keyboard/mouse)
USB MIDI
High‑speed serial
Custom USB device classes
You can upload through it, but if your sketch crashes the USB stack, the port may stop responding until you reset the board.

Boardje omdraaien en dan valt er tekst te lezen welke connector wat is. Dichtst bij de Jack is de “Programming ATmega16U2”.

Afbeeldingslocatie: https://tweakers.net/i/WsE5yIFXgTkmBy2N4_99tKyg_gA=/800x/filters:strip_icc():strip_exif()/f/image/iWmkET7z2wCNSc4Zyx9MvQkB.jpg?f=fotoalbum_large

https://www.theengineerin...ction-to-arduino-due.html
The Arduino Due is the first Arduino board based on a 32-bit ARM core microcontroller. With 54 digital input/output pins, 12 analog inputs, 2 DAC and 2 CAN it is the perfect board for powerful larger scale Arduino projects.
https://docs.arduino.cc/hardware/due/#tech-specs
.

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
Een vraag, niet specifiek ESPhome maar ik kan eigenlijk geen "juist" topic vinden maar hier weet vast iemand het antwoord.

Na heel veel jaren moet ik mijn oude ESP8266 code opnieuw compileren. Dat betekent nieuwe Arduino IDE gebruiken (v2.3.8) boardmanager(s) en alle libraries in nieuwe, onbekende versies opnieuw installeren. Nu loop ik vast op de esp8266 library in de gigantische keuze lijst. Dat was in de "oude" compiler ESP8266 by the ESP8266 community maar ik kan niets vinden dat daar op lijkt. En dan maar hopen dat alles compatibel is.

Weet iemand de huidige naam van de oude ESP8266 library met daarin o.a. ESP8266WiFi.h en WiFiUdp.h?

Schopje naar het Arduino topic

[ Voor 3% gewijzigd door Septillion op 12-03-2026 14:03 ]


  • ocmer
  • Registratie: Juni 2001
  • Laatst online: 22:51
DjoeC schreef op donderdag 12 maart 2026 @ 13:58:
Een vraag, niet specifiek ESPhome maar ik kan eigenlijk geen "juist" topic vinden maar hier weet vast iemand het antwoord.

Na heel veel jaren moet ik mijn oude ESP8266 code opnieuw compileren. Dat betekent nieuwe Arduino IDE gebruiken (v2.3.8) boardmanager(s) en alle libraries in nieuwe, onbekende versies opnieuw installeren. Nu loop ik vast op de esp8266 library in de gigantische keuze lijst. Dat was in de "oude" compiler ESP8266 by the ESP8266 community maar ik kan niets vinden dat daar op lijkt. En dan maar hopen dat alles compatibel is.

Weet iemand de huidige naam van de oude ESP8266 library met daarin o.a. ESP8266WiFi.h en WiFiUdp.h?

[mbr]Schopje naar het Arduino topic[/]
Ik heb een vergelijkbare situatie gehad; probeerde code van een 4 jaar oud project opnieuw te compileren waarbij de libraries inmiddels niet meer compatibel met elkaar waren. Het is me, met veel frustraties, niet gelukt.
Uiteindelijk heb ik de ESP8266 vervangen door een ESP32, een paar libraries vervangen, en compileerde alles in 1 keer en heb ik een veel toekomstvastere situatie.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@DjoeC Volgens mij is de ESP8266 boards package (niet library) nooit opgenomen in de standaard boards en altijd een additional gebleven. Dus gewoon, net als toen, zelf toevoegen.

Zelf al een tijd niet meer de Arduino IDE gebruikt (ook nooit naar de v2 gewisseld) dus hoe dan de library compatibiliteit is zal sterk afhangen van wat je gebruikt. Maar kijkende naar wat ESPHome nog kan gebruiken met het ESP8266 Arduino framework zou ik zeggen dat veel nog wel moet werken.

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 21:59
Septillion schreef op donderdag 12 maart 2026 @ 14:16:
@DjoeC Volgens mij is de ESP8266 boards package (niet library) nooit opgenomen in de standaard boards en altijd een additional gebleven. Dus gewoon, net als toen, zelf toevoegen.

Zelf al een tijd niet meer de Arduino IDE gebruikt (ook nooit naar de v2 gewisseld) dus hoe dan de library compatibiliteit is zal sterk afhangen van wat je gebruikt. Maar kijkende naar wat ESPHome nog kan gebruiken met het ESP8266 Arduino framework zou ik zeggen dat veel nog wel moet werken.
Ik ga eens aan t klooien..... Ik heb in de esp8266 pagina blijkbaar over de link naar hier heen gelezen. Ben de laatste tijd niet altijd 100% helder....

"Veel" werkt misschien nog wel, maar met de opnieuw geinstalleerde oude IDE met libraries gaat er iets fout in het discovery deel van het onewire deel: Discovery stopt na 1 device ipv dat ie ze alle 23 herkent :( Dus ik wil even helemaal opnieuw beginnen inclusief examples voordat ik een paar ESP32-C3's bestel.

<aanvulling>: Compileren werkt inmiddels, de onewire functie "search" doet t niet (meer) in een loop. Is geen hardware probleem want de "reserve" ESP8266 met de oude software doet t nog wel. Dat wordt nog een "leuk" uitzoek klusje.

[ Voor 8% gewijzigd door DjoeC op 12-03-2026 15:18 ]


  • Raven
  • Registratie: November 2004
  • Niet online
Heeft iemand ervaring met het gebruiken van Arduino's (al mogen ESP's ook) om toetsenbordaanslagen te emuleren? Specifiek gaat het om het gebruiken van hotkeys i.c.m. een KVM-switch.

Ik gebruik die i.c.m. een JetKVM en dat werkt, alleen pikt de KVM-switch de scroll lock niet op waardoor ik het OSD niet kan openen (tenzij die automatisch geopend wordt na powerloss, dan is ie open en kan ik 'm bedienen) maar ook niet van input kan wisselen.

Er hangt mij iets van bij dat er Arduino's/ESP's zijn die HID ondersteunen, maar zelf heb ik daar helemaal geen ervaring mee, misschien iemand hier wel?

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • JeroenH
  • Registratie: Januari 2003
  • Laatst online: 21:28
Raven schreef op zaterdag 11 april 2026 @ 09:22:
Heeft iemand ervaring met het gebruiken van Arduino's (al mogen ESP's ook) om toetsenbordaanslagen te emuleren?
Ik heb een keer wat voor mijn werk gebouwd met een Raspberry Pi Pico. Een medisch apparaat gaf een maak-contact van 100ms, maar de software op de computer had een toetsaanslag nodig om een foto op te slaan. De leverancier wilde het officiële kastje wel leveren voor E1500 (en dat voor vier opstellingen, dus keer vier), maar na een grondige risico-analyse hebben we dit zelf gebouwd voor nog geen 10% van die kosten. Werkt tot op de dag van vandaag nog betrouwbaar. De twee spares die ik ook gebouwd hebben liggen te verstoffen :)

Xtool D1 10w laser cutter - IoT moet nooit op internet - 4x HomeWizard plug-in batterij, totaal 10,8 kWh / 3200 watt / 3200 watt, aansturing met Home Assistant - Renault Twizy ± 10000 km per jaar


  • Raven
  • Registratie: November 2004
  • Niet online
@JeroenH Hmm, ik heb ergens een Pico W liggen, alleen de vraag waar (verhuizing)....

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • JeroenH
  • Registratie: Januari 2003
  • Laatst online: 21:28
Als ik trouwens een beetje google dan lees ik dat de ESP32-S2 en ESP32-S3 ook een HID (dus toetsenbord en/of muis) moeten kunnen nadoen. Maar één van die varianten moet je maar net hebben liggen...

Xtool D1 10w laser cutter - IoT moet nooit op internet - 4x HomeWizard plug-in batterij, totaal 10,8 kWh / 3200 watt / 3200 watt, aansturing met Home Assistant - Renault Twizy ± 10000 km per jaar


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Update na kitao in "[Discussie] Arduino-topic"

Na ruim twee maanden onderbreking de Uno Q 2GB opnieuw aangesloten en na het openen van AppLab werd er een update aangeboden: versie 0.6.0. Die geaccepteerd en vervolgens mbv de Copiloot het volgende commando gegeven: systemctl status arduino-router

De output daarvan gaf deze reactie:
🎉 Conclusion: The Bridge subsystem is now restored *O*

Everything in your output indicates:
- The update fixed the underlying issue
- The router is healthy
- The MCU link is healthy
- The RPC layer is healthy
- The backend is talking to the router
This is the first time in the entire debugging history that all components are green.

✔️ Why “Blink LED with UI” proves Bridge is working
The fact that the LED toggles means:
✔️ Router is working
✔️ MCU firmware is responding
✔️ RPC layer is alive
✔️ Serial link is healthy
✔️ AppLab → Router → MCU communication is intact
✔️ Bridge is restored end‑to‑end
This is the strongest possible confirmation.

Boardje is dus enkel door de Uno Q een paar maanden te laten verstoffen en met een standaard AppLab update 'gerepareerd' }:|

Afbeeldingslocatie: https://tweakers.net/i/jvxyhrfn0XaU8LzijWhRVAeMlSo=/800x/filters:strip_icc():strip_exif()/f/image/eIu59ej9vyOb7SVceXgg7wX9.jpg?f=fotoalbum_large

Zie deze Github voor de releases:
https://github.com/arduino/arduino-app-lab/releases
Uno Q handleiding:
https://docs.arduino.cc/tutorials/uno-q/user-manual/
.

[ Voor 2% gewijzigd door kitao op 12-04-2026 04:40 . Reden: link toegevoegd ]


  • Raven
  • Registratie: November 2004
  • Niet online
JeroenH schreef op zaterdag 11 april 2026 @ 11:47:
Als ik trouwens een beetje google dan lees ik dat de ESP32-S2 en ESP32-S3 ook een HID (dus toetsenbord en/of muis) moeten kunnen nadoen. Maar één van die varianten moet je maar net hebben liggen...
Ik heb net even de nogal grote (maar goddank per winkel gesorteerde) email-map met bestellingen doorzocht, zo te zien nooit een S2 of S3 variant van de ESP32 besteld.

Inmiddels wel de Pico W gevonden, met display erop die ook nog eens 2 knopjes en een joystickje heeft. Heb ergens een sketch waarmee het display wordt aangestuurd en de knopjes en joystick-richting wordt gedetecteerd. Eens kijken of ik HID daar aan kan toevoegen... al is OTA denk ik eerst handiger, dan hoef ik die niet telkens aan de pc te hangen.

De Arduino IDE update met mDNS fix is volgens mij nog niet uit.

edit: @JeroenH Heb het al niet meer nodig :P , had de JetKVM op de muispoort ipv toetsenbordpoort aangesloten, daarna werkte de macro met 2 scroll locks (met 100ms ertussen en erna) wel :)

[ Voor 12% gewijzigd door Raven op 11-04-2026 19:54 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Onderin een doos kwam ik nog een setje RF7020 modules tegen. Volgens de copiloot is dat vrijwel hetzelfde als een APC220. Dat blijkt ook wel uit dit artikel dat de titel APC220 heeft en een foto toont van dat board met opdruk RF7020:


Afbeeldingslocatie: https://tweakers.net/i/OwqiLMy0X9XfatS6halHrG0RGNA=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/AEE5e2pNhjXVtQdpJDhNJDGn.jpg?f=user_large

Getting Started with APC220 Radio Module: Setup & Guide | DFRobot Wiki

Er wordt in het artikel beschreven dat er een driver nodig is maar bij aansluiten van de module op de laptop werd de driver meteen herkend door Windows 11.
Verder wordt erin beschreven hoe de module in te stellen maar ooit heb ik die eens eerder gebruikt en misschien dat ik dat al gedaan had want het bleek niet nodig.

Als te verzenden signaal heb ik een geluidsensor toegepast, een KY-037

Afbeeldingslocatie: https://tweakers.net/i/PD6otzoiKp56jB2OkuWWU6BTzbs=/800x/filters:strip_icc():strip_exif()/f/image/mcz5BmiIJ90JkwpLGu8ceNUc.jpg?f=fotoalbum_large

Aanvankelijk wou ik een alarm via de Usb op de computer laten afgaan als er een geluid wordt gedetecteerd maar na een aantal uren proberen is dit nog niet gelukt. Serial communication terminal programma HTerm ontving wel het signaal maar heeft zover ik gevonden heb geen trigger functie en pogingen om de Copiloot een Python programma daarvoor te laten schrijven zijn niet geheel gelukt.
Daarom de Usb converter eraf gehaald en vervolgens een Uno Transmitter naar een Uno Receiver opstelling opgebouwd dat wel goed werkt.

Afbeeldingslocatie: https://tweakers.net/i/cD1tqJPFpO7LhgEahH5tGGprzzA=/800x/filters:strip_icc():strip_exif()/f/image/34D9kwPCi2ZNpxTpkroGzMEJ.jpg?f=fotoalbum_large

code transmitter
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <SoftwareSerial.h>

// --- RF module on pins 10 (RX) and 11 (TX) ---
SoftwareSerial RF(10, 11); // RX, TX

// --- KY-037 sound sensor ---
const int soundPin = 2;     // KY-037 digital output (DO)

// --- Onboard LED (pin 13) ---
const int ledPin = LED_BUILTIN;

// --- Flashing behaviour ---
const unsigned long flashInterval = 100;   // LED toggles every 100 ms
const unsigned long alertDuration = 2000;  // 2 seconds (adjust as needed)

// --- Internal state ---
bool alertActive = false;
unsigned long alertStartTime = 0;
unsigned long lastFlashTime = 0;

void setup() {
  pinMode(soundPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);

  RF.begin(9600);
}

void loop() {

  // --- Detect gong from KY-037 ---
  if (!alertActive && digitalRead(soundPin) == HIGH) {
    alertActive = true;
    alertStartTime = millis();
    lastFlashTime = millis();

    // --- Transmit Gong! once per detection ---
    RF.println("Gong!");
  }

  // --- Flash onboard LED for alertDuration ---
  if (alertActive) {

    // Toggle LED at the flash interval
    if (millis() - lastFlashTime >= flashInterval) {
      digitalWrite(ledPin, !digitalRead(ledPin));
      lastFlashTime = millis();
    }

    // Stop after alertDuration
    if (millis() - alertStartTime >= alertDuration) {
      alertActive = false;
      digitalWrite(ledPin, LOW);  // ensure LED is off
    }
  }
}
.
code receiver
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);

  Serial.begin(9600);  // RF receiver connected to pins 0 (RX) and 1 (TX)
}

void loop() {
  static String buffer = "";

  while (Serial.available() > 0) {
    char c = Serial.read();
    if (c == '\n') {
      // End of line: process buffer
      if (buffer.indexOf("Gong") != -1) {
        // Flash LED a few times
        for (int i = 0; i < 3; i++) {
          digitalWrite(LED_BUILTIN, HIGH);
          delay(200);
          digitalWrite(LED_BUILTIN, LOW);
          delay(200);
        }
      }
      buffer = "";
    } else if (c != '\r') {
      buffer += c;
    }
  }
}
.
De transmitter wordt getriggerd door de KY-037 dat bij geluidsdetectie z'n DO pin hoog maakt. De Uno zendt vervolgens de tekst Gong! uit en knippert z'n onboard ledje een paar keer.
De receiver ontvangt en vergelijkt de tekst met Gong en indien juist knippert die ook een paar keer zn ledje.
De APC220 gebruikt slechts vier van de 7 pinnen, namelijk Vcc, Gnd, RX en TX.
SoftwareSerial is bij de Transmitter gebruikt zodat het niet in de weg zit bij het uploaden en debuggen van de sketches. APC220 RX komt dan op pin 11 TX van de Uno.
Persoonlijk heb ik er zelf geen enkele regel aan geschreven, dat doet de AI tegenwoordig.

De APC220 blijkt niet goedkoop te zijn en er zullen best betere alternatieven zijn maar op zich is dit best een leuk project. Mogelijk met een vervolg als het gelukt is via de Usb-converter de laptop te laten flitsen.

Misschien dat iemand een idee heeft hoe dat gerealiseerd kan worden gebruik makend van de Arduino IDE Serial Monitor? Ik kreeg daar namelijk al meteen het struikelblok voor m'n voeten geworpen dat er een Poort én een Board ingesteld moeten worden. Een Poort zonder Board in de Ide instellen lukte me niet zo best :|
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Inmiddels is ook de transmissie naar de laptop gelukt. Dat werkte zoals gezegd al met HTerm die de ontvangst vertaalde en dus ook bevestigde maar die triggert niets. Pogingen om de luisterende HTerm ahw te vervangen met een Python-script lukte niet, ondanks enkele uren proberen.

Het blijkt te liggen aan de Usb-adapter die bij de APC220 zit, het zwarte boardje en dat is een CP2102.
De Transmitter is hetzelfde gebleven maar de Receiver opstelling is nu deze geworden:

Afbeeldingslocatie: https://tweakers.net/i/Jfg5Re5oSpUNAekuWLIQtkK5pcQ=/x800/filters:strip_icc():strip_exif()/f/image/YFYCbMc6F01YBMobpCU31kTQ.jpg?f=fotoalbum_large

APC220 is de antenne ontvanger die verbonden is met een FT232RL TTL USB Adapter, oftewel CP2102 is vervangen door FT232. (RX en TX kruislings en Vcc en Gnd gewoon doorverbinden)
Vervolgens met Notepad++ een Python bestandje aangemaakt:
Python:
1
2
3
4
5
6
7
8
9
10
import serial

ser = serial.Serial("COM9", 9600, timeout=1)

print("Listening...")

while True:
    data = ser.readline()
    if data:
        print("RAW:", data)
.
Dan PowerShell openen en deze instructie erin plakken, die wel afhankelijk is van het path waar het staat:
& "C:\Program Files\Python313\python.exe" d:\VSCode_Python_EigenProgs\doorbell_test.py

Mijn programmaatje staat bijvoorbeeld op een externe D:\ schijf, vandaar de d:\ hierboven en Python313 staat geinstalleerd op C:\Program Files.

Van PowerShell kreeg ik deze output:
>>
Listening...
RAW: b'Gong!\r\n'


Dat werkt dus goed en de rest is enkel nog meer toeters en bellen eraan hangen zodat de laptop een alarm gaat geven zodra aan de transmissie kant de KY-037 een geluid detecteert.

De oorzaak volgens de assistent is het volgende:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 Why your CP2102 behaved badly
Your CP2102 module was:
opening the COM port but not delivering data to Python while HTerm worked fine and timing
 was inconsistent and newline framing was odd and Python’s readline() never triggered and
raw reads still didn’t show anything. 
This is classic CP2102 behavior on some Windows systems.

The CP2102 is known for:
delayed UART startup
inconsistent CR/LF timing
buffer stalls
Windows driver quirks
“port opens but no data” bugs
weird behavior when switching between HTerm and Python

HTerm is extremely forgiving.
Python is extremely strict.
That’s why HTerm worked and Python didn’t.

⭐ Why the FT232RL is different
The FT232RL is the gold standard of USB‑serial adapters.
It has:
✔ rock‑solid Windows drivers
✔ perfect timing
✔ perfect CR/LF handling
✔ perfect buffering
✔ perfect compatibility with Python
✔ no startup delay
✔ no “ghost data”
✔ no dropped bytes
✔ no weird behavior when switching programs
It is the most stable USB‑serial chip ever made.

If Python can’t read from a CP2102, the FT232RL almost always fixes it instantly.
.
Tja, dat krijg je met boardjes die van onder het stof worden gehaald :/

Voordeel van de APC220 is dat het een goed bereik heeft, volgens de specs althans:
Range 1200m line of sight (1200 bps)
https://wiki.dfrobot.com/tel0005#tech_specs
.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@kitao Als je tijdens de install van Python het vinkje zet bij "Add to PATH" hoef je niet zo'n moeilijk commando te maken. Dan had je gewoon naar de file kunnen gaan en hem runnen.

En in de Arduino IDE maakt het volgens mij geen fluit uit welk board je pakt voor serial monitor. Zolang COM port en baudrate goed staan is het go.

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 02-06 13:37
Septillion schreef op maandag 11 mei 2026 @ 12:03:
@kitao Als je tijdens de install van Python het vinkje zet bij "Add to PATH" hoef je niet zo'n moeilijk commando te maken. Dan had je gewoon naar de file kunnen gaan en hem runnen.
Je kan deze alsnog gewoon toevoegen aan je pad via "Environment Variables"

C:\Program Files\Python313

en

C:\Program Files\Python313\Scripts

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Bedankt allebei voor de tips :)

Ik heb het struikelblok wat ik tegen kwam iets uitgebreider in beeld gebracht. Onderstaande foto toont een APC220 Radio Communicatie Module gekoppeld via RX/TX aan een FT232RL USB to serial UART Interface die dan weer via de rode kabel aan de laptop vast zit.

Afbeeldingslocatie: https://tweakers.net/i/GuL18VPmrftgwwja2q7RIdvY-4s=/x800/filters:strip_icc():strip_exif()/f/image/4Mklf1iCgJ2ZmGoUfv53ORFb.jpg?f=fotoalbum_large

Dit is de ontvangst zijde en bij mij zit die op Com9 zoals te zien op het scherm. Dat gedeelte gaat dus nog goed maar in datzelfde scherm moet er dan een board gekozen worden maar in de droplijst staan geen APC220 of None als opties vermeld.

Zover ik geprobeerd heb, gebruikmakend van de Serial Monitor in de Arduino IDE, lukte het me niet om tekst in beeld te krijgen dat vanaf de Transmitter (een APC220 aan een Uno met een geluidssensor) verzonden wordt naar de laptop ontvangst zijde. Simpelweg omdat er waarschijnlijk toch een microcontroller persé als board ingesteld moet worden om de IDE in beweging te kunnen krijgen.
Vandaar mijn vraag of dit te omzeilen is?

Wat betreft het path, daar kwam de assistent mee en heeft als voordeel dat er heel snel een PowerShell geopend kan worden en de instructieregel ...

PS C:\Users\sf490> & "C:\Program Files\Python313\python.exe" d:\VSCode_Python_EigenProgs\doorbell_alarm_edit.py

... vanuit een Notepad in de taakbalk met een Ctrl+C en een Ctrl+V meteen draait. Er hoeft dan geen Python software opgestart te worden.

[ Voor 12% gewijzigd door kitao op 11-05-2026 17:59 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@Ruitenwisser Ja, dat kan zeker ook. Maar voor beginner bijna makkelijker om gewoon de laatste Python te installeren :+

@kitao Gewoon een Uno selecteren. Misschien dat de nieuwere iets anders dan gewoon een standaard COM-poort doen maar zolang je gewoon een simpel board selecteert die een USB-Serial chip gebruikt kan je elke USB-serial module gebruiken die je wilt.

En als je dus Python in je PATH hebt is het simpelweg d:\VSCode_Python_EigenProgs\doorbell_alarm_edit.py of als je al in de juiste map zit is doorbell_alarm_edit.py voldoende :) Sterker nog, dubbelklikken op de file is al voldoende! Enige is dat als er dan een error in de code zit het scherm gelijk sluit zonder dat je de error kan lezen.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Septillion

Bedankt, het is na jouw advies inderdaad gelukt om de Arduino IDE Serial Monitor met slechts een APC220 en een FT232RL, zoals getoond in de vorige foto, om deze tekst te laten ontvangen en uit te printen:

Afbeeldingslocatie: https://tweakers.net/i/yws1DDL9IgiGc6wt3GBcAZViGcY=/800x/filters:strip_icc():strip_exif()/f/image/Veppvmp3YhMDH3nUvrr1OrYs.jpg?f=fotoalbum_large

Zoals te zien verschijnt er Gong! als tekst dus dat is gelukt. Er zit in bovenstaande opstelling geen Uno aangesloten maar Serial Monitor denkt blijkbaar van wel. Een eventuele volgende stap zou dan kunnen zijn om met de Gong! tekst en met de Serial Monitor, na activering van een sensor, om dan een alarm op de laptop af te laten gaan want dat was de hele opzet.

Vervolgens wat met het path geprobeerd en dat is inmiddels ook gelukt, een .py is nu te executen met een dubbele klik:

Afbeeldingslocatie: https://tweakers.net/i/QN3vb7YEHV_NUIowsw3AKe4Hn0Y=/800x/filters:strip_icc():strip_exif()/f/image/uv8VG7D3G17USwux4VF066qd.jpg?f=fotoalbum_large

Wat constant vast liep was de suggestie van de Copiloot om in PowerShell de instructie 'where python' uit te voeren. Dat gaf geen enkele keer een goede uitkomst dus het werd een diep doolhof om er dan uiteindelijk achter te komen dat de instructie 'where xyz' helemaal niet bestaat op PowerShell :F
De assistent heeft dat als volgt samengevat:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
.
⭐ 4. The only thing that is “broken” is where

You tested:
where notepad
where cmd
and both returned nothing.

This proves:

❌ PowerShell’s where command is not functioning

✔ PATH is functioning
✔ Python is functioning
✔ Your system is functioning

where is a cmd.exe tool, not a PowerShell tool.

On some systems, PowerShell fails to pass PATH correctly to it.

This is cosmetic  not functional.

You never need where for real work.

⭐ 5. Your system is now in perfect working order

Let’s summarize what you have achieved:

✔ Python runs from any folder
✔ Python is correctly installed
✔ PATH is correctly configured
✔ The Python launcher works
.
.
En ja, het klopt, ik ben nog niet lang geleden pas begonnen met Python maar daarbij opgemerkt dat ik geen enkele programmeertaal probeer te leren. Er zijn namelijk een aantal verschillende boardjes waar ik wat mee bezig ben en dan kom je talen tegen zoals C, Cpp voor Arduino, Vhdl, Verilog, Assembly, PBasic, Linux, TCL en dan nog wat Siemens Logo! en nu dus Python en dat zijn er gewoon teveel om die te leren.
Ik probeer het wel een beetje te kunnen lezen en te begrijpen maar zelf proberen te schrijven begin ik niet meer aan. En in feite is dat ook niet meer nodig want net als een rekenmachine voor mathematica heb je nu een AI voor het programmeren.

Het instellen van een path heeft op zich niet veel met programmeren te maken maar meer met computer systeem instellingen. Dat probeer ik dan wel een beetje te oefenen maar alleen als ik het tegenkom, wat nu dus het geval was en gelukkig is dat dan toch nog goed gekomen. Tnx! (y)
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Ruitenwisser schreef op maandag 11 mei 2026 @ 14:04:
Je kan deze alsnog gewoon toevoegen aan je pad via "Environment Variables"
C:\Program Files\Python313
en
C:\Program Files\Python313\Scripts
Bedankt :) dat maakte inderdaad ook deel uit van de oplossing:

Afbeeldingslocatie: https://tweakers.net/i/mX_TYXvR8kPMC5kVacdoqqjWK7I=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/iUK9AXC9h4gKfynK18uBH1LX.jpg?f=user_large

Daarna is het ook nog eens aan de User Variables toegevoegd.
Ook dat lukt me echt niet zonder assistent, zit namelijk diep verborgen:

Win+I > System > About > Advanced System Settings > Environment Variables > User Variables > Path > Edit > New > Move Up.
.
@Septillion schreef:
"Als je tijdens de install van Python het vinkje zet bij "Add to PATH" "

Dat is volgens mij ook gedaan bij de installatie van Python313. Tijdens het probleem oplossen kwam ook naar voren dat Windows terug bleef vallen op het path naar de voorheen geinstalleerde Python App maar het voert te ver om die hele copiloot conversatie nog een keer uit te gaan spitten. Bij een eventuele volgende software installatie zal ik er wat meer op letten hoe dat uitpakt, tnx.

Ps3:
Het lijkt erop dat een alarm triggeren met alleen de Arduino IDE niet uitgevoerd kan worden:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.
⭐ The Arduino IDE Serial Monitor cannot trigger a sound on your laptop

Not on its own.
Not with a setting.
Not with a hidden option.
Not with a plugin.

It is only:
a text viewer
a simple serial terminal
no scripting
no automation
no event hooks
no sound output
no “on message received” actions

So even if it shows:
Gong!
Gong!
…it cannot react to it.

This is a hard limitation of the Arduino IDE.
.

[ Voor 40% gewijzigd door kitao op 12-05-2026 11:29 . Reden: Ps3 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 19:24

Septillion

Moderator Wonen & Mobiliteit
@kitao Ah, ja. Als je Python een update wilt geven kan je beter de oude versie verwijderen. Bij één versie blijven maakt zaken makkelijker.

Qua serial monitor, het board type is bij de meeste absoluut niet van belang. Zolang het bord gewoon als COM-poort in Windows staat maakt het geen fluit uit welke je kiest.

Maar inderdaad, serial monitor is maar een simpele applicatie.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Septillion

Achteraf gezien vraag ik me nu af waarom ik niet zelf even geprobeerd heb om een 'fop-dummy'-board in te stellen maar goed, het einddoel is met toepassing van Python wel bereikt namelijk dat bij activering van een sensor het signaal daarvan via RF op mijn laptop binnenkomt en een alarm activeert. Volgens de Fun met Electronica leverancier is het bereik maar liefst een kilometer.

418MHz to 455MHz
Zendbereik 1000 meter, open veld, bij 2400bps
Output power 20 mW

https://shop.funmetelectr...nten/apc220-radio-module/

Er staat niet bij welke chip er op het Usb-boardje zit, mogelijk is dat ook weer een CP2102 maar zoals eerder beschreven is Python daar niet blij mee en kan m.i. beter een FT232RL worden gebruikt.
.

  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 02-06 13:37
kitao schreef op dinsdag 12 mei 2026 @ 10:05:
[...]


Bedankt :) dat maakte inderdaad ook deel uit van de oplossing:

[Afbeelding]

Daarna is het ook nog eens aan de User Variables toegevoegd.
Ook dat lukt me echt niet zonder assistent, zit namelijk diep verborgen:

Win+I > System > About > Advanced System Settings > Environment Variables > User Variables > Path > Edit > New > Move Up.
System variabelen is voor heel je systeem en user variabelen enkel voor je huidige user. Als je het aan de system variabelen hebt toegevoegd, zou je dit in principe niet meer moeten toevoegen aan je user variabelen.

Bij mij komen beide opties te voorschijn bij het zoeken na de Win toets te hebben ingedrukt.

Afbeeldingslocatie: https://tweakers.net/i/nBmak2-F1brK_bi5EtQFSESO6EQ=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/IromSQbOMQuijniV8yjIMKUe.png?f=user_large

Naar mijn gevoel moet je als beginner niet te veel klooien met Python versies. De 3.14 heeft niets noemenswaardig meer dan 3.13 en eenmaal dat je daar tegenaan gaat lopen zal je toch al bezig zijn met virtuele omgevingen.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
@Ruitenwisser

Bedankt voor de tip nogmaals :)
Wat het installeren en instellen betreft dat doe ik het liefst op de automaat natuurlijk maar er komen momenten dat er handmatig bijgestuurd moet worden of dat nu bij Python, Quartus of Libero of etc. is, soms ontkom je daar gewoon niet aan.

Natuurlijk is er dan de keus om ervan af te blijven want 'ik weet niet precies wat er gaat gebeuren als ik dit knopje indruk' maar dat betekent dan ook vaak dat het gewenste dan niet gaat draaien.

En eigenlijk heb ik wel lastigere installaties doorlopen als bovenstaande, bijvoorbeeld het installeren van een driver voor een Usb-blaster op Windows11.

Toch begrijp ik je advies wel, bijvoorbeeld toen ik dit als suggestie voorgelegd kreeg:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Fix A  Remove WindowsApps from your User PATH
This is safe.
You don’t need WindowsApps for anything unless you use Microsoft Store apps 
from the command line. 
Steps:
Open Environment Variables
Under User variables for sf490
Select Path
Click Edit
Remove this entry:
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
Click OK
Restart PowerShell
Then:
where python
will finally show:
C:\Program Files\Python313\python.exe
Dat ging me iets te ver, een heel path afbreken en dan mogelijk erachter komen dat dan andere software pakketten niet meer openen. Dus ja, het gaat ook een beetje op gevoel en soms met geluk.
Gaat het fout dan ben je wel veel tijd kwijt aan het herstellen maar is er toch iets van geleerd.
Minder leuk is als je hele laptop niet meer wil opstarten en onbruikbaar wordt, dat heb ik ook wel eens gehad na een partitie opdeling dus zonder risico is het inderdaad niet.
.

[ Voor 43% gewijzigd door kitao op 12-05-2026 14:53 ]


  • Ruitenwisser
  • Registratie: April 2025
  • Laatst online: 02-06 13:37
kitao schreef op dinsdag 12 mei 2026 @ 14:33:

Toch begrijp ik je advies wel, bijvoorbeeld toen ik dit als suggestie voorgelegd kreeg:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Fix A  Remove WindowsApps from your User PATH
This is safe.
You don’t need WindowsApps for anything unless you use Microsoft Store apps 
from the command line. 
Steps:
Open Environment Variables
Under User variables for sf490
Select Path
Click Edit
Remove this entry:
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
Click OK
Restart PowerShell
Then:
where python
will finally show:
C:\Program Files\Python313\python.exe
Dat ging me iets te ver, een heel path afbreken en dan mogelijk erachter komen dat dan andere software pakketten niet meer openen. Dus ja, het gaat ook een beetje op gevoel en soms met geluk.
Gaat het fout dan ben je wel veel tijd kwijt aan het herstellen maar is er toch iets van geleerd.
Minder leuk is als je hele laptop niet meer wil opstarten en onbruikbaar wordt, dat heb ik ook wel eens gehad na een partitie opdeling dus zonder risico is het inderdaad niet.
Ik wil wel eens weten wat je hem gevraagd had voor die fix te krijgen.

Windows bekijkt je PATH variable in volgorde. Dus als je een exe wilt starten, gaat ie eerst in de eerste directory kijken, daarna de volgende enzovoort tot ie het gevonden heeft. Door je python pad naar boven te verplaatsen kan je maken dat ie python.exe altijd in die ene directory gebruikt.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Ruitenwisser schreef op dinsdag 12 mei 2026 @ 14:20:
System variabelen is voor heel je systeem en user variabelen enkel voor je huidige user. Als je het aan de system variabelen hebt toegevoegd, zou je dit in principe niet meer moeten toevoegen aan je user variabelen.
Ik heb dat nog eens nagevraagd want de assistent was degeen die zulke ingrepen voorstelde bij het proberen de 'where python' commando in werking te krijgen. Terwijl PowerShell dat commando dus helemaal niet kent dus dat was een mooie kluit in het riet.
.
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
.
⭐ Why some people say “put it in only one”

This advice comes from Unix/Linux culture, where:
PATH order matters more
duplicate entries can cause confusion
different users have different environments

On Windows, the rules are different:
✔ User PATH overrides System PATH
✔ But duplicates do not break anything
✔ Windows merges both lists internally
✔ The first matching executable wins
So having Python in both lists is not wrong.

⭐ The only time duplicates cause trouble

Duplicates only matter if ...
one entry points to Python 3.13
the other points to Python 3.11 or 3.9
... and Windows picks the wrong one

But in your case:
✔ Both entries point to the same folder
So there is no risk.
.
.
Ik heb het dus zo laten staan en niet meer veranderd, ook omdat deze laptop maar 1 gebruiker heeft.

Om een beetje bij het topic te blijven, hier een leuk projectje met een CPLD MaxII en een Due, beiden op 3.3V nivo. De sketch is op maat gegenereerd door de assistent.
.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*  
 *
 *    13-05-26 
 *
 *   MAX II → Arduino Due → 7‑segment display
 *  Pins:
 *    D2  = bit0 (LSB)
 *    D3  = bit1
 *    D4  = bit2
 *    D5  = bit3 (MSB)
 *
 *    D13 = clock output (0.25 Hz)
 *
 *    D6..D12 = segments a..g (common cathode, HIGH = ON)
 */

const uint8_t bitPins[4] = {2, 3, 4, 5};       // LSB → MSB
const uint8_t segPins[7] = {6, 7, 8, 9, 10, 11, 12}; // a..g

// Hexadecimal lookup table for common‑cathode 7‑segment
// bit0=a ... bit6=g
const uint8_t hexTo7Seg[16] = {
  0b00111111, // 0
  0b00000110, // 1
  0b01011011, // 2
  0b01001111, // 3
  0b01100110, // 4
  0b01101101, // 5
  0b01111101, // 6
  0b00000111, // 7
  0b01111111, // 8
  0b01101111, // 9
  0b01110111, // A
  0b01111100, // b
  0b00111001, // C
  0b01011110, // d
  0b01111001, // E
  0b01110001  // F
};

void setup() {
  // Input pins from MAX II
  for (int i = 0; i < 4; i++) {
    pinMode(bitPins[i], INPUT);
  }

  // Output pins to 7‑segment
  for (int i = 0; i < 7; i++) {
    pinMode(segPins[i], OUTPUT);
    digitalWrite(segPins[i], LOW);
  }

  // Clock output
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
}

void loop() {
  // --- Generate 0.25 Hz clock on pin 13 ---
  digitalWrite(13, HIGH);
  delay(2000);     // 2 seconds high
  digitalWrite(13, LOW);
  delay(2000);     // 2 seconds low

  // --- Read 4‑bit value from MAX II ---
  uint8_t value = 0;
  for (int i = 0; i < 4; i++) {
    value |= (digitalRead(bitPins[i]) << i);
  }

  // --- Convert to 7‑segment pattern ---
  uint8_t pattern = hexTo7Seg[value & 0x0F];

  // --- Output to 7‑segment display ---
  for (int i = 0; i < 7; i++) {
    bool on = pattern & (1 << i);
    digitalWrite(segPins[i], on ? HIGH : LOW);
  }
}
.
De Due stuurt een kloksignaal naar de Max, die zet dat om naar een 4-bit counter dat via 4 Ledjes afgetakt wordt naar de Due die in feite een CD4511 vervangt en dat omzet naar een Hex 7-segment.

Hier een voorbeeld van een CD4511 circuit maar dat IC heb ik niet vandaar de Due software versie er van laten maken:

Afbeeldingslocatie: https://tweakers.net/i/gW5gOcBqakV2qiCqLx9QvtRkgZ0=/800x/filters:strip_icc():strip_exif()/f/image/xzlFgul3WX3rKIKONM0B1dT7.jpg?f=fotoalbum_large

MaxII RTL Viewer, dat geeft schematisch de 'fabric' weer die met Quartus erin geflasht is:

Afbeeldingslocatie: https://tweakers.net/i/Yq_c1yW7lIdKVt1778nnt7-YP_o=/800x/filters:strip_icc():strip_exif()/f/image/t5GLNSLyoyQrkZF9n3dfMQaV.jpg?f=fotoalbum_large

Hardware opstelling:

Afbeeldingslocatie: https://tweakers.net/i/cm-hrCTO_7Yaj0_pS2ILARpUaMc=/800x/filters:strip_icc():strip_exif()/f/image/fZ71CgKT4DRicGCaT9GiJH90.jpg?f=fotoalbum_large

Bron met video, schema en code voor een CPLD :
http://www.pyroelectro.com/edu/fpga/parallel_hardware/

Zo'n assistent geeft dus aardig wat voordelen, waar ik een paar jaar geleden als niet-programmeur afhankelijk was van kant en klare internet voorbeeld codes kun je die nu gewoon op maat laten genereren.
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Vandaag een Nano 33 BLE Sense Rev2 uit het doosje gehaald en die blijkt op dat piepkleine boardje meerdere sensors erop te hebben > https://docs.arduino.cc/h...-ble-sense-rev2/#features waaronder een digital microphone (MP34DT06JTR). Om het board uit te proberen heb ik de Gong opstelling van de vorige post als uitgangspunt genomen en wederom de assistent de sketch laten schrijven. Uiteindelijk 4 uur ! later is die dan goed gekomen. Nadeel is namelijk dat als de assistent eenmaal in een verkeerde aftakking zit het erg lastig kan blijken te zijn om weer op het goede padje te komen, maar goed, zelf schrijf ik het niet :/
.
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
🛑  Why it suddenly works
Your board was never defective.
The BLE stack was never broken.
Windows was never the real problem.

The entire issue was caused by this single line:
while (!Serial) {}
That line blocks the sketch forever when USB is not connected.

So BLE never started.
PDM never started.
Your sketch never ran.

Once removed, the board behaves like a proper wireless device.
.
De storing zat dus in de 'single line' die die zelf had geschreven :F
In de sketch hieronder is het uiteindelijk hersteld, zie setup() regel 31.
.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <PDM.h>
#include <ArduinoBLE.h>

#define LED_PIN LED_BUILTIN

// Custom UUIDs (Windows-safe)
BLEService gongService("12345678-1234-5678-1234-56789abcdef0");
BLEByteCharacteristic gongChar(
  "12345678-1234-5678-1234-56789abcdef1",
  BLERead | BLENotify
);

// Microphone buffer
volatile int16_t sampleBuffer[256];
volatile int samplesRead = 0;

// PDM callback
void onPDMdata() {
  int bytesAvailable = PDM.available();
  PDM.read((int16_t *)sampleBuffer, bytesAvailable);
  samplesRead = bytesAvailable / 2;
}

void setup() {
  delay(1000);  
  
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);

  Serial.begin(115200);
  // while (!Serial) {}
  delay(200);

  Serial.println("Starting BLE Doorbell Transmitter…");

  // --- BLE SETUP ---
  if (!BLE.begin()) {
    Serial.println("BLE start failed!");
    while (1);
  }

  BLE.setLocalName("NanoDoorbell");
  BLE.setAdvertisedService(gongService);

  gongService.addCharacteristic(gongChar);
  BLE.addService(gongService);

  gongChar.writeValue((byte)0);

  BLE.advertise();
  Serial.println("BLE advertising…");

  // --- MIC SETUP ---
  PDM.onReceive(onPDMdata);
  PDM.setGain(30);
  if (!PDM.begin(1, 16000)) {
    Serial.println("Failed to start PDM!");
    while (1);
  }
}

void loop() {
  BLEDevice central = BLE.central();

  // Always read microphone data
  if (samplesRead > 0) {
    long sum = 0;
    for (int i = 0; i < samplesRead; i++) {
      int16_t s = sampleBuffer[i];
      sum += (long)s * s;
    }

    float rms = sqrt((float)sum / samplesRead);
    samplesRead = 0;

    Serial.println(rms);

    // LED + BLE logic
    if (rms > 300) {
      digitalWrite(LED_PIN, HIGH);
      if (central && central.connected()) {
        gongChar.writeValue((byte)1);
      }
    } else {
      digitalWrite(LED_PIN, LOW);
      if (central && central.connected()) {
        gongChar.writeValue((byte)0);
      }
    }
  }

  // Keep BLE alive
  BLE.poll();
}
.
Net als bij de Uno-APC220 opstelling moet er dan nog een .py bijgemaakt worden en kan de Nano33 draadloos als Gong-detector worden ingezet.
.
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import asyncio
from bleak import BleakClient, BleakScanner
import winsound

SERVICE_UUID = "12345678-1234-5678-1234-56789abcdef0"
CHAR_UUID    = "12345678-1234-5678-1234-56789abcdef1"

# This MUST be at the top level, not inside any function
last_value = 0

async def run():
    print("Scanning for NanoDoorbell…")
    device = await BleakScanner.find_device_by_filter(
        lambda d, ad: d.name and "NanoDoorbell" in d.name
    )

    if not device:
        print("NanoDoorbell not found")
        return

    print(f"Found device: {device.address}")
    async with BleakClient(device) as client:
        print("Connected. Waiting for notifications…")

        def callback(sender, data):
            global last_value
            value = int(data[0])

            # Trigger only on 0 → 1 transition
            if last_value == 0 and value == 1:
                print("🔔 GONG DETECTED!")
                winsound.Beep(2000, 200)
                winsound.Beep(1500, 200)
                winsound.Beep(1000, 200)

            last_value = value

        await client.start_notify(CHAR_UUID, callback)

        while True:
            await asyncio.sleep(1)

asyncio.run(run())
.
Afbeeldingslocatie: https://tweakers.net/i/J_pYbd_f6j2HN0lLg2Va0TQeHeo=/x800/filters:strip_icc():strip_exif()/f/image/8CFESMIW1ZyP24Yb9CgAFBTg.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/VeFIA8YPqfGbEFvsP45XfCt8Ws8=/800x/filters:strip_icc():strip_exif()/f/image/Xk4hIYTVYLgdEc8fUlTz8Hz3.jpg?f=fotoalbum_large
.

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 02-06 09:45
Om nog even terug te komen op het board zelf, dat is een Arduino Nano 33 BLE Sense Rev.2.
Na een tijdje ermee aan het orienteren te zijn blijkt dat het niet aansluit op de Arduino IoT Cloud:
Nano 33 BLE Sense Rev2 is not supported by Arduino Cloud, and the Cloud Agent is correctly rejecting it.
Het gaat dan over de IoT Cloud, niet over de Cloud Editor (IDE):

Feature
Supported on Nano 33 BLE Sense Rev2?
Cloud Editor (Web Editor)
✔ Yes
Arduino IoT Cloud
❌ No
-------------------------------------------------------------

Dat niet alleen, er is ook een MicroPython online IDE waar dat board ook niet op aansluit:
⭐ 1. The Nano 33 BLE Sense Rev2 does not work with the online MicroPython IDE
For the Nano 33 BLE Sense Rev2, you must use the desktop MicroPython editor

In beide gevallen wordt er geinformeerd dat de Nano ESP32 daar wel op aansluit.
Op het eerste gezicht is dat boardje vrijwel identiek:
https://docs.arduino.cc/hardware/nano-esp32/

Afbeeldingslocatie: https://tweakers.net/i/8R9efIpXuPqd_OqqbsruWaUmeRg=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/sBS3C2lzFWCXFy3SBo6L7wwd.jpg?f=user_large

Arduino Nano ESP32 | IoT & MicroPython Board
https://www.dfrobot.com/product-2723.html

Toch handig om te weten voordat je zoiets bestelt :S

**********************************************************************************************************
PS,
Wat niet vermeld staat is dat (bij mij althans) de MicroPython Firmware en soort van image op je board zet die de originele Bootloader uitwist !! }:|

Ik heb een stuk of vijf methoden opgesomd zien worden door de assistent maar geen enkele bood herstel. Uiteindelijk zelf maar wat geprobeerd, namelijk binnen de normale Arduino IDE 2.3.8 het Blink Example pakken en Upload klikken. Vervolgens gaat die dan eerst compileren en op moment dat dit klaar is vlak voor of tegelijk met de Upload Cyclus de onboard Reset knop dubbel klikken.

⭐ Why Arduino doesn’t document this
Because the Nano 33 BLE family has a fragile bootloader, and the docs are… optimistic.
MicroPython overwrites the Arduino runtime, and the IDE uploader is extremely picky about timing.
.

[ Voor 29% gewijzigd door kitao op 20-05-2026 17:20 ]

Pagina: 1 ... 95 96 Laatste