Ви не увійшли.
Сторінки 1
Иракли пише:for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}это сработала какк надо спасибо вам огромное могли бы выв если у вас есть время расписать по куском код чтоб я понял что ту просходит. типа почему i переменная равно 2 и если и меньше 10 типа 10 каналов?
и есть может какие нибудь хорошие учебники для arduino? хотелось бы научится самому писать коды
По поводу значений переменной i - посмотрите на номера своих пинов к которым подключены реле, почитайте это https://doc.arduino.ua/ru/prog/For и, я думаю, сами все поймете. Если нет - задавайте вопросы. Будем подсказывать
Ещё такой вопрос я уже сжёг второй ИК приемник Реле на 8 каналов схема такая как на фото может подскажете что то ещё может нужно добавить в схему а то в этом не шарю
Иракли пише:for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}это сработала какк надо спасибо вам огромное могли бы выв если у вас есть время расписать по куском код чтоб я понял что ту просходит. типа почему i переменная равно 2 и если и меньше 10 типа 10 каналов?
и есть может какие нибудь хорошие учебники для arduino? хотелось бы научится самому писать коды
По поводу значений переменной i - посмотрите на номера своих пинов к которым подключены реле, почитайте это https://doc.arduino.ua/ru/prog/For и, я думаю, сами все поймете. Если нет - задавайте вопросы. Будем подсказывать
Расскажите еще такое я раньше ползовалися всегда arduino nano сейчас заказал шилд avr и arduino uno и пару atmega328 скажите это рациональне дешевле удобнее лучше? может какие то хитрости посоветуете по конечной обвязке сборке и так далее. спасибо большое
Иракли пише:for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}это сработала какк надо спасибо вам огромное могли бы выв если у вас есть время расписать по куском код чтоб я понял что ту просходит. типа почему i переменная равно 2 и если и меньше 10 типа 10 каналов?
и есть может какие нибудь хорошие учебники для arduino? хотелось бы научится самому писать коды
По поводу значений переменной i - посмотрите на номера своих пинов к которым подключены реле, почитайте это https://doc.arduino.ua/ru/prog/For и, я думаю, сами все поймете. Если нет - задавайте вопросы. Будем подсказывать
Вроде бы все получилось #include "IRremote.h"
IRrecv irrecv(A5);
decode_results results;
int led1=0;
int led2=0;
int led3=0;
int led4=0;
int led5=0;
int led6=0;
int led7=0;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );} // или low в зависимости от того каким уровнем выключаются реле
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if ( irrecv.decode( &results )) {
Serial.println(results.value, HEX);
if (results.value==0xFF30CF&&led1==0){
digitalWrite( 2, HIGH );led1=1;results.value=0;
}
if (results.value==0xFF30CF&&led1==1){
digitalWrite( 2, LOW );led1=0;results.value=0;
}
if (results.value==0xFF18E7&&led2==0){
digitalWrite( 3, HIGH );led2=1;results.value=0;
}
if (results.value==0xFF18E7&&led2==1){
digitalWrite( 3, LOW );led2=0;results.value=0;
}
if (results.value==0xFF7A85&&led3==0){
digitalWrite( 4, HIGH );led3=1;results.value=0;
}
if (results.value==0xFF7A85&&led3==1){
digitalWrite( 4, LOW );led3=0;results.value=0;
}
if (results.value==0xFF10EF&&led4==0){
digitalWrite( 5, HIGH );led4=1;results.value=0;
}
if (results.value==0xFF10EF&&led4==1){
digitalWrite( 5, LOW );led4=0;results.value=0;
}
if (results.value==0xFF38C7&&led5==0){
digitalWrite( 6, HIGH );led5=1;results.value=0;
}
if (results.value==0xFF38C7&&led5==1){
digitalWrite( 6, LOW );led5=0;results.value=0;
}
if (results.value==0xFF5AA5&&led6==0){
digitalWrite( 7, HIGH );led6=1;results.value=0;
}
if (results.value==0xFF5AA5&&led6==1){
digitalWrite( 7, LOW );led6=0;results.value=0;
}
if (results.value==0xFF42BD&&led7==0){
digitalWrite( 8, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF42BD&&led7==1){
digitalWrite( 8, LOW );led7=0;results.value=0;
}
if (results.value==0xFF4AB5&&led7==0){
digitalWrite( 9, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF4AB5&&led7==1){
digitalWrite( 9, LOW );led7=0;results.value=0;
}
if (results.value==0xFF52AD) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, LOW );}}
if (results.value==0xFF6897) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}}
irrecv.resume();
}
}
for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}
это сработала какк надо спасибо вам огромное могли бы выв если у вас есть время расписать по куском код чтоб я понял что ту просходит. типа почему i переменная равно 2 и если и меньше 10 типа 10 каналов?
и есть может какие нибудь хорошие учебники для arduino? хотелось бы научится самому писать коды
1.В setup переl Serial.begin вставьте
for(int i=2; i < 10; i++){
digitalWrite( i, LOW );} // или HIGH в зависимости от того каким уровнем выключаются реле
2. Аналогично в коде добавьте что-то типа
if (results.value==XXXXXXXXXXX) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}
#include "IRremote.h"
IRrecv irrecv(A5);
decode_results results;
int led1=0;
int led2=0;
int led3=0;
int led4=0;
int led5=0;
int led6=0;
int led7=0;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if ( irrecv.decode( &results )) {
Serial.println(results.value, HEX);
if (results.value==0xFF30CF&&led1==0){
digitalWrite( 2, HIGH );led1=1;results.value=0;
}
if (results.value==0xFF30CF&&led1==1){
digitalWrite( 2, LOW );led1=0;results.value=0;
}
if (results.value==0xFF18E7&&led2==0){
digitalWrite( 3, HIGH );led2=1;results.value=0;
}
if (results.value==0xFF18E7&&led2==1){
digitalWrite( 3, LOW );led2=0;results.value=0;
}
if (results.value==0xFF7A85&&led3==0){
digitalWrite( 4, HIGH );led3=1;results.value=0;
}
if (results.value==0xFF7A85&&led3==1){
digitalWrite( 4, LOW );led3=0;results.value=0;
}
if (results.value==0xFF10EF&&led4==0){
digitalWrite( 5, HIGH );led4=1;results.value=0;
}
if (results.value==0xFF10EF&&led4==1){
digitalWrite( 5, LOW );led4=0;results.value=0;
}
if (results.value==0xFF38C7&&led5==0){
digitalWrite( 6, HIGH );led5=1;results.value=0;
}
if (results.value==0xFF38C7&&led5==1){
digitalWrite( 6, LOW );led5=0;results.value=0;
}
if (results.value==0xFF5AA5&&led6==0){
digitalWrite( 7, HIGH );led6=1;results.value=0;
}
if (results.value==0xFF5AA5&&led6==1){
digitalWrite( 7, LOW );led6=0;results.value=0;
}
if (results.value==0xFF42BD&&led7==0){
digitalWrite( 8, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF42BD&&led7==1){
digitalWrite( 8, LOW );led7=0;results.value=0;
}
if (results.value==0xFF4AB5&&led7==0){
digitalWrite( 9, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF4AB5&&led7==1){
digitalWrite( 9, LOW );led7=0;results.value=0;
}
if (results.value==0xFF52AD) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}
irrecv.resume();
}
}
}
после того как я дописал код самом конце if (results.value==0xFF52AD) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}
irrecv.resume();
}
}
в serial porte показывается как будто кнопка зажата на пульте хотя датчик не принимает в эот время никаких сигналов
1.В setup переl Serial.begin вставьте
for(int i=2; i < 10; i++){
digitalWrite( i, LOW );} // или HIGH в зависимости от того каким уровнем выключаются реле
2. Аналогично в коде добавьте что-то типа
if (results.value==XXXXXXXXXXX) // xxxxxxxxxxxxxxxxx - код кнопки
{for(int i=2; i < 10; i++){
digitalWrite( i, HIGH );}
Спасибо большое сейчас попробую
1)в Setup пропишите выключение всех 8 реле.
2)все 8 должны включаться с одной кнопки?
Вот скетч я приложил там же указано int led1=0 чтоб он отключенным был или я не правильно сделал?
2)все включатся и все выключается с одной кнопки. Спасибо.
Ребята я не знаю пост по теме или нет по этому приношу извинения. Где я могу найти ребят которые шарят в скетче возникло несколько проблем и не знаю как ее решить может подскажете место для обсуждений. Спасибо
Если все таки можно здесь обсуждать то я опишу проблему.
1)у меня 8 канальный реле напряжения при подключении питания к ардуйно автоматически включается реле и это проблематично так как отключить то ее можно с помощью ИК пульта но если пропадет свет и буду не дома то при восстановлении электропитании опять все каналы включатся а это блин опасно 220водьт все таки + не хочу чтоб включалась нагрузка.
И вторая проблема я написал сует для ИК пульта и для включения и отключения реле напряжения и я не знаю как написать код для одновременно включения всех 8 каналов и их отключения по одному я сделала а вот вместе не знаю. Спасибо большое.
#include "IRremote.h"
IRrecv irrecv(A5);
decode_results results;
int led1=0;
int led2=0;
int led3=0;
int led4=0;
int led5=0;
int led6=0;
int led7=0;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if ( irrecv.decode( &results )) {
Serial.println(results.value, HEX);
if (results.value==0xFF30CF&&led1==0){
digitalWrite( 2, HIGH );led1=1;results.value=0;
}
if (results.value==0xFF30CF&&led1==1){
digitalWrite( 2, LOW );led1=0;results.value=0;
}
if (results.value==0xFF18E7&&led2==0){
digitalWrite( 3, HIGH );led2=1;results.value=0;
}
if (results.value==0xFF18E7&&led2==1){
digitalWrite( 3, LOW );led2=0;results.value=0;
}
if (results.value==0xFF7A85&&led3==0){
digitalWrite( 4, HIGH );led3=1;results.value=0;
}
if (results.value==0xFF7A85&&led3==1){
digitalWrite( 4, LOW );led3=0;results.value=0;
}
if (results.value==0xFF10EF&&led4==0){
digitalWrite( 5, HIGH );led4=1;results.value=0;
}
if (results.value==0xFF10EF&&led4==1){
digitalWrite( 5, LOW );led4=0;results.value=0;
}
if (results.value==0xFF38C7&&led5==0){
digitalWrite( 6, HIGH );led5=1;results.value=0;
}
if (results.value==0xFF38C7&&led5==1){
digitalWrite( 6, LOW );led5=0;results.value=0;
}
if (results.value==0xFF5AA5&&led6==0){
digitalWrite( 7, HIGH );led6=1;results.value=0;
}
if (results.value==0xFF5AA5&&led6==1){
digitalWrite( 7, LOW );led6=0;results.value=0;
}
if (results.value==0xFF42BD&&led7==0){
digitalWrite( 8, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF42BD&&led7==1){
digitalWrite( 8, LOW );led7=0;results.value=0;
}
if (results.value==0xFF4AB5&&led7==0){
digitalWrite( 9, HIGH );led7=1;results.value=0;
}
if (results.value==0xFF4AB5&&led7==1){
digitalWrite( 9, LOW );led7=0;results.value=0;
}
irrecv.resume();
}
}
Сторінки 1