Domotique avec ATTiny téléphone portable (2 / 3 étapes)

Étape 2: Programmation du ATTiny

Pour programmer le ATTiny vous pouvez trouver l’instruction dans la ' ible à l’étape précédente.

Voici le programme que j’ai utilisé: (modifié sur avis du gulliverrr)

 /*ATTiny switch with timer (by Max Janssen june 2015)The ATTiny timer is not very accurate, but enough to switch for a certain number of secondsThe digital switch is based upon a LDR and resistor. GND---LDR---(A1)---100KOhm---5VThe switch output goes to an LH1540 Optocoupler Solid State Relais to switch whatever. Pin1---100Ohm---Pin1(LH1540)Pins 3 and 4 are used to jumper to GND and set different switching timesIf 3 phonecalls are received minimum 30 seconds and maximum 2 minutes apart the switch is triggered */ These constants won't change. They're used to give names // to the pins used: const int ldrValue = A1; // Analog input pin that the LDR is attached to const int setPin1 = 3; // for setting time delay const int setPin2 = 4; const int outputPin = 1; // to switch (ss relais)int sensorValue = 0; // value read from the LDR int timerValue = 0; int ldrTreshold = 600; //Treshold to switchvoid setup() { // initialize serial communications at 9600 bps (not for ATTiny) // Serial.begin(9600); pinMode(setPin1, INPUT_PULLUP); pinMode(setPin2, INPUT_PULLUP); pinMode(outputPin, OUTPUT); digitalWrite(outputPin, LOW); }void loop() { // read the LDR value: sensorValue = analogRead(ldrValue); if (sensorValue <= ldrTreshold) countRings(); // print the results to the serial monitor: /* Serial.print("Pin1 = " ); Serial.print(digitalRead(setPin1)); Serial.print(" Pin2 = " ); Serial.print(digitalRead(setPin2)); Serial.print(" sensor = " ); Serial.print(sensorValue); Serial.print(" timerValue = " ); Serial.println(timerValue); */ // wait before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(200); }void countRings() { int ringCounter = 1; // phone has rung once unsigned long timeNow = millis(); delay(30000); //delay for 30 seconds while(millis() <= timeNow + 120000){ //check signal for 2 minutes sensorValue = analogRead(ldrValue); if (sensorValue <= ldrTreshold){ ringCounter = 2; break; } } if (ringCounter < 2) return; //the phone did not ring 2 times delay(30000); //delay for 30 seconds timeNow = millis(); while(millis() <= timeNow + 120000){ //check signal for 2 minutes sensorValue = analogRead(ldrValue); if (sensorValue <= ldrTreshold){ ringCounter = 3; break; } } if(ringCounter < 3) return; //the phone did not ring 3 times Switch(); // 3 rings => start the switching time } void Switch(){ // set timer value. set = 0, not set = 1!!! // setPin2, setPin1, delay (millisec) // 1 1 300.000 (15 min) // 1 0 1200.000 (30 min) // 0 1 3600.000 (60 min) // 0 0 7200.000 (120 min) int timerState = (digitalRead(setPin2)*10)+digitalRead(setPin1); // Serial.println(timerState); switch(timerState){ case 11: timerValue = 300000; break; case 10: timerValue = 1200000; break; case 1: timerValue = 3600000; break; case 0: timerValue = 7200000; break; } digitalWrite (outputPin, HIGH); delay(timerValue); digitalWrite (outputPin, LOW); } 

Lorsque vous testez le programme vous pouvez diminuer la timerValue vous n’avez pas à attendre deux heures pour voir si la dernière option fonctionne...

En raison de l’utilisation de INPUT_PULLUP, vous pouvez pouvez connecter un port à la terre pour nous comme un interrupteur. C’est pourquoi l’état d’arrêt est 1 et l’État sur 0. (Voir l’utilisation de setPin1 et setPin2)

Le ldrTreshold peut être déterminé en téléchargeant l’esquisse d’un Arduino Uno et en utilisant la connexion série pour examiner les valeurs. Ces valeurs peuvent être utilisées dans le ATTiny.

Bien sûr, vous pouvez modifier les valeurs des timerValue pour répondre à votre besoin pour les retards.

Articles Liés

360° Photo sphères avec un téléphone portable (presque) parfaite

360° Photo sphères avec un téléphone portable (presque) parfaite

Savez-vous ce qu'est une image sphérique 360 x 180° ? Eh bien, ils ont été largement diffusées par Google Street View et plus récemment par son extension, la vue d'affaires de Google, mais ce genre de photographie existe déjà depuis la fin des années
Scanner Photo avec votre téléphone portable

Scanner Photo avec votre téléphone portable

Cette instructables montrent comment utiliser un téléphone portable pour numériser la photo dans votre album vieux.Votre téléphone mobile ont un méga pixel appareil photo avec autofocus. C'est un scanner de très bonne photo, il vous suffit d'une sour
Alimenter l’Arduino avec un téléphone portable

Alimenter l’Arduino avec un téléphone portable

vieux téléphones cellulaires sont faciles à acquérir et qu'ils ont construit en lithium, circuit de charge. Ce qu'une base parfaite pour un bloc d'alimentation pour les petites choses mobiles. J'ai branché un téléphone portable à l'arduino avec la po
Mesure et carte des nuisances sonores avec votre téléphone portable

Mesure et carte des nuisances sonores avec votre téléphone portable

Nicolas Maisonneuve (Sony CSL Paris)Matthias Stevens (Vrije Universiteit Brussel / Sony CSL Paris)Luc Steels (Vrije Universiteit Brussel / Sony CSL Paris)Dans ce « Instructable », vous apprendrez comment vous pouvez utiliser votre téléphone mobile éq
Comment faire pour maintenir les coûts bas lors d’un voyage avec votre téléphone portable

Comment faire pour maintenir les coûts bas lors d’un voyage avec votre téléphone portable

de nos jours la plupart des gens sont tellement accros à leurs téléphones portables que voyager sans ces gadgets pratiques est impensable - ne pas de mentionner que vous voyagez avec votre propre moyen de communication est beaucoup plus pratique et r
Comment faire pour activer à distance sur n’importe quel périphérique par exemple, un ordinateur (avec un téléphone portable)

Comment faire pour activer à distance sur n’importe quel périphérique par exemple, un ordinateur (avec un téléphone portable)

dans ce instructable je vais vous montrer comment transformer un vieux cellulaire en un interrupteur d'alimentation à distance de votre ordinateur. Pour d'autres appareils, voir dernière étape.C'est presque gratuit, si vous avez un vieux portable et
Tirer les fleurs avec un fond noir avec un téléphone portable sous $2

Tirer les fleurs avec un fond noir avec un téléphone portable sous $2

Vous allez adorer celui-ci. Nous voyons les résultats des photographes très habiles tir à fleurs avec fond noir tout le temps. Ils sont toujours superbes. Je vais vous montrer comment obtenir cet effet avec un téléphone cellulaire sans n'importe quel
Commande de moteurs avec un téléphone portable

Commande de moteurs avec un téléphone portable

Je travaille sur un projet où je veux pour piloter deux moteurs basés sur des signaux provenant d'un téléphone cellulaire. Quelque chose de simple. Quelque chose qui déclenche chaque fois que je reçois un SMS sur mon téléphone. Il existe plusieurs fa
Contrôler votre chambre lumineuse avec votre téléphone portable

Contrôler votre chambre lumineuse avec votre téléphone portable

Cette instructable vous montrera comment connecter votre ampoule sur votre téléphone mobile et il commande par capteur IR.Vous pouvez contrôler quelque chose électrique à votre domicile après cette instructable, si vous comprenez les concepts princip
Développement d’Ito avec téléphone portable directement

Développement d’Ito avec téléphone portable directement

Cette Instructables montre comment coder votre ITO avec votre téléphone portable directement.Une fois l'installation terminée, il est inutile USB-TTL câble (ni un serveur supplémentaire) plus, direct juste connecter votre mobile à ESP softAP ou votre
Domotique avec un Smartphone (TV, Arduino, lumière, sécurité, projecteur, lecteur DVD...)

Domotique avec un Smartphone (TV, Arduino, lumière, sécurité, projecteur, lecteur DVD...)

Ces jours-ci les dispositifs de la domotique et la maison des systèmes de contrôle sont très populaires. Même dans la communauté de DIY-ers. Donc décidé de faire mon propre dispositif de contrôle domestique en utilisant Arduino. L'appareil peut être
Cas de trépied pour le téléphone portable bande de conduit

Cas de trépied pour le téléphone portable bande de conduit

vous pouvez presque tout faire avec votre téléphone portable, tout c'est tout sauf monter sur un trépied.  Avec les téléphones portables ayant 5MP caméras, il est naturel de vouloir abandonner la caméra numérique ordinaire, mais comment surmonter le
Peu coûteux objectif Macro pour votre téléphone portable ou une tablette

Peu coûteux objectif Macro pour votre téléphone portable ou une tablette

il y a eu beaucoup de Instructables différentes à ce sujet et aucun jusqu'à présent ont été les mêmes que ce que j'ai fait pendant les quatre dernières années, alors j'ai pensé que je laisserais la communauté maker sur mon secret.Avec l'habitude du c
Connecter un combiné téléphonique sur votre téléphone portable

Connecter un combiné téléphonique sur votre téléphone portable

vérifier sur le site de l'auteur, http://www.neatinformation.com/, pour les lots d'articles intéressants. Si vous liez à ce instructable depuis un autre site Web, veuillez inclure un lien vers le site d'Information soignée .Remarque : vous aurez beso