1/26/19

Week #4's Wednesday Evening Training: Arduino your house and an intro to the Fritzing electronic circuit designer

This evening, one of our IoT champions, Aishwarya Dhall, gave a good introduction of the Arduino technology with some nice handson labs. We do this on a regular basis in our Wednesday Evening Trainings, to give our colleagues the opportunity to catch up on IoT any time during the year. More experienced colleagues continued with their own labs. In this way everyone can acquire knowledge and experience with this technology at their own pace.



So, what again was an Arduino?

An Arduino is like a little computer (microcontroller) where you can read input of a (example) sensor and can control your output. Like lights, LCD screen, speaker etc. It’s easy to program the Arduino. Read more in my other blog posts: https://hansrontheweb.blogspot.com/search?q=Arduino

Fritzing electronic circuit designer

Also this evening, I gave an introduction into the  Fritzing electronic circuit editor. Ever tried to make clear photo's of your Arduino or any other electronic circuit for your IoT device? I did, and I did not succeed. Using the Fritzing editor you can create a clear design and share this. See my SlideShare presentation below.



(source: https://www.slideshare.net/HansRontheWeb/fritzing-breadboard-editor)


Further reading

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

On Arduino:
Arduino Interrupts Tutorial (explanations, 2 demo's/labs): https://www.youtube.com/watch?v=QtyOiTw0oQc
My YouTube playlist on YouTube: https://www.youtube.com/playlist?list=PLSiMhBs48YvV86iiXFJY-BRxOsP2A2pnH
10 Awesome Beginner Arduino Projects: https://create.arduino.cc/projecthub/RoyTobby/10-awesome-beginner-arduino-projects-78a6a6
Arduino project - Adaptive LED Morse Code Decoder and Timer Interrupt: https://create.arduino.cc/projecthub/shjin/adaptive-led-morse-code-decoder-and-timer-interrupt-8d18a7
Arduino - Multitasking (e.g. interrupts): https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
Arduino Interrupts: https://www.instructables.com/id/Arduino-Interrupts
Arduino Playgrounds - Interrupts: http://playground.arduino.cc/code/interrupts

On Fritzing:
Fritzing official site: http://fritzing.org/home
A quick overview on Fritzing: https://www.slideshare.net/HansRontheWeb/fritzing-breadboard-editor

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

1/23/19

Using the Fritzing electronic circuit designer for your IoT (Arduino, Raspberry Pi, ...) project


Ever tried to make clear photo's of your Arduino or any other electronic circuit for your IoT device? I did, and I did not succeed. Using the Fritzing editor you can. I've done a little presentation and demo during tonight's Wednesday Evening Training. The post of this will be published shortly, but I could not resist publishing my Fritzing stuff now.



See my SlideShare presentation: https://www.slideshare.net/HansRontheWeb/fritzing-breadboard-editor

1/19/19

Week #3's Wednesday Evening Training: Quantum Computing, continuing with IBM technology

Our fourth Wednesday Evening Training on Quantum computing already! For the other sessions, see https://hansrontheweb.blogspot.com/search?q=quantum, for a quick catch-up on Quantum Computing, see: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html.





This week, we continued our labs and explored the various quantum logic gates that can be used in programming a Quantum Computer. Gates form the building blocks of quantum circuits, like classical logic gates do in digital circuits. They operate on a small number of qubits. So a Quantum "program" (actually called a "circuit") is a sequence of quantum gates.

Our Quantum Computer champions, Julian van Velzen and Ilyas Sener, gave us a lot of explanation, examples and help to get up to speed. We used IBM's Q Experience (see the resources below) for our labs.

There is still a lot to learn and experiment. We decided to plan a Wednesday Evening Training on Quantum Computing each month this year, so don't miss our updates!


 


Further reading

Do you want to read more on the topics in this post? Here are some links…

A very very very short introduction on Quantum computers: https://hansrontheweb.blogspot.com/2018/11/quantum-computing-introduction.html

On the basics of quantum physics:
Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty (an excellent way to start!): https://www.youtube.com/watch?v=OWJCfOvochA
My YouTube list on Quantum Computing: https://www.youtube.com/playlist?list=PLSiMhBs48YvWecXqKP00NGuiP5UD6RoCk
How it Works: Quantum Computing: https://www.youtube.com/watch?v=WVv5OAR4Nik
Qubit (the basic unit of quantum information): https://en.wikipedia.org/wiki/Qubit
Quantum information (information that is held in the state of a quantum system): https://en.wikipedia.org/wiki/Quantum_information
Quantum system: https://en.wikipedia.org/wiki/Quantum_system
Quantum mechanics: https://en.wikipedia.org/wiki/Quantum_mechanics
Quantum Computing Primer: https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer
Quantum Computing basics: What is Quantum Computing?: https://www.microsoft.com/en-us/quantum/what-is-quantum-computing
Quantum Computing Technology: https://www.microsoft.com/en-us/quantum/technology

On the basics of the underlying math:
The Mathematics of Quantum Computers | Infinite Series: https://www.youtube.com/watch?v=IrbJYsep45E
Automata theory: https://en.wikipedia.org/wiki/Automata_theory
Turing machine: https://en.wikipedia.org/wiki/Turing_machine
Computational complexity theory: https://en.wikipedia.org/wiki/Computational_complexity_theory
Theory of computation | Computable and non-computable problems: https://www.geeksforgeeks.org/theory-of-computation-computable-and-non-computable-problems/

On quantum computer hardware:
IBM Q initiative to build commercially available universal quantum computers: https://www.research.ibm.com/ibm-q
Introduction to the D-Wave Quantum Hardware: https://www.dwavesys.com/tutorials/background-reading-series/introduction-d-wave-quantum-hardware

On Quantum computer software development:
Software Architecture & environment: https://www.dwavesys.com/software
Qiskit (an open-source quantum computing framework for leveraging today's quantum processors in research, education, and business): https://qiskit.org/
What is Qconfig in QISKit and how do I set it up?https://quantumcomputing.stackexchange.com/questions/2062/what-is-qconfig-in-qiskit-and-how-do-i-set-it-up
Quantum information: https://en.wikipedia.org/wiki/Quantum_information
Quantum computing: https://en.wikipedia.org/wiki/Quantum_computing
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Quantum logic gates: https://en.wikipedia.org/wiki/Quantum_logic_gate
Quantum circuit: https://en.wikipedia.org/wiki/Quantum_circuit
Qubit: https://en.wikipedia.org/wiki/Qubit
Microsoft Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development-kit and https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview
The Q# Programming Language: https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview
Download Quantum Studio: http://quantum-studio.net/#download_qs

On quantum computer simulators:
IBM: https://quantumexperience.ng.bluemix.net/qx/editor
The QX Simulator: http://quantum-studio.net
Ready-to-use Linux Ubuntu Virtual Machine with QX installed: http://quantum-studio.net/#download_vm
Quantum Computing Playground: http://www.quantumplayground.net
QCEngine - active QC simulator: http://machinelevel.com/qc/
List of Quantum computer simulators: https://quantiki.org/wiki/list-qc-simulators
Another list of Quantum computer simulators: http://www.vcpc.univie.ac.at/~ian/hotlist/qc/simulation.shtml
Quantum computer simulator: https://qcsimulator.github.io/

Other resources:
Microsoft's Quantum Computing portal: https://www.microsoft.com/en-us/quantum
Microsoft's Quantum Computing, technologies (Physics, Materials, Devices, Control, Runtime): https://www.microsoft.com/en-us/quantum/technology
IBM Q Experience! Guides, demo's etc.: https://quantumexperience.ng.bluemix.net/qx/experience
Microsoft Quantum: https://www.microsoft.com/en-us/quantum
Microsoft Research on Quantum Computing: https://www.microsoft.com/en-us/research/lab/quantum/
Hello Quantum - Explore the building blocks of quantum mechanics through puzzles: http://helloquantum.mybluemix.net

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


#quantumcomputers #quantumcomputing #wednesdayeveningtraining #werkenbijcapgemini #lifeatcapgemini #capgemini #hansrontheweb #qiskit #ibm

1/12/19

Week #2's Wednesday Evening Training: an IoT "Klusavond" on Domoticz, interrupts and a great brainstorm

This week, we had our first Wednesday Evening Training of 2019! We started with a good old IoT "klusavond" in which we discussed several topics:

  • Domoticz home automation
  • Implementing interrupts with the Arduino
  • Brainstorm on this years IoT topics in the Wednesday Evening Training


Domoticz home automation


Luc Slutter, on of our IoT experts, gave us an excellent introduction into home automation with Domoticz. Domoticz is a compact home automation system that allows you to operate a multitude of devices, sensors and smart devices. You can control Domoticz via various devices, such as your laptop, tablet and smartphone. The user environment is web-based, and can be installed on different devices.

Luc showed us the features, technology and gave us a demonstration and technology walkthrough of his own home built automation solution.

Great stuff! We will definitely continue with Domoticz (and similar platforms) this year.



Implementing interrupts with the Arduino


Reading values from sensors in your IoT device (like the Raspberry Pi of Arduino) can be done by, roughly speaking, constantly interrogating them or reacting on changed measured values. The first approach requires a program loop in which all sensors are queried. This is rather inefficient and, depending on the implementation, can also give untimely measurements. The program may not react fast enough to changes in measurements. An alternative to this approach is an interrupt implementation in which the hardware detects voltage changes in the hardware pins (to which the sensors are linked), stops processing the main program and runs a specially created interrupt routine. This is a more efficient and accurate approach which also yields neater code.












This evening I gave an introduction and demo of an interrupt implementation using the Arduino. The demo consisted of a button being pressed, generating a value change on one on the Arduino pins, causing an interrupt routine to be fired in my C program loaded in the Arduino. The interrupt routine then activates another pin which turns on a LED. My C program kept the status of the LED (on/off) and, dependent of this status, could switch the LED on and off. A very simple example, clearly demonstrating the interrupt approach.






Brainstorm on this years IoT topics in the Wednesday Evening Training


We also had an inspiring brainstorm on IoT topics we should address in 2019, led by our IoT champion (and Young professional of 2018!) Aishwarya Dhall. In 2019 there is still a lot to experiment and learn in the field of IoT. Here we are thinking of experimenting with various new sensors, home automation, integration of IoT devices and (cloud) platforms and experimenting with new applications.

We'll continue our IoT workshop on January 23th. Make sure you don't miss my posts on this!



Further reading

Do you want to read more on the topics in this post or play around with the technology? Here are some links…

On Arduino:
Arduino Interrupts Tutorial (explanations, 2 demo's/labs): https://www.youtube.com/watch?v=QtyOiTw0oQc
My YouTube playlist on Arduino: https://www.youtube.com/playlist?list=PLSiMhBs48YvV86iiXFJY-BRxOsP2A2pnH
10 Awesome Beginner Arduino Projects: https://create.arduino.cc/projecthub/RoyTobby/10-awesome-beginner-arduino-projects-78a6a6
Arduino project - Adaptive LED Morse Code Decoder and Timer Interrupt: https://create.arduino.cc/projecthub/shjin/adaptive-led-morse-code-decoder-and-timer-interrupt-8d18a7
Arduino - Multitasking (e.g. interrupts): https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
Arduino Playgrounds - Interrupts: http://playground.arduino.cc/code/interrupts

On Domoticz:
Domoticz official site: http://www.domoticz.com
My YouTube playlist on Domoticz: https://www.youtube.com/playlist?list=PLSiMhBs48YvWmAEqHS_w_l9Suj4lT05VX
(Dutch) Controle over je apparaten met Domoticz en Raspberry Pi: https://computertotaal.nl/artikelen/internet-thuis/controle-over-je-apparaten-met-domoticz-en-raspberry-pi

Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining