merci artouste , du coup ok pour les sortie A6 A7 , j'en apprends tous les jours
du coup je viens de changer les sorties ( D7 et D8 ) dispo sur mon montage arduino UNO
et toujours rien ? les 7 et 8 ne sont pas des sorties ?
voici le code :
#include<Servo.h>
#include <SPI.h>
#include <NRFLite.h>
int rge = 6;
int vert = 5;
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
Servo myservo7;
Servo myservo8;
const static uint8_t RADIO_ID = 0;
const static uint8_t PIN_RADIO_CE = 9;
const static uint8_t PIN_RADIO_CSN = 10;
struct RadioPacket // Packet de données envoyé,
{
uint32_t Valeur;
uint32_t ValeurB;
uint32_t ValeurC;
};
NRFLite _radio; //Déclaration du module NRF
RadioPacket _radioData;//Déclaration du packet de données
int tir = 3;
void setup()
{
pinMode( rge , OUTPUT );
pinMode( vert , OUTPUT );
pinMode( tir , OUTPUT );
digitalWrite(tir, HIGH);
myservo1.attach(A0);
myservo2.attach(A1);
myservo3.attach(A2);
myservo4.attach(A3);
myservo5.attach(A4);
myservo6.attach(A5);
myservo7.attach(7);
myservo8.attach(8);
myservo1.write(10);
myservo2.write(10);
myservo3.write(10);
myservo4.write(10);
myservo5.write(10);
myservo6.write(10);
myservo7.write(10);
myservo8.write(10);
Serial.begin(9600);
if (!_radio.init(RADIO_ID, PIN_RADIO_CE, PIN_RADIO_CSN))//si l'initialisation du module n'est pas finie
{
digitalWrite(rge, HIGH);
digitalWrite(vert, LOW);
while (1); // Attend
}
digitalWrite(rge, LOW);
digitalWrite(vert, HIGH);
delay(200);
digitalWrite(vert, LOW);
delay(200);
digitalWrite(vert, HIGH);
delay(200);
digitalWrite(vert, LOW);
delay(200);
digitalWrite(vert, HIGH);
delay(200);
digitalWrite(vert, LOW);
delay(2000);
}
void loop()
{
digitalWrite(rge, HIGH); // témoin module allumé
while (_radio.hasData())//Tant que le module NRF a des données
{
_radio.readData(&_radioData); // lecture des nouvelles données
_radioData.Valeur = map( _radioData.Valeur, 0, 255, 5, 110);
_radioData.ValeurB = _radioData.ValeurB ;
_radioData.ValeurC = _radioData.ValeurC ;
}
myservo1.write(_radioData.Valeur);
myservo2.write(_radioData.Valeur);
myservo3.write(_radioData.Valeur);
myservo4.write(_radioData.Valeur);
myservo5.write(_radioData.Valeur);
myservo6.write(_radioData.Valeur);
myservo7.write(_radioData.Valeur);
myservo8.write(_radioData.Valeur);
if (_radioData.ValeurB >=100&& _radioData.ValeurB <=150){
for(int pos = 5; pos <= 110; pos += 1)
{
myservo1.write(pos);
myservo2.write(pos);
myservo3.write(pos);
myservo4.write(pos);
myservo5.write(pos);
myservo6.write(pos);
myservo7.write(pos);
myservo8.write(pos);
delay(20);
}
for(int pos = 110; pos>=5; pos-=1)
{
myservo1.write(pos);
myservo2.write(pos);
myservo3.write(pos);
myservo4.write(pos);
myservo5.write(pos);
myservo6.write(pos);
myservo7.write(pos);
myservo8.write(pos);
delay(10);
}
_radioData.ValeurB = 0 ;
}
Serial.println(_radioData.ValeurB);
if (_radioData.ValeurC >=200){
digitalWrite(tir, LOW);
digitalWrite(vert, HIGH);
delay(100);
}
else {
digitalWrite(tir, HIGH);
digitalWrite(vert, LOW);
}
}