RTC et Moteur Problème

Bonjour,

je pars en vacances dans quelques jours, et pour cela j'aimerai créer un programme qui permette de nourrir mes chats 1 fois par jour pendant mon absence. Je m'explique, je défini une heure à laquelle un moteur est actionné dans un sens et il pousse une plaquette qui ouvre le récipient de bouffe, puis il la referme quelques secondes après pour rebloquer la descente de la bouffe.

En tout cas je me suis procurer un RTC DS1307, j'ai un moteur ainsi qu'un I2C MOTOR Driver 1.3b pour piloter mon moteur dans les deux sens. Du coup j'ai commencé ce code, merci de me dire ce qui ne va pas !

#include "Grove_I2C_Motor_Driver.h"
#define I2C_ADDRESS 0x0f
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

void setup()
{    
              
  Motor.begin(I2C_ADDRESS);
  }


void loop()
{

DateTime now = RTC.now(); 
  
DateTime heureRTC;
uint8_t heureMatin=0;
uint8_t minuteMatin=00;
uint8_t secondeMatin=00;
uint8_t secondeMatinFin=30;

heureRTC = RTC.now();

if (heureRTC.hour()==heureMatin && heureRTC.minute()==minuteMatin && heureRTC.second()==secondeMatin)
{
    Motor.speed(MOTOR2, -70);
  delay(2000);
  Motor.stop(MOTOR2);
}

if (heureRTC.hour()==heureMatin && heureRTC.minute()==minuteMatin && heureRTC.second()==secondeMatinFin)
{
    Motor.speed(MOTOR2, 70);
  delay(2000);
  Motor.stop(MOTOR2);
}
  Motor.speed(MOTOR2, -70);
  delay(2000);
  Motor.stop(MOTOR2);
  
}

Bonjour,

départ dans quelques jours ... wouarf un peu juste pour développer un programme et un ensemble mécanique qui risque de transformer les chats en descente de lit en cas de problème.

Il faut tester ça sur 6 mois semaine après semaine en regardant la fiabilité de fonctionnement et en condition semi réelle a part la surveillance ...
rien d'autre a manger pour les chats en tous cas.
N'importe quoi peut arriver !

cordialement

Oui en réalité je garde ma deuxieme option de demander au voisins de les nourrir, mais j'aimerai bien quand même résoudre mon problème^^

C’est une découverte particulièrement sordide qui s’est produite la semaine dernière dans une habitation de Comines. Des chats étaient enfermés dans une pièce, affamés. L’un des quatre a fini par manger les autres.

et encore je poste pas les photos de l'article. Remarquez il en reste un ... humour noir

1ere option et seule option : demander au voisin ou autre de venir.

Travailler et résoudre les problèmes du dispositif pour éventuellement une prochaine fois.

En tous cas je ne prendrais pas ce risque.

cordialement.

En quelques jours le système programmé le plus fiabilisé sera le voisin :smiley:

Ya même pas d'illusions à se faire.

et l'eau dans tout ça ?

bonjour,
déjà, qu'est ce qui ne fonctionne pas?

après quand on créé un code, on le debug avec un serial .begin et des serial.print.
les variables se mettent en début de code et non dans le loop.
A la place du moteur, on met une led pour tester.

on trouve une solution en cas où une croquette coince la trappe aussi.
le moteur risque de forcer, chauffer et mettre le feu.

Bref, on ne se lance pas comme ca dans un code la veille, comme tous les autres le font remarquer.

Ok merci pour votre aide, je ne compte plus utiliser mon code pour cette occasion j'ai déjà appeler un ami ( j'aime pas mon voisin xD ) et je vais lui filer mes clefs pour qu'il nourrissent mes chats.
Quoiqu'il en soit, je ne sais pas si on est ici pour parler de chat, mais plutot du programme.
En fait le prblm que je rencontre c'est que mon RTC n'est pas detecté

je ne vois pas de

rtc.begin();

dans le code setup

Essaye avec un scaner I2C (petit programme pour scruter le bus I2C, gogole t'en donnera) pour voir si l'horloge DS1307 est détectée et vérifier que l'adresse que tu mets est la bonne.

N'oublie pas la boîte spécial "Noël" pour ton chat :grin: .