29-10-2018, 10:17
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