CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : des pros arduino ici ?

DébutPage précedente
1
Page suivantePage suivante
[F]Law3 [F]Law3
MP
Niveau 5
29 avril 2016 à 09:33:03

Salut, j'ai besoin d'aide dans mon programme arduino, c'est niveau amateur mais peu complexe, si quelqu'un qui s'y connait bien peut m'aider,je vais tout bien détailler, qu'il m'envoie un MP.

[F]Law3 [F]Law3
MP
Niveau 5
29 avril 2016 à 10:57:11

Je le poste directement ici, merci à ceux qui prendront la peine de m'aider

En gros je cherche a adapter mon programme en fonction du programme cariotts pour y transmettre mes données :

Le programme cariotts (j'ai mis que la parti utile) :

int LEDPin = 7; // Une LED est branchée à la sortie 7
int PotPin = A3; // Un potentiomètre a son curseur branchée à l'entrée analogique 3

int LED = 0; // État précédent de la LED (0 si éteinte, 1 si allumée)
int newLED = 0; // Nouvel état de la LED (0 si éteinte, 1 si allumée)

void setup() {

pinMode(LEDPin, OUTPUT);
Serial.begin(9600);

Serial.println("Demarrage");

// DHCP (dynamic host configuration protocol): on cherche une adresse ip pour
// votre shield Ethernet.
if (Ethernet.begin(mac) == 0) {
Serial.println("Echec de la configuration DHCP Ethernet");
while(true); // alors pas la peine d'aller plus loin
}

Serial.println("Reussite de la configuration DHCP Ethernet");
delay(1000);
}

void loop() {

int val = analogRead(PotPin); // Valeur du potentiomètre

if (val > 500) { // 500 est la frontière arbitraire entre LED allumée et LED éteinte
newLED = 1; // On allume la LED
}
else {
newLED = 0; // on éteint la LED
}

digitalWrite(LEDPin, newLED);

if (LED != newLED) { // Si l'état de la LED a changé
Serial.println("");
Serial.println("");
Serial.println("Envoi du Stream");
LED = newLED;
sendStream(); // on envoi les données au serveur carriots
}

delay(500);

// Si on reçoit des données de l'internet, on les envoit au moniteur
// série (utile pour déboguer).
while (client.available()) {
char c = client.read();
Serial.print(c);
}

if (!client.connected()) {
client.stop();
}
}

// Envoi des données
void sendStream()
{
String txt1 = String(analogRead(PotPin)); //String contenant la valeur du potentiomètre

Serial.print("Valeur du potentiometre: " );
Serial.println(txt1); // pour débogage

String txt2 = "";
if ( LED == 0 ) {
txt2 = "LED_OFF"; // String indiquant l'état de la LED
}
else {
txt2 = "LED_ON";
}

Serial.print("Etat de la LED: ");
Serial.println(txt2); // Pour débogage

if (client.connect(server, 80)) { // Si la connexion fonctionne
Serial.println("Connection etablie");

String json = "{\"protocol\":\"v2\",\"device\":\""+DEVICE+"\",\"at\":\"now\",\"data\":{\"valeur\":\""+txt1+"\",\"LED\":\""+txt2+"\"}}";

Mon programme (capteur de température et présence a adapter en fonction de celui là haut) :

int ledPin = 13; // Pin choisie à cause de sa LED (visible sur la carte)
int inputPin = 37; // Pin d'entrée choisie pour surveillé le senseur PIR
int pirMotionState = LOW; // Pour commencer, nous considérons qu'il n'y a pas de nouvement.
int val = 0; // Variable utilisée pour lire l'entrée Pin 2 (valeur du PIR)

void setup() {
pinMode(ledPin, OUTPUT); // déclarer LED comme sortie
pinMode(inputPin, INPUT); // déclarer le Senseur comme entrée

Serial.begin(9600);
Serial.begin(9600);//Set Baud Rate to 9600 bps
}

void loop(){

int val;
int dat;
val=analogRead(0);//Connect LM35 on Analog 0
dat=(500 * val) /1024;;
Serial.print("Temp:"); //Display the temperature on Serial monitor
Serial.print(dat);
Serial.println("C");
delay(500);
val = digitalRead(inputPin); // Lire la valeur d'entrée
if (val == HIGH) { // Vérifier si l'entrée est HIGH
digitalWrite(ledPin, HIGH); // Allumer la LED (activité PIR)
if (pirMotionState == LOW) {
// Si l'état du PIR est LOW, comme nous venons de détecter un mouvement
// nous changeons l'état pirMotionState à HIGH (mouvement détecté)
Serial.println("Mouvement détecté!");
// Nous affichons le message seulement quand la sortie change
pirMotionState = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // Eteindre la LED (plus d'activité PIR)
if (pirMotionState == HIGH){
// Si l'état PIR est HIGH (mouvement détecté) et que la sortie du PIR
// passe à LOW, c'est que le mouvement à cessé!
Serial.println("Mouvement terminé!");
// Nous affichons le message que pour le changement d'état (détection mouvement)
pirMotionState = LOW;
}
}
}

Photo du montage : https://www.noelshack.com/2016-17-1461919834-snapchat-1497543062424261538.jpg (il fonctionne, ça s'affiche correctement sur le moniteur série)

Liens des explications complète pour le premier programme :

http://electroniqueamateur.blogspot.fr/2013/08/envoyer-des-donnees-carriotscom-avec-un.html
https://www.carriots.com/tutorials/arduino_carriots/alert_system

Market56 Market56
MP
Niveau 5
02 mai 2016 à 09:08:36

Le 29 avril 2016 à 10:57:11 [F]Law3 a écrit :
Photo du montage : https://www.noelshack.com/2016-17-1461919834-snapchat-1497543062424261538.jpg (il fonctionne, ça s'affiche correctement sur le moniteur série)

C'est quoi la question si tout fonctionne ? :hap:

Tu veux envoyer les données via internet comme dans l'exemple ?

kferfred_2 kferfred_2
MP
Niveau 6
03 mai 2016 à 11:34:16

Salut, au risque de se répéter, merci d'utiliser gist ou pastebin !
Je suis pas modo mais c'est très ennuyant de voir une page de code sur le forum.

Merci.

Sinon pour ton montage, cariotts fonctionne mais pas ton programme ? Je suis comme mon VDD, je ne vois pas quelle est ta question ^^

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment