revers1380

revers1380

Пикабушник
1625 рейтинг 12 подписчиков 20 подписок 10 постов 4 в горячем
Награды:
5 лет на Пикабу
14

Помогите пожалуйста написать скетч

Здравствуйте. Достался по случаю предпусковой подогреватель Webasto termo top c, с физически убитой платой контроллера, прям сломана в нескольких местах от удара, восстановлению не подлежит. Так вот на просторах интернета была найдена схема контроллера на Ардуино для этого котла, также есть скетч к этой плате. Но если со схемой я ещё разберусь сам, подберу детали и спаяю. То вот скетч под мои задачи прошу вас помочь переработать, так как я в этом ни в зуб ногой. Задача стоит следующим образом. Исключить из скетча вывод информации на LCD экран, т.к. это не требуется. Так же надо удалить из программы все что связано с датчиком пламени, у меня в котле его нет. Работу котла контролировать по температуре Если это важно то планирую использовать Ардуино нано. Прошу комрады помощи.

Помогите пожалуйста написать скетч Arduino, Скетч, Программирование, Электроника, Длиннопост

#include <glcd.h>
#include <glcd_Buildinfo.h>
#include <glcd_Config.h>


//MEGA
#include <glcd.h>
#include <config/ks0108.h> // library header
#include <fonts/Arial14.h> // font definition for 14 point Arial font.
#include <fonts/SystemFont5x7.h> // system font
#include <bitmaps/ArduinoIcon.h> // bitmap

// Выходы
int Pin_CandelGlow = 3; // Свеча накала
int Pin_WaterPump = 9; // Водяной насос
int Pin_GasPump = 6; //Дозацыя горючего //10,15,20,25,30,35,40,45,50,100// Количество доз топлива, просто дозацыя.
int Pin_AirPump = 10; //Подача воздуха по ШИМ

// Входы
int Pin_StartStop = 12; // Цыфровой вход Включить или выключить установку
int Pin_VoltageMonitoring = 0; // Постоянное наблюдение за напряжением питания
int Pin_FlameMonitoring = 1; // Наблюдение состаяния пламени
int Pin_Temperatura = 2; // Аналоговае измерение температуры котла-жидкости

float VoltAnalog, Voltage, X, T_heater; // измерение напрежение источника питания

long t_1 = 0; // переменная для хранения времении работы программы в милис
long t_2 = 0; // переменная для хранения времении работы программы в милис

String inData; // переменыя читающая данные текста (текстовые команды)

int Flame, air, val, low, i, b, t, g, p, l;

boolean pauzada = false;
boolean stopp = false;
boolean pauzadaOff = false;

void setup()
{
pinMode(Pin_StartStop, INPUT);
pinMode(Pin_CandelGlow, OUTPUT);
pinMode(Pin_GasPump, OUTPUT);
pinMode(Pin_WaterPump, OUTPUT);
pinMode(Pin_AirPump, OUTPUT);

Serial.begin(9600);

delay(500);
//GLCD.Init() ; //инциализовать для рисования зажиганием пикселей (обычный вывод)
GLCD.Init(NON_INVERTED); // тоже самое
//GLCD.Init(INVERTED); // инциализовать для рисования выключением пикселей (инверсный вывод)
GLCD.ClearScreen(); // погасить все пиксели (если режим NORMAL , если INVERTED - зажечь)
GLCD.ClearScreen(WHITE); // тоже самое
//GLCD.ClearScreen( BLACK); // зажечь все пиксели
GLCD.SetFontColor( BLACK); // печатаем "цветом" BLACK

//*****ТЕКСТОВЫЕ*КОМАНДЫ*****
// test
// tempr
// airon
// airoff
// wateron
// wateroff
// gason -> 5,10,15,20,25,30,35,40,45,50
// glowon сам выллючется
// flame
// start
// stop

}

void test() // кластер тестирования всех мехонизмов и сенсоров
{

digitalWrite(Pin_CandelGlow, HIGH);
Serial.println("Pin_CandelGlow: On Off");
delay(5000);
digitalWrite(Pin_CandelGlow, LOW);
delay(1000);

digitalWrite(Pin_WaterPump, HIGH);
Serial.println("Pin_WaterPump: On Off");
delay(5000);
digitalWrite(Pin_WaterPump, LOW);
delay(1000);

digitalWrite(Pin_GasPump, HIGH);
Serial.println("Pin_GasPump: On Off");
delay(500);
digitalWrite(Pin_GasPump, LOW);
delay(1000);

digitalWrite(Pin_AirPump, HIGH);
Serial.println("Pin_AirPump: On Off");
delay(5000);
digitalWrite(Pin_AirPump, LOW);
delay(1000);
Serial.println(" ");

///Voltage///
volt();

///Flame///
flame();

///StartStop///

if (digitalRead(Pin_StartStop) == HIGH)
{
Serial.println("Pin_StartStop: HIGH");
}
if (digitalRead(Pin_StartStop) == LOW)
{
Serial.println("Pin_StartStop: LOW");
}
Serial.println(" ");
delay(1000);

///Temperatura///

Temperatura();
Serial.print("T_heater: ");
Serial.print(T_heater);
Serial.println(" ");
delay(1000);
}

void ReadTextComands() // читает текст
{
inData = "";
if (Serial.available() > 0)
{
int h = Serial.available();
// if you are getting escape -characters try h--; here

for (int i = 0; i < h; i++)
{
inData += (char)Serial.read();
}
// if you are getting escape -characters try Serial.read(); here
}
//print it out
Serial.println(inData);
delay(10);
}

void flame() // состояния пламени
{
Flame = analogRead(Pin_FlameMonitoring);
Flame = map(Flame, 320, 890, 0, 100);

}


// показания температуры с плавающей запятой
float floatMap(float x, float in_min, float in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
void Temperatura() // температурa
{
int ValueTempratura = analogRead(Pin_Temperatura); // считывает показания сенсоро
T_heater = floatMap(ValueTempratura, 544, 365, 22, 52); // показания термосенсора переводит в температуру /// коректировка температуры
T_heater = constrain(T_heater, -30, 120); // граничет показания температуры от -30 до +150
/*
Serial.print("ValueTempratura: ");/// коректировка температуры
Serial.print(ValueTempratura); /// коректировка температуры
Serial.print(" T: "); /// коректировка температуры
Serial.println((T_heater), 2);
*/
}

void volt()
{
int Pin0_AnalogValue = analogRead(Pin_VoltageMonitoring);
VoltAnalog = 0.0046 * Pin0_AnalogValue;
int R1 = 29500; //30000 Om 29700
int R2 = 7430; //7500 Om 7470

X = (R2 / ((R1 + R2) * VoltAnalog)) * 100;
Voltage = (123.775 / X) * (-1); //131.25 menjatj ot 100 i vihe 132.25

// Serial.print("Voltage: ");
// Serial.print((float)(Voltage), 2);
}

void pauza() // этап паузы котла
{
delay(50);
Serial.println("Pauza");
GLCD.GotoXY(1,3);
GLCD.Puts("Pauza");

while (1)
{
flame();
delay(50);
Serial.println(Flame);
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.Puts("Flame: ");
GLCD. print(Flame,DEC);

digitalWrite(Pin_WaterPump, HIGH);

digitalWrite(Pin_CandelGlow, LOW);
digitalWrite(Pin_GasPump, LOW);
digitalWrite(Pin_AirPump, 80);
if (Flame <= 15)
{
digitalWrite(Pin_AirPump, LOW);
digitalWrite(Pin_WaterPump, LOW);

Serial.println("Pauza On");
digitalWrite(Pin_AirPump, LOW);
digitalWrite(Pin_WaterPump, HIGH);
digitalWrite(Pin_CandelGlow, LOW);
digitalWrite(Pin_GasPump, LOW);

pauzada = true;
break;
}
}
}

void stopproces() // остановкa котла
{
delay(10);
Serial.println("Stoping");
GLCD.GotoXY(1,3);
GLCD.Puts("Stoping");

while (1)
{
flame();
delay(500);
Serial.println(Flame);
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.Puts("Flame: ");
GLCD. print(Flame,DEC);

digitalWrite(Pin_WaterPump, HIGH);

digitalWrite(Pin_CandelGlow, LOW);
digitalWrite(Pin_GasPump, LOW);
analogWrite(Pin_AirPump, 80);
if (Flame <= 15)
{
digitalWrite(Pin_AirPump, LOW);
digitalWrite(Pin_WaterPump, LOW);

for ( i = 0; i < 3 ; i++ ) // 3 коротких продува, окончательное завершение процеса
{
digitalWrite(Pin_AirPump, HIGH);
delay(1500);
digitalWrite(Pin_AirPump, LOW);
delay(1500);
}

digitalWrite(Pin_AirPump, LOW);
digitalWrite(Pin_WaterPump, LOW);
digitalWrite(Pin_CandelGlow, LOW);
digitalWrite(Pin_GasPump, LOW);
pauzadaOff = false;
pauzada = false;

Serial.println("Proces Off");
GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("Proces Off");
delay(5000);
GLCD.ClearScreen(WHITE);
break;
}
}
}

void loop()
{
GLCD.SelectFont(System5x7,BLACK);

Temperatura();
volt();

GLCD.GotoXY(85,3); //Переместить «курсор» в указанные координаты
GLCD.Puts("T:");
GLCD. print((float)(T_heater)); //печатает вещественное число с двумя знаками после запятой.
GLCD.GotoXY(85,13); //Переместить «курсор» в указанные координаты
GLCD.Puts("V:");
GLCD. println((float)(Voltage));
Serial.print("T: ");
Serial.println(T_heater);
Serial.print("V: ");
Serial.println(Voltage);

/////////////////////////////////////////////
delay(2000);
ReadTextComands();

GLCD.GotoXY(1,23);

GLCD.print(inData);
Serial.print(inData);

/////////////////////////////////////////////

///Test///

if (String(inData) == "test") // начать тестирование систем
{
Serial.println("TestRun");
test();
}

///temperatura///

if (String(inData) == "tempr")
{
Temperatura();
Serial.print("T_heater: ");
Serial.println(T_heater);
}

///Air///

if (String(inData) == "airon") // включить или выключить подачу воздуха (только при полной остоновке котла)
{
Serial.println("AirOn");
digitalWrite(Pin_AirPump, HIGH);

t_1 = millis();
while ((t <= 300) || (String(inData) == "airoff")) // выключить после 5 минут работы или принудительно выключить
{
ReadTextComands();

t_2 = millis();
if (t_2 < 0)
{
(t_2)*(-1);
}
long t = (t_2 - t_1) / 1000;
delay(2000);

if ((String(inData) == "airoff") || (t >= 300))
{
Serial.println("AirOff");
digitalWrite(Pin_AirPump, LOW);
break;
}
}
}

///WaterPump///

if (String(inData) == "wateron") // включить или выключить церкулецыонный насос (только при полной остоновке котла)
{
Serial.println("WaterOn");
digitalWrite(Pin_WaterPump, HIGH);

t_1 = millis();
while ((t <= 600) || (String(inData) == "wateroff")) // выключить после 10 минут работы или принудительно выключить
{
ReadTextComands();

t_2 = millis();
if (t_2 < 0)
{
(t_2)*(-1);
}

long t = (t_2 - t_1) / 1000;
delay(500);

if ((String(inData) == "wateroff") || (t >= 600))
{
Serial.println("WaterOff");
digitalWrite(Pin_WaterPump, LOW);
break;
}
}
}

///GasOn///

if (String(inData) == "gason") // подача топлива (только при полной остоновке котла)
{
Serial.println("Enter the number of Gas doses!?");
Serial.println("5,10,15,20,25,30,35,40,45,50");

t_1 = millis();
while (1) // ждём получения команды на количество доз топлива
{
delay(100);

int val = Serial.parseInt();
if ((val == 5) || (val == 10) || (val == 15) || (val == 20) || (val == 25) || (val == 30) || (val == 35) || (val == 40) || (val == 45) || (val == 50)) //Дозацыя по команде от компютера
{
Serial.println(" ");
Serial.print("GasPumping: ");
Serial.println(val);

for (i = 0; i < val; i++) //энное раз прыскaет топливом
{
digitalWrite(Pin_GasPump, HIGH);
delay(150);
digitalWrite(Pin_GasPump, LOW);
delay(250);
}
break;
}
t_2 = millis();
if (t_2 < 0)
{
(t_2)*(-1);
}

long t = (t_2 - t_1) / 1000;

if (t > 60) // до 1 мин
{
break;
}
// ждём нужную команду до 1 мин..... на левак не реогирует
Serial.println(".");
}
}

///GlowOn///

if (String(inData) == "glowon") //включить свечу накала на 7 секунд
{
digitalWrite(Pin_CandelGlow, HIGH);
Serial.println("Pin_CandelGlow: On");
delay(7500);
digitalWrite(Pin_CandelGlow, LOW);
Serial.println("Pin_CandelGlow: Off");
}

if (String(inData) == "flame")
{
for( i=0; i<50; i++ )
{
flame();
Serial.print("Flame:");
Serial.println(Flame);
Serial.println(i);
delay(1000);
}
i=0;
}

if (T_heater >= 85) //вслучае перегрева опевещает и ждёт пока остынет при этом недаст запустится повторно
{
GLCD.ClearScreen(WHITE);
GLCD.SelectFont(System5x7,BLACK);
delay(1000);
while (1)
{
Temperatura();
delay(500);
Serial.print("DANGEROUUS CONDITION ");
Serial.println("VERY HOT, DONT START");
Serial.print(" Temperatura: ");
Serial.println(T_heater);
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.Puts("VERY HOT");
GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("DANGEROUUS CONDITION");
GLCD.GotoXY(1,33); //Переместить «курсор» в указанные координаты
GLCD.Puts("Temperatura: ");
GLCD. print((float)(T_heater)); //печатает вещественное число с двумя знаками после запятой.

if (T_heater <= 70)
{
GLCD.ClearScreen(WHITE);
GLCD.SelectFont(System5x7,BLACK);
break;
}
}
}
///********ПАУЗА*ЖДЁТ*СВАЕГО*МОМЕНТА*СТAТЬ*НЕ*ПАУЗOЙ*********///
//?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
if (pauzada == true)
{
while (1)
{
Temperatura();
delay(500);
ReadTextComands(); // отослать команду если надо всё выключить
delay(500);

Serial.print("Temperatura: ");
Serial.println(T_heater);
GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("Temperatura: ");
GLCD. print((float)(T_heater)); //печатает вещественное число с двумя знаками после запятой.

if ( T_heater <= 55 )
{
pauzadaOff = true;
break;
}

if ((String(inData) == "stop") || (digitalRead(Pin_StartStop) == HIGH)|| (b == 4))
{
GLCD.ClearScreen(WHITE);
GLCD.SelectFont(System5x7,BLACK);
stopproces();
break;
}
}
}

///****************************** ЗАПУСК УСТАНОВКИ ******************************///

if ((String(inData) == "start") || (digitalRead(Pin_StartStop) == HIGH) || (pauzadaOff == true))
{
if (T_heater >= 70) //вслучае перегрева опевещает и ждёт пока остынет при этом недаст запустится повторно так как тут в цыкле застрянет
{
Temperatura();
Serial.print("DANGEROUUS CONDITION ");
Serial.println("VERY HOT, DONT START");
Serial.print("Temperatura: ");
Serial.println(T_heater);
return;
}

Serial.flush();
Serial.println("StartHeating");

GLCD.ClearScreen(WHITE);
GLCD.SelectFont(System5x7,BLACK); //указать щрифт и ево робочий режим
GLCD.GotoXY(1,3); //Переместить «курсор» в указанные координаты
GLCD.Puts("StartHeating"); //STARTING,WORKING,FINISHED,ERROR

analogWrite(Pin_AirPump, 50); //вkлючон воздушный вентилятор
delay(5000);
digitalWrite(Pin_CandelGlow, HIGH);
delay(7500);
digitalWrite(Pin_CandelGlow, LOW);
delay(7500);

for ( b = 0; b < 4; b++ ) // 4 раза запускает печь
{
lable:
digitalWrite(Pin_CandelGlow, HIGH);
delay(9000);

Serial.println("Gas pumping:");
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.Puts("Gas pumping");

for ( i = 0; i < 10; i++) // 10 раз прыскнет топливом
{
digitalWrite(Pin_GasPump, HIGH);
delay(100);
digitalWrite(Pin_GasPump, LOW);
delay(300);
}
digitalWrite(Pin_CandelGlow, LOW); //выключить свечу накала

flame();
Serial.print("Flame: ");
Serial.println(Flame);
GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("Flame: ");
GLCD. print(Flame,DEC);

///****************************** РАБОТА УСТАНОВКИ ******************************///

if (Flame >= 20 && i == 10 ) //если фото сенсор фиксирует пламя, то программа проходит далее
{
digitalWrite(Pin_CandelGlow, LOW); //выключить свечу накала ewo raz
analogWrite(Pin_AirPump, 50); //вkлючон воздушный вентилятор
digitalWrite(Pin_WaterPump, HIGH); //вклить воденой насос
delay(100);
digitalWrite(Pin_GasPump, HIGH);
delay(100);
digitalWrite(Pin_GasPump, LOW);

for ( l = 50; l > 0; l--) // начало разгона установки в плавном режиме
{
digitalWrite(Pin_GasPump, HIGH);
delay(100);
digitalWrite(Pin_GasPump, LOW);
delay(450);

flame();
Serial.print(l);
Serial.print(" Flame: ");
Serial.println(Flame);

GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("Flame: ");
GLCD. print(Flame,DEC);
GLCD.Puts(" i: ");
GLCD. print(l);

if (Flame <= 20)
{
goto lable;
break;
}
}
GLCD.ClearScreen(WHITE); // Очистить экран
GLCD.SelectFont(System5x7,BLACK); //указать щрифт и ево робочий режим

while ((Flame >= 20) && (T_heater <= 82)) // зайдёт в цыкл если есть плымя и температура ниже 80
{
ReadTextComands();
flame();
Temperatura();
volt();

digitalWrite(Pin_WaterPump, HIGH); //вкюлить воденой насос

///*** режимы работы изменяющиеся от температуры***///

if (T_heater <= 30)
{
air = map(T_heater, 5, 30, 50, 80); //меняем подачу воздуха в зависемости от температуры
air = constrain(air, 50, 80);
t = map(T_heater, 5, 30, 450, 300); //меняем время выключенного состояния топливного дозатора в зависемости от температуры
t = constrain(t, 300, 450);

Serial.print("T<=30 ");
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.EraseTextLine(eraseFULL_LINE);
GLCD.Puts("T<=30");
}
if ((30 <= T_heater) && ( T_heater <= 60))
{
air = map(T_heater, 30, 60, 80, 120);
air = constrain(air, 80, 120);
t = 300;

Serial.print("30<=T<=60 ");
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.EraseTextLine(eraseFULL_LINE);
GLCD.Puts("30<=T<=60");
}
if ( (60 <= T_heater) && (T_heater <= 80) )
{
air = map(T_heater, 60, 80, 120 , 80);
air = constrain(air, 80, 120);
t = map(T_heater, 60, 80, 300, 600);
t = constrain(t, 300, 600);

Serial.print("60<=T<=80 ");
GLCD.GotoXY(1,13); //Переместить «курсор» в указанные координаты
GLCD.EraseTextLine(eraseFULL_LINE);
GLCD.Puts("60<=T<=80");
}
analogWrite(Pin_AirPump, air); //работа подачи воздуха


///*************************************************///

Serial.print("F: ");
Serial.print(Flame);
Serial.print(" T: ");
Serial.print(T_heater);
Serial.print(" A: ");
Serial.print(air);
Serial.print(" Low(t): ");
Serial.print(low);
Serial.print(" V: ");
Serial.println(Voltage);

digitalWrite(Pin_GasPump, HIGH);
delay(100);
digitalWrite(Pin_GasPump, LOW);
low = t;
delay(low);

GLCD.GotoXY(1,3);
GLCD.Puts("Heating");
GLCD.GotoXY(50,3); //Переместить «курсор» в указанные координаты
GLCD.Puts("Volt: ");
GLCD. print((float)(Voltage));
GLCD.GotoXY(1,23); //Переместить «курсор» в указанные координаты
GLCD.Puts("Flame: ");
GLCD. print(Flame,DEC);
GLCD.GotoXY(1,33); //Переместить «курсор» в указанные координаты
GLCD.Puts("Temperatura: ");
GLCD. print((float)(T_heater)); //печатает вещественное число с двумя знаками после запятой.
GLCD.GotoXY(1,43); //Переместить «курсор» в указанные координаты
GLCD.Puts("Air: ");
GLCD. print(air,DEC);
GLCD.GotoXY(1,53); //Переместить «курсор» в указанные координаты
GLCD.Puts("Low(t): ");
GLCD. print(t,DEC);

//****************************** ОСТАНОВКА*ПРИНУДИТЕЛЬНАЯ*ПРОПАЛО_ПЛАМЯ*ПАУЗА ******************************//

if ((String(inData) == "stop") || (digitalRead(Pin_StartStop) == HIGH) || (Flame <= 20)) // Нажата кнопка включить выключить или пропало плямя, то полная остановка.
{
GLCD.ClearScreen(WHITE); // Очистить экран
GLCD.SelectFont(System5x7,BLACK); //указать щрифт и ево робочий режим
stopp = true;
break;
}
if (T_heater >= 80)
{
GLCD.ClearScreen(WHITE); // Очистить экран
GLCD.SelectFont(System5x7,BLACK); //указать щрифт и ево робочий режим
pauzada = true;
break;
}
}
if ( stopp == true )
{
stopp = true;
break;
}
if (pauzada == true)
{
pauzada = true;
break;
}
}
if ( stopp == true )
{
stopp = true;
break;
}
if (pauzada == true)
{
pauzada = true;
break;
}
}
if (( b == 4 ) || (stopp == true)) // Остановка запуска если незапустился с 4 раза, завершить работу котла
{
stopproces();
}
if (pauzada == true)
{
pauza();
}
}
}

Схема и скетч взяты отсюда: https://forum.amperka.ru/threads/Самодельный-блок-управления-webasto.7672/

Показать полностью 1
10

Помогите опознать радиоэлемент

Здравствуйте всем. Помогите пожалуйста опознать элемент на плате с маркировкой C475, предполагаю что это стабилитрон на 4,7 В, но хотелось бы убедиться.

Помогите опознать радиоэлемент Помощь, Радиолюбители, Радиоэлектроника, Электроника
28

Портмоне трифолд

За окном у нас то снег, то дождь и вокруг все серое и не жизнерадостное. Дачный и рыболовный сезон закрыты. Скучно подумал я и решил что-нибудь сшить из кожи по быстрому, т.к. руки чесались творить. За основу был взят кошелек трифолд с канала Сергея Никитина. Далее выкройку я начертил в Компасе и уже перевел все на кожу. Кожа была использована Крейзи Хорс, остатки от прошлых работ. Нитки вощеные 0,8 мм Trencilo, бахтарму затирал Ledofil от Kenda, финиш прозрачный крем Seta от Kenda. Урезы на этой коже затираются отвратительно, посему особо не старался. Итог на фото, фотографировать я так и не научился.

Портмоне трифолд Своими руками, Кожа натуральная, Рукоделие без процесса, Изделия из кожи, Длиннопост
Портмоне трифолд Своими руками, Кожа натуральная, Рукоделие без процесса, Изделия из кожи, Длиннопост
Портмоне трифолд Своими руками, Кожа натуральная, Рукоделие без процесса, Изделия из кожи, Длиннопост
Показать полностью 3
29

Большое портмоне или кошелек тревел из натуральной кожи

Всем привет! Посвящается всем неравнодушным к коже и рукоделию, особенно моим подписчикам. Давно хотел сшить что-то посложнее, побольше и портмоне, и вот на просторах ютуба наткнулся на канал уважаемого Vestgara, где и подсмотрел портмоне. Но решил его переделать, т.к. хотел добавить больше карманов под карты. И вот спустя три дня и три ночи без сна, я нарисовал выкройку, собрал ее в бумаге, и понял что надо шить. Итак к материалам, кожа крэйзи-хорс 1,5 мм, нить вощеная Trencilo толщиной 0,6 мм, обработка бахтармы и уреза Ledofil от Kenda. Кошель получился очень вместительным, вмещает паспорт, права, 8 отделений под карты, телефон, и любые купюры в полный рост. Размеры 19*9*3 см. Извините нет процесса, забываю всегда фотографировать. Но вот фото готового изделия, извините за фото, это не мое.

Большое портмоне или кошелек тревел из натуральной кожи Ручная работа, Кожа натуральная, Кошелек, Своими руками, Рукоделие без процесса, Длиннопост
Большое портмоне или кошелек тревел из натуральной кожи Ручная работа, Кожа натуральная, Кошелек, Своими руками, Рукоделие без процесса, Длиннопост
Большое портмоне или кошелек тревел из натуральной кожи Ручная работа, Кожа натуральная, Кошелек, Своими руками, Рукоделие без процесса, Длиннопост
Большое портмоне или кошелек тревел из натуральной кожи Ручная работа, Кожа натуральная, Кошелек, Своими руками, Рукоделие без процесса, Длиннопост
Большое портмоне или кошелек тревел из натуральной кожи Ручная работа, Кожа натуральная, Кошелек, Своими руками, Рукоделие без процесса, Длиннопост
Показать полностью 5
31

Косметичка из кожи

Решил запилить очередной пост о сшитой мной косметичке из натуральной кожи, моему единственному подписчику посвящается😀 Итак начнем. Выкройка взята с канала Сержа Никитина. Использовалась кожа "пола" толщиной 1,5-1,7мм производства Россия. Т.к. кода была покрашена черти как и была вся в пятнах и разводах пришлось покрыть ее черным грунтом для кожи Fondo Cream от Kenda Farben, классная химия которая делает кожу идеальной, далее поверх нанес финиш в виде Appreto Brillante от той же Kenda, он придал нашей коже дорогой блеск. Далее вырезал детали, для шва использовал ромбовидный пробойник с шагом 5 мм, и сшил все вощеной нитью Galaces толщиной 0,55 мм. Молния тракторная, обычная. Самое сложное это придать нужную форму после того как сшитую косметичку выворачиваешь на изнанку, пальцы реально устали швы мять😀 Всем добра😀

Косметичка из кожи Ручная работа, Кожа, Рукоделие без процесса, Изделия из кожи, Кожа натуральная, Длиннопост
Косметичка из кожи Ручная работа, Кожа, Рукоделие без процесса, Изделия из кожи, Кожа натуральная, Длиннопост
Косметичка из кожи Ручная работа, Кожа, Рукоделие без процесса, Изделия из кожи, Кожа натуральная, Длиннопост
Показать полностью 3
Отличная работа, все прочитано!