Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
https://forum.bidouilleur.ca/index.php?action=signup Les demandes d'inscription sont révisées quotidiennement.

Menu principal
Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Sujets - maximeh

#1
Bonjour,

voici mon problème:
je suis avec un pic18f1220
j'ai réussi a envoyer depuis le pic un message en uart sur un arduino nano
j'ai réussi a faire fonctionner un lcd i2c sur le pic qui affiche un message

mais si je veux envoyer un message par uart ou si j'inscrit le pic en esclave il je réagit pas


sur le datasheet je vois que interrupt existe pour les pic18f1220

j'ai tenté avec version payante chat gpt et claude ai malheureusement pas de résultat

Est il possible de faire du rx tx avec un pic18f1220 ou déclarer une pin en input et qui fonctionne?

Voici le code qui a été injecté dans le pic

#include <xc.h>

// Configuration des bits
#pragma config OSC = INTIO2    // Oscillateur interne
#pragma config WDT = OFF       // Watchdog timer désactivé
#pragma config LVP = OFF       // Low Voltage Programming désactivé
#pragma config PWRT = ON       // Power-up timer activé
#pragma config BOR = OFF       // Brown-out reset désactivé

#define _XTAL_FREQ 4000000     // Fréquence de l'oscillateur interne (4MHz)
#define LED_PIN LATAbits.LATA0 // LED sur RA0

// Variable globale pour compter les impulsions
volatile unsigned char pulseCount = 0;

// Routine d'interruption
void __interrupt() ISR(void)
{
    // Vérifier l'interruption INT0
    if(INTCONbits.INT0IF)
    {
        // Incrémenter le compteur d'impulsions
        pulseCount++;
       
        // Effacer le drapeau d'interruption
        INTCONbits.INT0IF = 0;
    }
}

void main(void)
{
    unsigned char i, count;
   
    // Configuration de l'oscillateur interne
    OSCCON = 0x60;  // 4MHz
   
    // Configuration des ports
    TRISA = 0x00;   // PORTA tout en sortie
    TRISB = 0x01;   // RB0 en entrée
   
    // Désactiver les fonctions analogiques
    ADCON1 = 0x0F;  // Toutes les broches en mode numérique
   
    // Pour le PIC18F1220, utiliser une résistance externe de pull-up
    // ou configurer le front descendant sans pull-up interne
   
    // Initialisation des sorties
    LATA = 0x00;
    LATB = 0x00;
   
    // Configuration de l'interruption externe INT0
    INTCONbits.INT0IF = 0;     // Effacer le drapeau d'interruption
    INTCON2bits.INTEDG0 = 0;   // Front descendant pour INT0
    INTCONbits.INT0IE = 1;     // Activer l'interruption INT0
   
    // Activer les interruptions globales
    INTCONbits.GIE = 1;
   
    // Boucle principale
    while(1)
    {
        // Si des impulsions ont été reçues
        if(pulseCount > 0)
        {
            // Désactiver temporairement les interruptions
            INTCONbits.GIE = 0;
           
            // Copier le nombre d'impulsions
            count = pulseCount;
            pulseCount = 0;
           
            // Réactiver les interruptions
            INTCONbits.GIE = 1;
           
            // Faire clignoter la LED le nombre de fois correspondant
            for(i = 0; i < count; i++)
            {
                LED_PIN = 1;         // Allumer la LED
                __delay_ms(300);     // Attendre
                LED_PIN = 0;         // Éteindre la LED
                __delay_ms(300);     // Attendre
            }
        }
       
        // Petit délai dans la boucle principale
        __delay_ms(10);
    }
}
#2
Bonjour,

Voici l'alimentation :
https://www.mycloud.ch/l/L005597B693DA1C21CBD759121F38A4FC946D70C6E5778DC99559949C11925C8B

j'utilise comme carte de control un nano avec Shield pour grbl

Depuis la pin du Shield z- un signal pwm est envoyé chaque fois que le laser doit découper ou graver.

Je n'ai pas besoin du pwm, il me faut juste avoir un signal pour que je puisse faire basculer le 5v à GND donc.

en électronique quel est pour vous la solution la  plus simple et le plus rapide.

petite question, je n'ai pas trouvé la solution pour insérer une image dans mon post, j'ai bien upload l'image je trouve bien la balise "insérer une image" mais ensuite que faut il faire

Merci d'avance








#3
Bonjour, bonne année, j'ai besoin d'aide pour extraire des fonctions qui se trouvent dans le datasheet de tmc2209, il y a qu'une librairie disponible et selon moi elle est totalement a coté de la plaque.

datasheet https://www.analog.com/media/en/technical-documentation/data-sheets/TMC2209_datasheet_rev1.09.pdf
gthub https://github.com/janelia-arduino/TMC2209

Selon moi ce driver de stepper est une vrai avancée dans le monde des stepper.
#4
J'ai besoin de transférer par serial entre un esp01s et un Arduino nano une message comme celui ci :2300_1111_3400_5012_4500_8913_5600_12814_6700_16715_7800_20616_8900_24517_10000_28418_11100_32319_12200_36220_13300_40121_11.
il peut être indéfiniment plus long ou plus petit.

avec la façon standard ci dessous c'est limité a 64, du coup comment faire pour que je puisse envoyer un tel message par serial? un grand merci d'avance

if (Serial.available() > 0) 
{
 
   
   String recData = " ";
    String recData2 = " ";

   while(Serial.available())
   {
     char c = Serial.read();
     if (Serial.available() > 0)
     {
       
     recData += c;
       
     delay(10);
     
   }
#5
Vos projets et Montages d'Électronique / De sd to USB
Octobre 26, 2022, 02:19:25 AM
Bonjour,

J'ai une imprimante résine sla laser. Elle a seulement une sortie sd pour les fichiers contenant les gcodes, j'aimerai convertir par une sortie usb. Quelle solution imaginez vous?
merci d'avance
#6
Bonjour,

Je n'arrive pas a trouvé un bin compatible pour installer Circuit python sur mon esp32s. Pas de soucis avec micropython je trouve un generic qui fonctionne parfaitement mais j'ai besoin de circuitpython
On trouve des bin pour S2 S3 et esp8266 mais pas S.
Une idée

merci d'avance
#7
Bonjour,

J'imagine cette question amateur de chez amateur mais je ne trouve rien sur internet sur une solution au problème de 5v et 3.3v

La particularité du tm1637 est qu'il est possible de le mettre en série avec d'autres en partageant le même DIO il faut juste CSK différent pour chaque digit.

Pont de résistance 10k 20k comme pour le serial ne fonctionne pas.

comment protéger les borne de l'esp, merci pour votre aide
#8
Bonjour,

Hardware : arduino mega adk ou 2560 avec Shield Ramps 4.1, alimentation de labo

Grace ou à  cause d'un sketch qui commande un bras 3 axes, un phénomène étrange ce produit lors de la connexion serial avec la console par exemple sous arduino qui permet de commander le bras, exemple G28.
J'ai 2 laptop qui sont les 2 récents un i5 et un i7 et deux ordinateurs fixes HP.
Quand je branche en usb l'arduino sur les laptops aucunes réactions quand j'envois une commande et sur les 2 fixes le système fonctionne.

un indice, quand j'ai l'alimentation n'envoi pas de courant dans le système si je connecte un fixe je remarque un petit courant de 50ma qui s'affiche sur le oled de l'alim et si c'est un laptop aucun courant.

Afin d'augmenter la difficulté, si je mets un autre système dans ce même hardware il n'y a plus de problème, laptop et fixe fonctionnent.

Qu'en pensez vous?
#9
Hello tlm, je sais pas si c'est ca existe mais j'espère, comme un relais ou un SSR mais avec mémoire, par exemple un esp envoi haut  1 seconde et après bas j'aimerai que le composant ou mini circuit reste haut et tant que l'esp n'envoi à  nouveau haut afin qu'il passe bas,  sans un autre microcontrôleur bien sur, sinon je ne posterai pas cette question.

merci d'avance
#10
Bonjour à  ma nouvelle communauté et bonjour grand maitre qui en est le guide
J'habite en Suisse, je suis autodidacte, j'ai trouvé dans l'électronique une recherche infinie et la solution pour rendre possible mes idées. J'attendais depuis longtemps un forum comme celui la. google est devenu trop polluée pour moi pour trouver certaines informations.

Le bras est contrôlé pour chaque axe par un Arduino nano qui sont connecté en i2c avec en tant que maitre un esp8266 (pour la mise a jour des données par internet).

J'envois donc les coordonnées X Y Z aux esclaves mais vu qu'en fonction de la position actuel et de la nouvelle le "temps" sera jamais le même car dépendant de la vitesse du déplacement et la distance, bien sur je pourrais le calculer mais j'aimerai explorer la possibilité que quand l'esclave a fini, informe le maitre par une solution digital dans le sens un câble supplémentaire qui envoi par exemple  un digitalwrite HIGH, j'ai pensé au PCF8575, simplement le maitre contrôle les 3 adresses ou se trouve les 3 fils des 3 nano

Je suis toujours en quête de la solution la plus simple, mais le fait d'avoir choisi 1 nano par axe n'est bien entendu n'est pas la plus simple solution mais la contrainte.

Bonne journée à  tout le monde.