Progetti Arduino

0 views
Skip to first unread message

Heron Mathis

unread,
Aug 3, 2024, 12:02:00 PM8/3/24
to rirvutanness

Code compiled correctly (and still compiles) on older arduino versions.
I think the error is quite easy to fix, but I dint manage to get it in about an hour.
Line numbers are not precise, I dont know why, I think some sort of preprocessor passes before gcc.

Can anyone here please test this on Due and then update the playground page? The original code has a TimeAlarms library in the same file, which I haven't used (I did start on it... contact me for the code). It probably needs to be split into a separate download, ported and tested. The page also mentions "time_t", which needs to be edited to "atime_t". I simply ran out of time to update the page.

Yuck! That seems like a dreadful solution.
Please, please don't go down that route. That is such a Windows-fix-of-the-moment type of fix.
That really breaks compatibility especially for those writing code that will use the time type for
things like calculating time intervals.
Why not use the __time_t_defined define to determine whether or not the system has already typed time_t ?
The define could be tested to see if time_t needs to be typed in the library Time.h file.
This seems like a proper fix.

So the system version of time_t doesn't get typed before the library Time.h looks at the define.
You have to insert some dummy code to coerce the silly IDE to put the prologue at the top of the .cpp file
I added this to the example sketch:

One thing that is concerning to me is that since Windows is doesn't handle mixed case
on its file names, #include might end up pulling in the system time.h since it is earlier on the include path
(I don't do Windows so I'm not sure about that).

I have tested your version of Time and it's remotely to be ported for Due. Actually I already did the time_t variable name change, but that is not the only thing that need to be modified (I did it as bperrybap suggest thought).

After that I have been through several compiling errors I would like to bring them here.
First with setTime function, it seems that overloading that function bothers the compiler
previous declaration 'void setTime(atime_t)' here

Then the STUPID IDE also has an issue that rears it ugly head again that breaks this.
The IDE inserts its prologue which includes
Code:
#include "Arduino.h"
in the middle of the sketch .cpp file so it ends up after the
Code:
#include
So the system version of time_t doesn't get typed before the library Time.h looks at the define.
You have to insert some dummy code to coerce the silly IDE to put the prologue at the top of the .cpp file
I added this to the example sketch:
Code:
int dummy = 0;
right at the top of the sketch.

It should be noted that this kludge is not guaranteed to work.
For example, since Wire.h includes the header file above
if Wire.h is included after DS1307RTC.h then this kludge will not work
because sam3s2a.h will simply redefine it.
The examples in DS1307RTC library include after DS1307RTC.h so
those examples will still break with this kludge inserted.
However, if you change the examples to include before DS1307RTC.h
the examples will compile.

Questo progetto lo dedico ad un amico che mi segue su Youtube e che, da diverso tempo, mi aveva chiesto di realizzargli un distributore automatico di croccantini per i suoi 3 cani (food-dispencer). Beh...

Quando facendo ordine nel tuo magazzino di componenti elettronici, trovi un display Nextion cosa fai non lo utilizzi? Non ricordavo neanche di aver acquistato questo fantastico prodotto. Dico fantastico perch i display Nextion, a...

Il 31 progetto della rubrica 100 Progetti con Arduino Uno un mini braccio robot controllato da joystick e pulsanti. Per replicare questo sistema bisogna prima di tutto scaricare e stampare i file STL...

Il 30 progetto della serie 100 Progetti con Arduino Uno dedicato a tutte quelle persone che in privato mi hanno chiesto se fosse possibile utilizzare il 29 progetto come audio-meter. Ovviamente la mia...

Utilizzare un display Lcd diventata una consuetudine nei miei progetti con Arduino. Mi permette di avere sotto controllo lo stato di funzionamento del sistema senza dover usare il terminale seriale, e rende ogni...

Per accontentare un utente che mi segue su Instagram (credo dovrei dire follower), il 28 progetto della serie 100 Progetti con Arduino Uno : un metronomo digitale. Ovviamente il sistema che sto per mostrarvi...

In questo progetto imparerai come realizzare un termometro con un Arduino. Le temperature misurate verranno visualizzate su uno schermo a sette segmenti. Come sensore utilizziamo un sensore di temperatura DS18B20. Per lo schermo a sette segmenti utilizziamo un...

In questo progetto utilizzeremo il sensore di colore e prossimit dell'Arduino Nano 33 BLE Sense. Abbiamo anche bisogno della nuova libreria Arduino_KNN. Questa libreria utilizza Tiny Machine Learning. In questo progetto distingueremo gli oggetti in base a...

In questo progetto Arduino imparerai come creare la tua stazione meteorologica. Lo fai sulla base di un sensore di temperatura e umidit DHT11 e un LDR. La temperatura, l'umidit e la luminosit sono visualizzate su un display LCD 16x2. Questo...

Questa la quarta lezione del tutorial Arduino IoT Cloud. Non hai ancora seguito le prime lezioni? Controllalo qui. In questa lezione imparerai come leggere il valore di un sensore di distanza ad ultrasuoni HC-SR04 in Arduino IoT. Archiviamo questi valori in modo da poterli utilizzare in...

Questa la terza lezione del tutorial Arduino IoT Cloud. Non hai ancora seguito le prime lezioni? Controllalo qui. In questa lezione imparerai come vedere in Arduino IoT Cloud se un pulsante acceso o spento (premuto o meno). Se dopo con molti pulsanti...

Questa la seconda lezione del tutorial Arduino IoT Cloud. Non hai ancora fatto la prima lezione? Controllalo qui. Durante la prima lezione hai imparato ad accendere e spegnere una luce. In questa seconda lezione imparerai come misurare il valore di un potenziometro...

Questa la prima lezione del tutorial Arduino IoT Cloud. In questa prima lezione imparerai come configurare il tuo nuovo Arduino Nano 33 IoT in Arduino Create. Spieghiamo i concetti di base nel cloud IoT e ti mostriamo come controllare una luce tramite...

Il progetto Arduino Blink il progetto con cui ogni principiante Arduino dovrebbe iniziare. un progetto semplice che dovresti riuscire a realizzare entro 1 minuto. In questo progetto mostri onboard LED lampeggiante. Standard 1 secondo acceso e 1 secondo spento, ma...

In questo progetto ti mostro come realizzare il tuo pianoforte piezo Arduino. Con questo progetto semplice ed economico puoi dimostrare molto velocemente come funziona una tastiera su Arduino. In questo progetto utilizziamo a Arduino UNO, un paneboard e un 44 digitale...

In questo progetto ti mostrer come creare la tua luce LED RGB che cambia colore quando premi il pulsante. In questo semplice progetto imparerai a cambiare il colore di un LED RGB con un pulsante. Con l'aiuto di a Arduino UNO Livello -...

In questo progetto ti mostrer come creare il tuo radar Arduino. Questo un progetto intermedio/avanzato. Quando il tuo progetto assemblato, gli oggetti verranno visualizzati fino a 50 cm dal sensore. Se modifichi il codice, il radar pu rilevare oggetti fino a 5 metri. Davanti...

In questo progetto Arduino ti mostro come realizzare il gioco che dice Simon con un Arduino Simon Says un gioco in cui hai 4 luci, ciascuna collegata a un pulsante. All'inizio si accende una spia, poi si preme il corrispondente...

Con questo progetto vi mostro come controllare una pallina su una matrice led 88. Con i due potenziometri puoi muovere la pallina sugli assi X e Y della matrice. In questo progetto imparerai come utilizzare una matrice di led e come modificare i valori di un...

Durante questo progetto imparerai come realizzare le luci mobili KITT della serie Knight rider. Knight rider una serie degli anni '80 su Michael Knight e un'auto molto avanzata di nome KITT che combattono il crimine insieme. Questo un progetto per principianti in cui...

Vuoi usare un servo ma non sai come fare? In questo progetto ti dir tutto ci che devi sapere sui servomotori! Un servomotore un motore in grado di eseguire movimenti precisi con l'ausilio di ingranaggi. Ci avviene attraverso il...

In questo progetto, utilizzi un LDR per accendere o spegnere le luci, a seconda che risplenda pi o meno luce. Per questo progetto utilizziamo un LDR. LDR l'abbreviazione di resistore dipendente dalla luce. Ci significa che la resistenza dipende dalla quantit...

Hai sempre desiderato aggiungere suono o musica ai tuoi progetti Arduino? pi facile di quanto pensi! In questo progetto ti mostrer come riprodurre una canzone tramite un cicalino. Faremo suonare l'Arduino Vader Jacob attraverso gli hertz del cicalino...

Se mai ti chiedi quale sia l'umidit nella tua casa, questo progetto per te! Durante questo progetto imparerai come realizzare un misuratore di umidit utilizzando un sensore DHT11 e un display LCD 16X2. Un DHT11 un sensore che...

In questo divertente progetto imparerai come creare la tua calcolatrice Arduino. possibile utilizzare questa calcolatrice per calcoli semplici. Questi sono pi, meno, volte o divisi per. Quindi non aspettarti di essere in grado di risolvere equazioni con esso. Facciamo questo...

In questo progetto imparerai come creare il tuo giornale a LED. Lo facciamo con una matrice LED 32X8 e a Arduino UNO. Il codice fornito con questo progetto lungo. Questo perch devi creare tu stesso ogni lettera, numero e simili su una griglia 7X8. Il motivo per cui sono 7...

In questo progetto ti mostrer come collegare un lettore RFID al tuo Arduino. Questo progetto ti d un'idea di base di come funziona RFID. Accenderemo diversi led con un Pass e un Portachiavi. Quando hai finito con questo progetto puoi...

In questo progetto imparerai come guidare un motore passo-passo 5YBJ-28 da 48 V CC con un driver ULN2003 Board e Arduino Uno. Alla fine di questo progetto puoi controllare tu stesso un motore passo-passo per poi realizzare una macchina, un robot o anche una stampante 3D. Questo...

c80f0f1006
Reply all
Reply to author
Forward
0 new messages