Overblog
Suivre ce blog Administration + Créer mon blog

Machinerie RC du Calappa

Publié le par Pascal Coquet

Accueillir le matériel RC :

  • 1 micro batterie 7.4v 1120mAh 8.3Wh Lithium ion (Canon LP-E8, Amazone).
  • 1 micro motoréducteur NE20, 3v- 60 tours/mn (Aliexpress)
  • 1 Attiny 85 + pont enH L293D en guise de variateur
  • 1 hélice Ø1.8cm Raboesch (A2Pro)
  • 1 arbre d'hélice maison : 1 tige filetée M2, 90mm, 1 tube acier de L=6cm Ø 4mm intérieur 2.1 terminé par 1 rondelle téflon à chaque extrémité, 1 boulon M2 coté hélice et une chape M2 coté moteur (Pièces Conrad, bricotruc et stock)
  • 1 servo de gouverne Lx9 towerpro (Bangood)
  • 1 tige laiton + 2 bras de servo
  • 1 tige filetée Ø2 L=1.6cm de gouverne, 4 rondelles teléflon Ø3,   - Bricotruc
  • 1 circuit LED (feux, projos,  feux de pont et de pêche) avec 2 inters (Récepteur/accu) - (en stock)
  • 1 récepteur GR12-L Graupner - Miniplanes
  • 1 Attiny 87 + 1 driver polulu + régulateur pour l'animation des mats
  • 1 servo Lx9 Towerpro + tambour de machine à coudre pour l'animation  des funes.

 

logement Accu + Récepteur

Machinerie RC du Calappa
Machinerie RC du Calappa
Machinerie RC du Calappa
Machinerie RC du Calappa
Machinerie RC du Calappa

bloc-étambot-Gouvernail et installation de l'hélice. L'étambot se dévisse pour pouvoir ôter le gouvernail.

hélice /bloc étambot / safran/ timon
hélice /bloc étambot / safran/ timon
hélice /bloc étambot / safran/ timon

hélice /bloc étambot / safran/ timon

Motorisation

motoréducteur NE20 3v-150mA 60t/mn (Aliexpress). Pour ce moto réducteur j'ai besoin d'un variateur de faible encombrement et de faible puissance (500mA max). J'ai trouvé sur sitakiki.fr ce que je cherchais. Il est constitué d'une ATtiny85 et d'un pont en H L293D.

Il s'agit du sketch d'Alain Claverie sur bateaux.trucs.free.fr modifié par Christian Noos sur sitakiki.fr/varmini

motorisation
motorisation
motorisation

motorisation

Voici le shéma du variateur :

Sketch et téléversement sur cette page ->

Machinerie RC du Calappa

 

Partager cet article
Repost0

machinerie, motorisation, gouverne de l'oceanox

Publié le par le Moujo

La machinerie

J'ai utilisé une cagette pour la construire. Elle accueillera tous les éléments RC, récepteur, bruiteur, relais, puce Arduino, déclencheur thermique pour la ventilation, circuit pompe, animations grues, guindeau...Etc.. sauf bien sur le moteur et le servo de gouverne.

Les éléments sont fixés sur sur des plaques qui coulissent sur des rails dans la cagette.

  1. j'installe le récepteur dans un coffrage avec de la mousse, et un bloc de 8 relais qui permet avec une puce ATtiny84 d'avoir 8 fonctions supplémentaires sur la radiocommande (également modifiée, voir cette page pour la procédure complète.
machinerie
machinerie
machinerie

machinerie

Il me faut 1 abaisseur 5v pour alimenter les relais, l'Attiny ,l'ampli, les feux.

Je choisis le TS7805 qui offre une puissance suffisante avec son radiateur. Comme je n"avais pas de condo 100nf j'en ai mis 2 de 47nF en série sur le 5v et un 330n sur l'entrée.

 

lien Farnell pour le 7805

Blocs A, B et C
Blocs A, B et C
Blocs A, B et C

Blocs A, B et C

Shéma d'alimentation pour les blocs et pour la motorisation

Motorisation

Moteur BB580 avec pignon 9 dentssur une cale à cheval sur la quille, pente de 4°. Pignon de 38 dents sur l'arbre, réduction de 4.22. Le moteur étant bruyant, je lui fait un capot capitonné de mousse.

machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox

l'arbre d'hélice

l'arbre dans son coffrage, il n'y a plus qu'à couler de la résine pour l'immobiliser et étanchéifier le bloc étambot.
l'arbre dans son coffrage, il n'y a plus qu'à couler de la résine pour l'immobiliser et étanchéifier le bloc étambot.

l'arbre dans son coffrage, il n'y a plus qu'à couler de la résine pour l'immobiliser et étanchéifier le bloc étambot.

résine - rainurage de la poupe
résine - rainurage de la poupe
résine - rainurage de la poupe

résine - rainurage de la poupe

Gouverne

16/03/20. La timonerie est assurée par 2 engrenages, 16dents sur le servo et 102dents sur l'axe de gouverne, le rapport est de 6.37 . Le gouvernail aura donc un déplacement très lent, comme sur un vrai bateau de ce type. (cargo modifié de 59.76mètres)

machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox

 

L'Oceanox aura 2 pompes, une dans la cale et une pour la lance à incendie.

La pompe de cale fonctionnera de manière autonome , la lance à incendie fonctionnera avec le clavier 8 touches de ma télécommande modifiée (voir cette page pour cette modif interessante)

Les éléments :

  • 1 pompe haut débit pour la lance 12v
  • 1 petite pompe de cale 3v
  • 1 abaisseur de tension 12 -> 5v/3A
  • 1 abaisseur de tension 5v-> 3v/1A (ou quelques diodes Schotky en série)
  • 1 ATtiny 84
  • 1 relais 5v
  • 2 condensateurs, 470 et 47 nF
  • 2 lames de cuivre en guise de capteurs récupérées sur une pile 4.5v HS

Voici le shema

 

machinerie, motorisation, gouverne de l'oceanox
machinerie, motorisation, gouverne de l'oceanox

A suivre...

Partager cet article
Repost0

Le bulbe

Publié le par le Moujo

Le bulbe est un espace d'observation, muni de hublots, éclairé, avec des scientifiques. (clin d'oeil au salon panoramique de Némo)

Le bulbe
Le bulbe
Le bulbe
Le bulbe
Partager cet article
Repost0

At85 et L293D = minivariateur

Publié le par le Moujo

Pour le moto réducteur Ne20 équipant le crevettier Calappa j'ai besoin d'un variateur de faible encombrement et de faible puissance (500mA max). J'ai trouvé sur sitakiki.fr ce que je cherchais. Il est constitué d'une ATtiny85 et d'un pont en H L293D.

Il s'agit du sketch d'Alain Claverie sur bateaux.trucs.free.fr modifié par Christian Allain sur sitakiki.fr/varmini

Voici le shéma :

 

 

Voici le sketch à copier dans l'Ide Arduino et à téléverser dans l'Attiny 85

/*===============  Variateur pour petits moteurs   ====================
Ce sketch utilise un ATtiny85 et un pont en H : L293D et pilote des moteurs ne consommant pas plus de 500mA.
Il est inspiré du sketch de Mr Alain CLAVERIE: http://bateaux.trucs.free.fr/variateurv1.html
Pour adapter ce programme à une autre radio il sera nécessaire d’ajuster le trim  ou  
de modifier la valeur du neutre dans le programme.

==========================================================*/

const int pinMoteur = 0;        // connection a ENABLE1 du L293D
const int directionPin1 = 3;     // connection a la commande INPUT1 du L293D
const int directionPin2 = 4;     // connection a la commande INPUT2 du L293D
int signal = 2;                 // signal récepteur
int val;                        // valeur du signal récepteur
int mini = 1000;  //
int maxi = 2000;  //

int x = 0;                          // valeur à envoyer a ENABLE1 du L293D
int neutre = 1500;              // valeur du neutre, à définir selon votre radio
int plage_neutre = 30;          // plage du neutre, ne pas descendre en dessous de 20 par securité
//.........................................................................
void vitesse(){
  analogWrite( pinMoteur, x );
}
//=========================================================
void setup() {
  pinMode(signal, INPUT);             // pin signal du récepteur en entrée
  pinMode(directionPin1, OUTPUT);    // met le pin commande INPUT1 en sortie
  pinMode(directionPin2, OUTPUT);    // met le pin commande INPUT2 en sortie

  analogWrite(pinMoteur, 0);      // initialise le moteur à l'arret au démarrage
  digitalWrite(directionPin1, LOW);   //  initialise le moteur à l'arret au démarrage
  digitalWrite(directionPin2, LOW);   //  initialise le moteur à l'arret au démarrage
 }
//=========================================================
void loop()
{
    val = pulseIn(signal, HIGH), 30000; // Lire pulse1 et de le stocker en tant que val
    val = map(val, mini, maxi, 1000, 2000);
    val = constrain(val, 1000, 2000);
    if (val < 1000 || val > 2000){val = neutre;}  // Si le signal n'est pas correct alors le signal sera egale à la valeur du neutre.   
    if ( val > neutre - plage_neutre && val < neutre + plage_neutre ) // Si le signal est compris dans la plage de neutre
  {
    analogWrite(pinMoteur, 0);          // vitesse = arret
    digitalWrite(directionPin1, LOW);    // arret
    digitalWrite(directionPin2, LOW);    // arret
    }
     //..........................................................................  */  
  if ( val < neutre - plage_neutre && val > 1000)
  {
   digitalWrite(directionPin2, LOW);               // marche arriere
   digitalWrite(directionPin1, HIGH);               // marche arriere
   int outputValue = map(val, 1000, (neutre - plage_neutre), 255, 0); //calibrage pour ENABLE1
    outputValue=constrain(outputValue, 0, 255);     
    x=outputValue;
    vitesse();
  }
  //..........................................................................
  if ( val > neutre + plage_neutre && val < 2000)
  {
    digitalWrite(directionPin1, LOW);               // marche avant
    digitalWrite(directionPin2, HIGH);               // marche avant
    int outputValue = map(val, neutre, 2000, 0, 255); //calibrage pour ENABLE1
    outputValue=constrain(outputValue, 0, 255);     
    x=outputValue;
  vitesse();
  }
  //..........................................................................

}

//................fin du programme ...........................

Pour téléveverser un sketch dans une Attiny, la procédure est ici ->

Partager cet article
Repost0

Bruiteur moteur avec Arduino Uno

Publié le par le Moujo

Principe

La manette des gaz envoie un signal ; le récepteur décode les signaux et la UNO, connectée à la pin2 en parallèle avec le régulateur moteur, lit ce signal de la radio commande (les gaz) et lit les sons de la carte SD en Wav. (bruitage moteur)

En pratique

L’idée est d’avoir plusieurs sons WAV qui représentent le bruit du moteur à différentes vitesses de rotation.
L’arduino lit les valeurs de la radiocommande entre 0 et 3000
Exemple :

-allumage : wav0 d’allumage des moteurs
-entre 0-50 : wav01: démarrage moteur à vide (ralenti)
-entre 51 et 100 : fichier wav2
-entre 101 et 150 : fichier wav3
-entre 151 et 200 : fichier wav4
-entre 201 et 250 : fichier wav5
Etc… jusqu’à 3000

Shéma

Pour l'IDE Arduino il faut télécharger les 3 bibliothèques suivantes : TMRpcm   SD.h  SPI.h et les installer  en cliquant sur Croquis/inclure une bibliothèque/Ajouter à la bibliothèque.zip

Le sketch : SoundGenv2. A revoir, il y a un souci, (et on sait ce que les soucis sont comme dirait mon boucher), Nano ne lit que les 8 premiers sons sur 16 présents.
A copier dans l'IDE Arduino : si j'arrive à corriger l'erreur !

//**SoundGenV2**lecture de wav avec signal RC**********

  //********** LIBRAIRIES ****************
  #include <SD.h>                      
  #define SD_ChipSelectPin 4  //using digital pin 4 on arduino nano 328, can use other pins
  #include <TMRpcm.h>       
  #include <SPI.h>
  volatile uint8_t prev; // remembers state of input bits from previous interrupt
  volatile uint32_t risingEdge[6]; // time of last rising edge for each channel
  volatile uint32_t uSec[6]; // the latest measured pulse width for each channel
  int volatile channel[5];
  TMRpcm audio;   // crée un objet audio pour l'utiliser dans ce sketch
 
//********* DEFINITIONS *************************
    typedef struct {
    char * soundfile;
    int  threshold_up;
    int  threshold_down;
    }
    step_type;
    step_type mystep[32];
    char * soundstart;
    char * soundstop;
 //********* INITIALISATION *****************
    //unsigned long time = 0;
    int numLoop = 0;
    //int throttle = 0;
    int prevThrottle = 0;
    int currThrottle = 0;
    //int playingSound = 0;
 
    //RC scale
    int rc_pin = 2;
    unsigned long throttle_level;
    //*********** Niveau de manette des gaz long non signé ***************

    ISR(PCINT2_vect) { // one or more of pins 2~7 have changed state
    uint32_t now = micros();
    uint8_t curr = PIND; // current state of the 6 input bits
    uint8_t changed = curr ^ prev;
    int index = 0;
    for (uint8_t mask = 0x04; mask; mask <<= 1)
    {
    if (changed & mask) { // Si la broche a changé d'état
    if (curr & mask) {
    risingEdge[index] = now;
    }
    else { // stocker la largeur des impulsions
    uSec[index] = now - risingEdge[index];
    channel[index+1]=now - risingEdge[index];
    }
    }
    index++;
    }
    prev = curr;
    }
    //**********SETUP ************
    void setup(){
    pinMode(rc_pin, INPUT);
    PCMSK2 |= 0xFC; // sélectionner le cache pour allouer les 6 pins à générer des interruptions
    PCICR |= 0x04;  // enable interupt for port D
    prevThrottle=0; // manette des gaz au point mort
    audio.speakerPin = 9; //5,6,11 or 46 on Mega, 9 on Uno, Nano, etc
    soundstart="00start.wav";

     mystep[0].soundfile="00start.wav";
     mystep[0].threshold_down=20;
     mystep[0].threshold_up=50.;
     
     mystep[1].soundfile="0.wav";
     mystep[1].threshold_down=50;
     mystep[1].threshold_up=100;
     
     mystep[2].soundfile="01.wav";
     mystep[2].threshold_down=100;
     mystep[2].threshold_up=150;
     
     mystep[3].soundfile="02.wav";
     mystep[3].threshold_down=150;
     mystep[3].threshold_up=200;
     
     mystep[4].soundfile="03.wav";
     mystep[4].threshold_down=200;
     mystep[4].threshold_up=250;
     
     mystep[5].soundfile="04.wav";
     mystep[5].threshold_down=250;
     mystep[5].threshold_up=300;
     
     mystep[6].soundfile="05.wav";
     mystep[6].threshold_down=300;
     mystep[6].threshold_up=350;
     
     mystep[7].soundfile="06.wav";
     mystep[7].threshold_down=350;
     mystep[7].threshold_up=400;

     mystep[8].soundfile="07.wav";
     mystep[8].threshold_down=400;
     mystep[8].threshold_up=450;

     mystep[9].soundfile="08.wav";
     mystep[9].threshold_down=450;
     mystep[9].threshold_up=500;

     mystep[10].soundfile="09.wav";
     mystep[10].threshold_down=500;
     mystep[10].threshold_up=550;

     mystep[11].soundfile="10.wav";
     mystep[11].threshold_down=550;
     mystep[11].threshold_up=600;

     mystep[12].soundfile="11.wav";
     mystep[12].threshold_down=600;
     mystep[12].threshold_up=650;

     mystep[13].soundfile="12.wav";
     mystep[13].threshold_down=650;
     mystep[13].threshold_up=1000;

     mystep[14].soundfile="13.wav";
     mystep[14].threshold_down=100;
     mystep[14].threshold_up=2500;

     mystep[15].soundfile="14.wav";
     mystep[15].threshold_down=2500;
     mystep[15].threshold_up=3000;
     
     mystep[16].soundfile="15stop.wav";
     mystep[16].threshold_down=0;
     mystep[16].threshold_up=20;
        
    Serial.begin(9600);
    //pinMode(10, OUTPUT);
    // see if the card is present and can be initialized:
    if (!SD.begin(SD_ChipSelectPin))
    {  
    Serial.println("SD fail");  
    return;   // don't do anything more if not
    }
    else
    {   
    Serial.println("SD ok");   
    }
    //PLay init file to tell sound version
    Serial.println(soundstart);
    audio.play(soundstart);
    while(audio.isPlaying()){
    delay(200);
    Serial.println("setup end");
    }}
    void loop(){  
    int i;
  //********** Lire la valeur de la manette des gaz ************
 
  for (i=0;i<=9;i++)
     {
      Serial.print("play ");
      Serial.println(mystep[i].soundfile);
      audio.play(mystep[i].soundfile);
      while(audio.isPlaying())
      {
      delay(200);
      }
      audio.stopPlayback();    
      }   
      throttle_level=channel[1];
      Serial.print("input  ");
      Serial.println(throttle_level);
      //*********** choisir la nouvelle valeur de la manette des gaz ***************
      for (i=0;i<=16;i++)
      {
      if ((throttle_level>mystep[i].threshold_down) && (throttle_level <=mystep[i].threshold_up))
      {
        currThrottle=i;
           Serial.print("play");
      Serial.println(mystep[i].soundfile);
      }
      }
      if (audio.isPlaying() && (prevThrottle!=currThrottle))
      {        
      Serial.println(mystep[currThrottle].soundfile);
      audio.play(mystep[currThrottle].soundfile);
      prevThrottle=currThrottle;
      }  
      if (audio.isPlaying()==0)
      {        
      Serial.println(mystep[currThrottle].soundfile);
      audio.play(mystep[currThrottle].soundfile);
      prevThrottle=currThrottle;
      }
      }    
   ******************* FIN DU PROGRAMME ************************************

Les explications sont ici : https://github.com/TMRh20/TMRpcm/wiki

Le Moujo

Partager cet article
Repost0

La cabine du capitaine

Publié le par le Moujo

elle sera latée de bois, de forme polygonale.

La cabine du capitaine
La cabine du capitaine
La cabine du capitaine
La cabine du capitaine
Partager cet article
Repost0

équipement de l'Océanox, l'hélicoptère

Publié le par le Moujo

A bord du navire de recherche il aura un Hélicoptère. J'ai choisi L'Airbus EC135, une maquette Revell plutôt détaillée, ref 04986.

équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère

J'ai foncé les rivets et autres détails avec un mélange gris/noir/rouille avec un pinceau trempé dans du white spirit. Puis j'ai passé un chiffon doux. En attendant que ça sèche je peint les pièces intérieures.

 

équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère

Avant de coller les 2 coques, je protège les fils avec 2 petites chutes de balsa et je peux ainsi lester le fond avec des petits plombs de pêche.

 

Pour changer un peu, je m'interresse à la plateforme de l'hélico

équipement de l'Océanox, l'hélicoptère
équipement de l'Océanox, l'hélicoptère

A suivre...

Partager cet article
Repost0

La quille et les couples de l'Oceanox

Publié le par Le Moujo

15/10/2016 La proue Pour la faconner j'utilise 2m de tasseaux en pin brut de 50 x 14mm. Elle est en 3 parties :

  • la quille proprement dite, de la fin de la courbe AV à l'étambot.
  • La proue (en 2 parties) et ses renforts
  • La poupe (en 2 parties, au dessus de l'arbre d'hélice) et ses renforts.

Pour la proue et la poupe il me faut un patron. Je les dessine sur un calque et les découpe, je n'ai plus qu'à reproduire la forme sur le bois.

Un renfort est vissé/collé sur la proue

 

La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox

La poupe Elle sera de forme carré, comme la poupe d'une corvette militaire. La partie arrière de la quille est indépendante de la quille proprement dite.

Pour le passage de l"arbre je creuse une rainure de 8mm toujours dans un bloc de pin pour y insérer l'arbre d'hélice de diam.8. Il sera ensuite noyé dans la résine. Je fore également dans cette pièce de bois le passage de l'axe du gouvernail.

La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox

Les couples

Pour limiter les problèmes dùs à la colle (le gonflement du bois puis le rétrécissement au séchage), j'ai résolu d'installer mes couples 2 à 2. 2 bloc de balsa d'une section de 20 x 20 relient 2 couples, ils sont ainsi solidement collé et sèchent sur un chantier. Ce n'est que le lendemain que j'installe ce bloc de 2 couples sur la quille.

Je commence par les couples 1 et 2.

Les couples 1 et 2 sont un seul bloc solidaire
Les couples 1 et 2 sont un seul bloc solidaire

Les couples 1 et 2 sont un seul bloc solidaire

Couple 3 -2 blocs de balsa le solidarisent des couples 1 et 2 et suivant.. ainsi de suite...

La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
La quille et les couples de l'Oceanox
Partager cet article
Repost0

Animation sur crevettier Calappa

Publié le par Pascal Coquet

Animation sur crevettier Calappa

Cette page est en cours d'évolution. Je poste ici l'avancement de mon travail, j'espère qu'il vous sera utile. Je souhaite animer les tangons de mon crevettier, ainsi que la mise à l'eau des filets (les funes) avec allumage/extinction des feux de pêche et des projo de pont. Le crevettier ne mesure que 31 cm de long et par manque de place j'utilise un mini moteur pas à pas de 8mm (celui qui règle l'autofocus d'un objectif), on le trouve ici.

Il s'utilise soit seul avec Arduino (UNO, NANO ou autre microcontrolleur), soit avec un driver, celui que j'utilise est le A4988 Polulu. Les funes seront mises à l'eau par 1 seul servo pour cette animation. Le tout sera commandé par une Attiny84 qui possède 14 pins car il ny a pas assez de connections sur l'At85 pour ce qu'il me faut : 3 broches pour le stepper, 1 servo et 2 Led une entrée pour le signal RC.

Je n'ai pas trouvé de sketch pour At84 et driver, je vais donc tatonner un peu...

Par contre je poste le schéma et les sketchs pour ceux qui seraient interressés par le pilotage d'un stepper par l'AT85 et le driver ULN 2003

 

Animation des funes

Pour cela, et par manque de place, j'utilise un micro moteur pas à pas. C'est le moteur de la mise au point d'un objectif photo, on en trouve sur AliExpress.

.

le treuil (micromoteur pas à pas) et les cables
le treuil (micromoteur pas à pas) et les cables
le treuil (micromoteur pas à pas) et les cables

le treuil (micromoteur pas à pas) et les cables

Je vais maintenant testé les 4 branchements du moteur directement sur les pins 4,5,6,7 d'une carte Arduino Uno Ver3 . J'utilise pour cela le sketch "Stepper_OneStepAtATime.ino" de Tom Igoe fourni dans les exemples Stepper de l'Ide Arduino. Si vous ne trouvez pas ce sketch, je le poste ici.

-> vidéo :

Et pourtant il tourne !! Moteur branché sur pin digitale 4,5,6,7

Les éléments sont :

Le tout sera sur une plaque prototype dans la cabine du Calappa. Quand au micromoteur pas à pas il sera sous le pont, dans la cale à crevettes...                                                            

Il existe dans l'Ide des sketchs de stepper utilisant la carte UNO. Je fais donc la correspondance avec AT84 :

Voici donc le montage :

 

Et voici le circuit sur la plaque de prototypage de 65 x 35mm au pas de 2,54.

 

Téléversement

Voila il ne me reste plus qu'à téléverser le sketch dans At84. J'ai trouvé un projet qui me semble interessant sur www.mchobby.be de M.Meurisse, Il s'agit de Stepper.ino (conçu pour Arduino UNO mais modifié pour AT84)

Pour téléverser le sketch dans l'AT84 (voir la procédure ici) j'installe un DIP16 et un condo sur une platine d'essai.  Ainsi je pourrais mettre l'AT84 de ce DIP à celui du montage final et recommencer l'opération autant de fois que mon sketch n'est pas satisfaisant.

 

Ce sketch fonctionne mais mon ordinateur ne reconnait plus le port Arduino... Il a 12 ans... Je passe donc à autre chose...

Installation du circuit dans la cabine

Animation sur crevettier Calappa
Animation sur crevettier Calappa
Animation sur crevettier Calappa

Mise à l'eau des funes.

Pour cela j'avais  modifié 1 servo pour qu'il tourne en continu mais j'avais également oté la carte d'asservissement. Je n'aurais pas du. Voir la bonne méthode sur cette page pour bien modifier un servo et le piloter avec Arduino UNO. Méthode trouvée sur les carnets du Maker 

 

descente et remontée des tangons, partie mécanique

le treuil

Le scénario final sera celui-ci ;

  1. Allumage des feux de pêche
  2. descente tangons de 90 à 60
  3. descente tangons de 60 à 45° (position pêche)
  4. descente des funes (filets)
  5. delay pour simuler la pêche
  6. remontée tangons de 45 à 60°
  7. remontée des funes
  8. remontée tangons de 60 à 90°
  9. extinction des feux de pêche 
  10. allumage des feux de pont
  11. delay pour nettoyer et ranger les crevettes
  12. extinction des feux de pont

Le sketch final va suivre, patience, le servo des funes utilisera la fonction Write. Pour la temporisation j'utiliserais Millis à chaque séquence :

 void setup()

{temps = millis(); // on initialise le temps avant le début des séquences.

}

//========début séquences= ===============

void loop() {
  {
  if((millis() - temps) > 20000) ; // a 20s, on demarre la séquence
  etat_led_A = !etat_led_A; // on inverse l'état de la led // Allumage des feux de pêche
  temps = millis(); // on stocke la nouvelle heure
        }}

====================================

A suivre...

Partager cet article
Repost0

ARDUINO

Publié le par Pascal Coquet

L'interêt d'un modèle naviguant, outre le plaisir de le piloter, est de pouvoir lui adjoindre un tas de fonctions tel que allumer/éteindre les divers feux, animer l'ancre, les bossoirs de l'annexe, filer/défiler le chalut, et que sais-je encore...

Pour cela Philippe Loussouarn a crée un skech pour carte Attiny, pour piloter 8 relais avec un seul canal. Je tente l'aventure car je n'ai pas les moyens de me payer un émetteur équipé d'une manière colossale. (et même je ne pense pas que cela existe en boutons-poussoir). Je poste ici mon avancement, j'espère qu'il vous sera utile : 8 voies on/ off sur un seul canal de la télécommande avec ATtiny84, procédure complète, d'après Philippe Loussouarn et Christian Allain Noos

                   L'Attiny25/45/85.

Pour créer des animations autonomes, la puce ATtiny85 connectée au récepteur prend très peu de place et offre 6 entrées/sorties. (Attention, la touche reset ne doit pas être à un niveau bas sinon la carte se réinitialise et on ne peut plus la reprogrammer).  Le sketch ne doit pas peser plus de 8 Kilo.

L'Attiny84. Elle a 14 broches et offre beaucoup de possibilités, par contre, tout comme l'AT85 elle ne peut pas faire plusieurs choses à la fois, elle se contente d'enchainer les actions à la suite l'une après l'autre. Ce qui est quand même bien pratique.

Partager cet article
Repost0

1 2 3 4 5 6 7 8 9 10 > >>