• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie wieloma przekaźnikami, kombinacje
#6
przepraszam, dałem tylko linka
Kod:
//#include <Wire.h>
//#include "PCF8574.h";
//PCF8574 expander1;
//PCF8574 expander2;

long L;
long Lnastawa = 0;
int L1stan;
int L2stan;
int L3stan;
int L4stan;
int L5stan;
int L6stan;
int L7stan;
int L8stan;
int L9stan;
int L10stan;
int L11stan;

void setup() {
  Serial.begin(9600);
/*
expander1.begin(0x20);
expander1.pinMode(0, OUTPUT); // 40nH
expander1.pinMode(1, OUTPUT); // 80nH
expander1.pinMode(2, OUTPUT); // 160nH
expander1.pinMode(3, OUTPUT); // 320nH
expander1.pinMode(4, OUTPUT); // 640nH
expander1.pinMode(5, OUTPUT); // 1280nH
expander1.pinMode(6, OUTPUT); // 2560nH
expander1.pinMode(7, OUTPUT); // 5120nH
expander2.begin(0x20);
expander2.pinMode(0, OUTPUT); // 10240nH
expander2.pinMode(1, OUTPUT); // 20480nH
expander2.pinMode(2, OUTPUT); // 40960nH
expander2.pinMode(3, OUTPUT); // Cin 560pF
expander2.pinMode(4, OUTPUT); // Cin 1,2nF
expander2.pinMode(5, OUTPUT); // Cout 560pF
expander2.pinMode(6, OUTPUT); // Cout 1,2nF
expander2.pinMode(7, OUTPUT); // Cin var
*/
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
}

void loop() {
if (Lnastawa > 0 && digitalRead(7) == LOW){
  Lnastawa = Lnastawa - 40;
  wybornastaw();
}
if (Lnastawa <= 40960 && digitalRead(8) == LOW){
  Lnastawa = Lnastawa + 40;
  wybornastaw();
}
}

void wybornastaw(){
  L = Lnastawa;
if (L >= 40960){
  L = L - 40960;
  L11stan = 1;
}
else
{
  L11stan = 0;
}
if (L >= 20480){
  L = L - 20480;
  L10stan = 1;
}
else
{
  L10stan = 0;
}
if (L >= 10240){
  L = L - 10240;
  L9stan = 1;
}
else
{
  L9stan = 0;
}
if (L >= 5120){
  L = L - 5120;
  L8stan = 1;
}
else
{
  L8stan = 0;
}
  if (L >= 2560){
  L = L - 2560;
  L7stan = 1;
}
else
{
  L7stan = 0;
}
   if (L >= 1280){
  L = L - 1280;
  L6stan = 1;
}
else
{
  L6stan = 0;
}
   if (L >= 640){
  L = L - 640;
  L5stan = 1;
}
else
{
  L5stan = 0;
}
    if (L >= 320){
  L = L - 320;
  L4stan = 1;
}
else
{
  L4stan = 0;
}
    if (L >= 160){
  L = L - 160;
  L3stan = 1;
}
else
{
  L3stan = 0;
}
  if (L >= 80){
  L = L - 80;
  L2stan = 1;
}
else
{
  L2stan = 0;
}
   if (L >= 40){
  L = L - 40;
  L1stan = 1;
}
else
{
  L1stan = 0;
}

if (L==0){
  nastaw();
}
}

void nastaw(){
  Serial.print("Indukcyjnosc zadana = ");
  Serial.print(Lnastawa);
  Serial.println(" nH");
  Serial.print("stan L1 40nH     = ");
  Serial.println(L1stan);
  Serial.print("stan L2 80nH     = ");
  Serial.println(L2stan);
  Serial.print("stan L3 160nH    = ");
  Serial.println(L3stan);
  Serial.print("stan L4 320nH    = ");
  Serial.println(L4stan);
  Serial.print("stan L5 640nH    = ");
  Serial.println(L5stan);
  Serial.print("stan L6 1280nH   = ");
  Serial.println(L6stan);
  Serial.print("stan L7 2560nH   = ");
  Serial.println(L7stan);
  Serial.print("stan L8 5120nH   = ");
  Serial.println(L8stan);
  Serial.print("stan L9 10240nH  = ");
  Serial.println(L9stan);
Robert, sp8sn
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Sterowanie wieloma przekaźnikami, kombinacje - przez tatoswinka - 29-10-2018, 10:17

Skocz do:


Przeglądający: 1 gości