Recent Posts

Pages: [1] 2 3 ... 10
1
Hardware / Re: Scelta driver per controll...
Last post by brunello22 - Today at 11:19 pm
4A sul L298 li ottieni mettendo i due canali in parallelo
2
Robin2  I just simply don't understand how I can use the testFail == Failed to make this work, you start the next part with == Failed but we have no reference to the which of the potentiometers failed because we've exited that for loop.

Please, can you give me one more hint and hopefully the light bulb will turn on.

(I have really been trying to understand)

(thank you Paul but that isn't very helpful, I understand the problem I just don't know how to write it)
3
Software / Re: Comandare ventola PWM con ...
Last post by Standardoil - Today at 11:18 pm
ho sbagliato a inizializzare gli array
così adesso a me compila, ma natiralmente mi manca tutto il resto
Code: [Select]

// di Nelson "StandardOil"
// Idea da sviluppare:
void setup(void)
{
}

void loop(void)
{ byte comando = 0;
    if (Serial1.available())
       

    {
        // un byte disponibile
        // passo a trattarlo
        comando = parserizza((byte)Serial1.read());
        // tutto il lavoro lo fa la parserizza
        // che restituisce un valore numerico
        // 0 per non trovato
        // 1 per trovato primo comando
        // 2 per trovato.......
    }

    switch (comando)
    {
        case 0:
            // nessun comando da eseguire
            break;

        case 1:
            // qui eseguo il primo comando
            break;

        case 2:
            // qui eseguo il secondo comando
            break;

        // e via così....
        default:
            // comando non trovato
            break;
    }
}

byte parserizza(byte in)
{
    // riceve byte a byte un comando e lo usa per riconoscere il comando complessivo
    // dichiaro una matrice di matrici di byte
    // il problema è che le sequenza non hanno lunghezza uguale tra loro
    // quindi devo anche dichiarare un array di lunghezze
    // potessi usare le stringhe, sarebbe comodo ma esistono degli 00 nel flusso
    // quindi una matrice bidimensionale di byte (larga quanto il più lungo comando)
    // con una matrice monodimensionale di lunghezze
    byte comandi[6][9];// 6 comandi per nove byte massimi
    byte lunghez[6]; // 6 lunghezze
    // inizializzo
    comandi[1][1] = 0x00;
    comandi[1][2] = 0x60;
    comandi[1][3] = 0xFE;
    comandi[1][4] = 0x00;
    lunghez[1] = 4;
    // e qui si prosegue per gli altri 5 comandi possibili
    //siccome leggo il comando byte a byte devo tenere traccia di quanto lungo ho letto
    //e siccome devo confrontarlo con 6 possibili comandi devo avere sei indici, uno per possibile comando
    // statico per non perdere l'informazione da un ingresso al successivo
    static byte trovato[6] = {0, 0, 0, 0, 0, 0}; // variabili locali vanno inizializzate

    // adesso conosco un byte e vedo se corrisponde con la posizione raggiunta in ognuno dei possibili comandi
    for (byte i = 0; i < 6; i++)
    {
        // per ogni comando
        if (comandi[i][trovato[i]] != in)
        {
            // se il byte 'in' non corrisponde al byte in posizione [trovato[i]]
            // non e' il carattere giusto
            trovato[i] = 0; // riporto indietro il contatore
        }
        else
        {
            // è il carattere giusto
            // delle due l'una
            // o siamo alla fine del comando oppure no
            if (trovato[i] == lunghez[i])
            {
                // comando finito, ho trovato tutti i byte
                // riporto a zero l'indice, per ripartire bene la prossima volta
                trovato[i] = 0;
                // me ne esco da questa funzione restituendo il numero del comando trovato
                // più uno perchè zero indica comando non trovato
                return i + 1;
            }
            else
            {
                // comando non ancora finito, devo aspettare altri byte per sepere se è il giusto
                // aggiorno l'indice per controllare il prossimo byte
                trovato[i]++;
            }
        }
    }

    // se sono arrivato fin qui vuol dire che non ho trovato nessun comando
    // restituisco 0 -> comando non trovato
    return 0;
}

consiglio: sposta l'inizializzazione degli array prima della setup
così diventano globali e non vengono ripetuti tutte le volte
4
Quote
C:\Users\Steve\Documents\Arduino\esp8266wifi\src\SD.h
that seems a bit odd.   Normally SD card support is a separate library, and that's not where libraries should be...
Because of the way that the Arduino IDE "manages" libraries, you are probably doomed to failure if you try to just add new modules (like SD) to existing library source directories (like ESP8266wifi)
In my "modern" 1.8.5 install, the esp8266wifi library gets installed off in "AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries" (SD is a separate directory there), not in "Documents"  It's possible that you have "ancient" copy of esp8266 support; unless you KNOW you have important stuff there, I would start by cleaning out all the old libraries and executables, and starting fresh with v1.8.5 of the IDE.  (this means deleting all of your  "Documents\Arduino\Libraries" files, and everything that looks like a library (rather than a sketch) in "Documents\Arduino".  It can actually be fairly difficult to track down all the things in the wrong place...)

5
Français / Re: Faisablité d'un projet - c...
Last post by J-M-L - Today at 11:16 pm
Il vous faudra un module 4G + un arduino + un relai adéquat + une RTC (la gestion du temps sur arduino n'est pas super précise, mais vous pourriez aussi utiliser le module data pour aller lire l'heure de temps en temps) et un service web accessible en permanence

Depuis un navigateur web vous,accédez à un programme web que vous créez, et qui gère le calendrier des instructions
Depuis l'arduino vous vous connectez de temps en temps pour lire les instructions / voir si elles ont changé (polling).

La fréquence de connexion va définir la durée Max entre un ordre et sa prise en compte. C'est dû au fait que vous ne pourrez pas accéder en direct à votre arduino de manière pérenne à travers la 4G car la connexion devrait être live en permanence et votre module ne va pas accepter les connexions data entrantes

si vous voulez plus de réactivité, un SMS généré depuis le service web pourrait notifier à l'arduino qu'une nouvelle liste d'instructions est dispo.
6
Software / Re: Comandare ventola PWM con ...
Last post by Standardoil - Today at 11:13 pm
no' è tutto buon 'C' in sorgente
dubbio: oltra alla loop() hai copiato anche la parserizza(), vero?
anno' forse ho capito
se bob compila la parserizza ti da una vagonata di errori
vedo se ci ho lasciato dentro qualche castroneria.......
7
Français / Re: Quelques renseignements po...
Last post by Artouste - Today at 11:11 pm
Bonjour,

j'ai 40 ans me passionne pour l'électronique et le bricolage mais question codage je suis plus que nul puisque ma seule connaissance de l'arduino ce limite au réglage dans le code de mon imprimante delta; par contre je vais m'empresser de lire vos tuto.

Du coup je vous explique mon projet/besoin histoire de voir si cela est réalisable avec ces petits boitiers, d'avance je m'excuse si cela a déjà était évoqué mais je n'ai rien trouvé...

j'ai récupéré des vieux jeux de lumière qui à l'origine se compose d'un miroir qui tourne sur 360° sur un axe, j'ai amélioré le système pour qu'il fonctionne au rythme de la musique et avec un jeu de miroir le faisceau et renvoyé sur 180° mais cela reste du basic.

Je voudrais savoir s'il était possible d'arranger ça avec un Arduino, dans mon esprit j'imagine deux servo-moteur un pour la verticale qui ferait bouger le miroir sur 45° et l'autre pour l'horizontale qui ferait un déplacement sur 140°, le tout avec des mouvements aléatoire et si possible une vitesse modifié en fonction du BPM (d'après ce que j'ai lu cette partie risque de ne pas être possible) ou à minima une mise en route par le son (donc micro) en gros ce que l'on appelle scanner.

Est ce que tous ceci est réalisable avec un arduino Nano ?
Connaissez vous un montage qui s'en approche ?

Je sais que les scanner travaille avec des moteurs PAP, mais cela obligerait à avoir en plus un capteur de fin de course pour qu'il connaisse son point de départ et cela augmenterait la taille de l'ensemble mobile.


Voilà pour le début pas beaucoup de question mais je pense importante pour mon petit esprit.


Merci
Bonsoir et bienvenu
Sur ce forum tu trouveras "surement de l'aide" 8)



Il y a des pratiquants tres pointus dans des domaines particulièrement spécifiques. ;D

Il y a donc ici des spécialistes  "de la lumière scénique" :D (pas moi  ;D )


Tu souhaite partir pour "retrofit" d'une base de travail " = ta recup
Expose déjà le maximum d'info (refs, photos, infos, ... etc)
Avec un peu de temps , de reflexion, de travail , tu risque au pire de te retrouver avec des vieux machins finalement utilisable en DMX :smiley-mr-green:


8
Deutsch / Re: Potentiometer auf untersch...
Last post by Det32 - Today at 11:11 pm
Das war nur auf map() bezogen, da Du allerding diese Funktion nicht mehr verwendest ist es hinfällig.
Danke!
9
You could always ask the USB host shield developers at the github repo. The devs do not hang out at this site.
10
You will have to write the code. Take a look at the examples for the FTDI controller. It looks nothing like hardware serial.

https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino

I'm afraid I can't do that.
I can include a Arduino lib and use provided example code e.g. for Serial.write/read, but I don't understand C++, just simple Arduinish and basic C99.
I actually expect the developers and vendors of that Aduino USB Host shield to provide ready working Serial libs.  Without it, I never would buy one.
Pages: [1] 2 3 ... 10