becotus a écrit:@ admin
Bon, j'ai écrit dans le titre Polulu au lieu de POLOLU . Peux-tu corriger?
Merci Emmanuel
# routine Ricoh sur Pololu
# mise en route, déclenchement, arrêt
# servo n°0 comme input
# servo n°5 déterminé comme output
# 0V si < 6000 2V si = ou > 6000
# initialisation + demi-enclenchement + enclenchement total + relachement
# Arrêt => garder le bouton enfoncé pendant 2s
sub remote
begin
remote_a if ricoh endif
repeat
sub remote_a
0 get_position 1000 less_than
return
sub ricoh
10 delay # 0V 10ms ¤
6000 5 servo # 2V 30ms ¤ 0V 80ms ¤
30 delay
0 5 servo
80 delay
6000 5 servo # 2V 150ms ¤ 0V 50ms ¤
150 delay
0 5 servo
50 delay
6000 5 servo # 2V 30ms ¤ 0V 30ms ¤ 5V ¤ 30 ms ¤ 0V 400ms
30 delay
0 5 servo
30 delay
6000 5 servo
30 delay
0 5 servo
600 delay
remote_a if fin endif
return
sub fin
6000 5 servo # 2V 500ms ¤ 0V 50ms ¤
600 delay
0 5 servo
50 delay
6000 5 servo # 2V 30ms ¤ 0V 30ms ¤ 5V ¤ 30 ms ¤ 0V 400ms
30 delay
0 5 servo
30 delay
6000 5 servo
30 delay
0 5 servo
900 delay
return
mich2e a écrit:tu devrais pouvoir rajouter un gros moteur !
mich2e a écrit:En cherchant bien je peux encore trouver quelques idées.
becotus a écrit:Bien qu'il existe d'autres possibilités de microprocesseurs, Arduino et Pololu apparaissent comme les deux offres les plus élaborées et les plus adaptées à l'aérophoto et à des néophytes de mon genre.
becotus a écrit:Difficile de différencier Pololu et Arduino. Pour les deux (...) possibilités de radio-commande, Wifi, interfaces graphiques, GPS, etc...Il semblerait que davantage de capteurs soient proposés sur Pololu.
becotus a écrit:Indéniablement, pour les connexions de base, et en particulier s'il n'y a que des servos à gérer, c'est simple et direct sur Pololu. Avec Arduino, il y a des connexions à installer
becotus a écrit:Pour des applications basiques le résultat est sans doute plus accessible avec Pololu
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
/*
Button
Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 2.
(...)
*/
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
// Sweep
// by BARRAGAN <http://barraganstudio.com>
// This example code is in the public domain.
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0; // variable to store the servo position
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
a906 a écrit:Gilbert, t'es encore resté toute la nuit devant le pc et l'arduino... lalalala, j'te jure
André a écrit:Mais pas d'inquiétude : c'est moi, pas tes explications
hansel a écrit:Quand j’étais gamin a l’école la maitresse me disait "tu comprend vite, mais il faut t'expliquer longtemps'
becotus a écrit:Cependant, il est peut-être inapproprié de comparer ces deux modules car ils n'ont pas le même but au départ. En fait, l'Arduino nano devrait se comparer à un autre contrôleur programmable, et le Pololu mini maestro à un autre contrôleur de servo.
Le vrai regret c'est que le microcontroleur du mini maestro ne soit pas (re)programmable.
becotus a écrit:Gilbert, que veux-tu dire par là?
becotus a écrit:Merci Gilbert pour tous ces compléments.
becotus a écrit:¤ Un ajout à ma nacelle stéréo: déclenchement Ricoh et retour vidéo de l'un ou l'autre des appareils. Bon, je peux le faire aussi sans microcontrôleur mais j'éviterai ainsi de monter mon CA1 spécial stéréo et ses gros cables et j'aurai plus de possibilités... (le CA1 est le module de déclenchement de Ricoh auquel j'ai ajouté une 2ème usb et une entrée pour le déclenchement à distance, ce qui fait 65g)
becotus a écrit:¤ Ajouter un pano automatique sur la nacelle radio-commandée. Un appui sur la 5ème voie de la radio-commande, et hop, c'est parti pour un tour.
becotus a écrit:¤ Une nacelle autokap simplissime
becotus a écrit:Pour la perche, ce pourrait bien être un Arduino.
Deltakap a écrit:As-tu le schéma de ce CA1? Est-il sur ton site? (j'ai pas cherché )
becotus a écrit:Un doute sur la 5ème voie? moi aussi.
becotus a écrit:Par ailleurs, j'ai remarqué que certains utilisent des Pololu Maestro en liaison avec un Arduino puisque le Maestro est un contrôleur de servo, et il y a des scripts arduino pour cela.
becotus a écrit:Je devrais commencer dans quelques jours sur Maestro, et je pense en même temps à un projet pour Arduino!
#include <Servo.h>
Servo servo_pin_10;
int _ABVAR_2_;
int _ABVAR_1_TRotationPAN;
int _ABVAR_3_i;
Servo servo_pin_9;
void setup()
{
servo_pin_10.attach(10);
_ABVAR_1_TRotationPAN = 0;
pinMode( 13 , OUTPUT);
servo_pin_9.attach(9);
_ABVAR_3_i = 0;
}
void loop()
{
_ABVAR_1_TRotationPAN = 10000 ;
servo_pin_9.write( 1520 );
delay( ( _ABVAR_1_TRotationPAN / 8 ) );
servo_pin_9.write( 1500 );
for (_ABVAR_2_=0; _ABVAR_2_< ( 5 ); ++_ABVAR_2_ )
{
servo_pin_10.write( _ABVAR_3_i );
_ABVAR_3_i = ( _ABVAR_3_i + 18 ) ;
delay( 1000 );
digitalWrite( 13 , HIGH );
delay( 200 );
digitalWrite( 13 , LOW );
}
_ABVAR_3_i = 0 ;
delay( 3000 );
}
Retourner vers L'électronique embarquée et au sol
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 22 invités