• Arduino,  Hardware

    Making my air conditioner smarter – Part 1

    What’s better than working on a project for improving an electronic device (see Making my washing machine smarter)? Working on two projects!

    I have a Daitsu air conditioner in my bedroom. It is an old model, the DSG-07HRN2. My plans are: I want to control it from my phone, and be able to program it accoring to X criteria in the future (temperature, month of the year, if I’m at home or not…). I could use OpenHAB for this of course, as I did with my washing machine, but first, I need to connect my air conditioner to my OpenHAB server, which, being an old non-smart model, is not possible without modifications.

    I could use some king of magical (and probably expensive) thingy that externally sends the commands using infrared and uses a proprietary APP to control it (I know of their existance), but… where’s the fun there? 😜. My idea is to use another ESP-01 microcontroller, and send the infrared commands from inside the air conditioner unit itself. I’m sure this is going to be interesting 😊.

    First, let’s investigate which kind of protocol does the original remote use, I used the IRrecvDumpV2 example sketch from the Arduino-IRRemote library, created by Ken Shirriff and other contributors.

    When I tested my remote on my arduino MEGA, I was surprised it said the protocol used was SAMSUNG, which has nothing to do with Daitsu. Interesting.

    Samsung? Daitsu? Do they use the same protocol? Or is it an error from the sketch? Will we find out?
  • Arduino,  Hardware

    Making my washing machine smarter – Part 3

    << Continuation of Part 2

    Let’s start assembling the board that will control the state of the washing machine cycle. Four things are needed: the microcontroller, its power supply (the microcontroller works at 3.3 volts, and the power adapter we’re using works at 5v), the door lock detector and the actuation over the “start washing cycle” button.

    As stated above, the ESP-01 needs 3.3 volts to work, a ground connection and needs to have pulled high (using a resistor, like a 10kohm one for example) the GPIO0 and GPIO2 pins in order to boot correctly. Apart from that, an output pin will actuate the start button and an input pin will detect the door lock state.

    The 3.3 volts power can be obtained using, for example, an LM317T, a famous classic voltage regulator that, using a couple of resistors allows us to get a specific voltage. Using one of the many online calculators, we can calculate which resistors we need. In my case, I used this one.

  • Arduino,  Hardware

    Making my washing machine smarter – Part 2

    << Continuation of part 1

    Guts. Time to talk about guts. Electronics guts of course…

    Which microcontroller should we use for this project? The first requirement is it hast to have WiFi, since it will be the way its way of sending notifications to my phone. About number of general purpose input/outputs (GPIO), two would be enough (one for detecting the door lock state and another one for actuating the cycle start button remotely). I could use a classic Arduino UNO, with a WiFi shield:

    This one is known by most makers out there. It supports thousands of libraries, which you can make tons of things with, but… It has like 20 pins between digital and analog, and even though the WiFi shield uses some of them, I still think it’s overkill for my project. Two pins would be enough.

  • Arduino,  Hardware

    Making my washing machine smarter – Part 1

    I like challenges, and I also like smart devices, what we usually call “gadgets.”

    What do I miss in my washing machine? Notifications to let me know when it is done washing my clothes. Yes, some models play a catchy little tune to make it clear that they are done, but not mine… Even if I had one of those singing washing machines… What if I’m listening to music with headphones? What if I am upstairs? Well I will have to be checking every little bit. Also, the washes are somewhat flexible in wash cycle duration (they do not have exactly X minute wash cycles, since depending on the clothes you are going to wash, it will be easier or more difficult to evacuate the water). I usually use the 60 minute wash cycle, unless the clothes are really very dirty, but the real time in my case is actually 63 minutes one day, maybe 75 the next…

    The victim

    Tired of this, I have decided to open my washing machine and figure out some way to detect when it ends, in order to launch a notification to my phone. And if I can make it possible to activate the wash cycle remotely at the same time, that would be even better (my poor low-cost washing machine does not even have the function of deferring the start of the washing cycle by X hours …).

  • Django,  HTML,  Python

    Django – Error in CreateView, the form does nothing, it does not save to the database

    Yay! New post…

    Yep, I came back to this, my abandoned blog, to tell you about how I solved an error I was having with Django and was driving me crazy for a some days…

    But first, Django? What is Django ?. Well, I am not going to go into much detail, but I will tell you that it is a web development framework that I discovered not so long ago, but I liked it a lot. Complete websites with great functionality are obtained with very little effort. It is based on python, which is a plus, since I recommend everyone to learn this programming language that is leading the list of favorite programming languages ​​🙂

    Among the building blocks of django, there are generic views, which are an easy way of creating listing, detail, edit, create and delete pages (among others) for entities in the database.

  • Arduino,  Hardware

    A pinch of hardware – Makerbuino

    I would like to tell you about a different videogame console that is a bit different from the others. Why different? Does it have an even faster processor? Even more RAM? Can you play Crysis on it? No … It has an ATmega328 as a processor (you probably have heard about that chip, it is the one that comes with Arduino), 2KB of RAM and a screen… Full HD? 4K? Umm no… A black and white LCD with a resolution of 84 x 48 pixels. Yes, exactly, like the good old Nokia 3310.

    Ah, but I haven’t told you the best … It doesn’t come assembled, and that’s exactly what made me buy it. Assemble your own console that you can then play on? Interesting, right? 🙂

    Based on Gamebuino, another similar console project (although this one does come assembled, it is not necessary to dust off the soldering iron… Booring), this console promises to have fun both when assembling it, when playing and even when coding games for it (yes, it is Arduino after all. You have all the freedom to create games, applications and everything you can think of (even some hardware hacks, since it has a couple of I2C expansion ports)).

    The project itself is not new. It dates from the beginning of 2017, and was quite successful on Kickstarter, its launch platform. They are still selling copies from their website , so you still can get one. Why not?

  • HTML,  Javascript

    Easy sortable and filterable lists in HTML/Javascript with List.js

    Let’s leave SAP aside for a while to talk about HTML and Javascript, which I also like 🙂.

    In a personal web project, I needed an easy way of making lists which data I could filter and sort, and a quick search on Lord Google gave me the answer: List.js

    List.js is a light and quick JavaScript library that let’s you easilly create data listings, allowing sort, search and much more.

    Like any JavaScript library, first we’ll need to download it and link it in our HTML document.

    <script type="text/javascript" src="/js/list.min.js"></script>

    We will define a div for out list, in which we will create our list with
    and tags. A class needs to be defined for the list. For now, we will leave it as “list”. List.js will search for this class to interact with the HTML.

    <div id="lenguajes">
    <ul class="list">
    <li>
    <p class="puesto">Puesto: 1 <img src="/img/oro.png" alt="" /></p>
    <p class="lenguaje">Lenguaje: Java</p>
    </li>
    . . .
    </ul>
    </div>
  • SAP

    Debugging a dialog window

    If you have been working with SAP for a while debugging programs, you’ll most probably know the “/h” command, that activates the debugger from any SAP transaction.

    Maybe then you have stumbled upon a program/transaction which does not have the command box enabled, so it would seem is not debuggable. An example of these transactions is CG3Y, which main window is a dialog, which locks the focus and does not allow the execution of commands in the command box at the top left corner.

    In case we need it, how do we debug this transaction then? One of the solutions is having in hand an SAP command file. Open a notepad, paste the following code and save it with any name:

  • SAP

    Icons in transport requests

    Transport requests. The way of moving changes between systems in SAP. Maybe you have seen a transport request with an icon in the description, like below:

    An icon in the description? Yes. Isn’t it nice? Apart of looking nice, it is useful for distinguishing transport requests, for example, the ones that contain changes being done, the ones being tested, the ones ready for transport… But, how do we use icons in the description?

  • Off-topic,  SAP

    El Programador Ibérico, now in English

    Welcome to “El programador Ibérico” (The Iberic Programmer”), a blog attempt where I will share with you information about the software development world, like tips, tricks, code examples and even some news now and then.

    But first of all, who am I? My name is Luis Alejandro Domínguez Bueno, a young (but unfortunately less young every time) man from Malaga, in Spain, who is passionate about technology and software. I have grown up taking apart every gadget that I have put my hands on, so I have learned a couple of things about electronics too. In a particular moment in my life, I became interested in software development, and I started making my first test videogames in environments like GameMaker and RPG Maker. I took a Superior Grade Formative Course in Computer Application Development, and I currently work at Accenture, where I learned about SAP and ABAP development.

    When I started this blog 6 years ago in Spanish, I thought the majority of my posts would be about SAP, since that’s what I was working with, but most of my posts have been about Arduino or similar development boards. I do not promise regularity in the time between posts, but I promise interesting content (interesting for us geeks 😊).

    English is not my native language, and I don’t have any formal studies on it. I just learnt it consuming media in english. Because of that, my english probably is a mix of american and british, and I will probably write things in a more complicated way than a native person would, but I’ll try my best 😉.

    Not a lot more to say. I will see you in my next post!

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad