28/11/2016

Solderen

Filed under: — pinguim @ 10:22 am

Bij al die (open source hardware) microcontroller experimenteerbordjes moet je soms solderen als je project het breadboard verlaat.
Ik heb bij een soldeerbout gemerkt dat de stift van de soldeerbout zelf ook zowat kan wegbranden of wegsmelten bij (waarschijnlijk verkeerd) gebruik.
Ik noteer hier even (voor mezelf) wat ik zelf gevonden heb uit documentatie en online.

Nodig:
Soldeerbout, soldeerbouthouder (spiraalvormige houder waar de soldeerbout ingezet wordt als hij warm is), soldeerkussen (om overtollige soldeer af te vegen), en soldeer.

Gebruik, onderhoud:
– soldeerbout van 25 W is te weinig (temperatuur zakt te snel bij contact), 100 W is te veel (voor electronica).
– Het sponsje dat dikwijls bij de soldeerset zit, moet je vochtig maken.
– punt reinigen staat zeker 10 keer in mijn boekje, en ook alvorens hem uit te schakelen terug “vertinnen” na reiniging/gebruik.

Temperatuur:
In de gebruiksaanwijzing van mijn soldeerbout (instelbare 48W 150-450°), blijkt dat loodvrije soldeer iets hogere temperatuur nodig heeft.

  • Smeltpunt loodvrij: 220°
  • normale werking: 300-360°
  • productiedoeleinden (?): 360-410°

Als je loodhoudende moet (de-)solderen zou je dus al met lagere temperaturen toekomen, bv 270-320°.

4/11/2016

Industruino Proto met Arduino-hart

Filed under: — cybrarian @ 3:38 pm

De Industruino
Een Belgisch(*) product, gebaseerd op Arduino: de Industruino. Een klein kastje, de grootte van een thermostaat of zo, met Arduino processorbord, en schroef-aansluitingen voor de in- en uitgangen. Te programmeren in de gewone Arduino IDE (met extra Arduino/Industruino bibliotheken), en te monteren op een standaard DIN-rail in een electriciteitskast.
Je hebt een voeding nodig van 12 of 24 volt (kan met een rail-gemonteerde voeding ernaast).

* Leek zo vanwege Europese verdeling vanuit België en Belgische vlag bij support-antwoorden; ondertussen is duidelijk dat de Belg vanuit China werkt.

Arduino + scherm
Zonder geknoei maak je gemakkelijk een echte toepassing met een scherm en een paar knoppen. Het is ook ongelooflijk handig om een scherm te hebben op een bord waarvan de functie nog verandert tijdens het gebruik.

Versies
Er zijn twee versies:

  • Proto: met prototype bord onder het brein, om zelf enkele componenten op te solderen.
  • Ind I/O: voor zwaardere in- en uitgangen op niveau van PCL-sturingen in de industrie (24V).

Van ieder toestel bestaat een versie met meer geheugen (andere processor).
Er is een bijhorende uitbreidingsmodule die een netwerkaansluiting en een mini-sd-kaartlezer biedt.

Gebruik en installatie
– Je moet de delen samenbouwen: het “top board” bevat behalve het scherm ook en vooral de processor, en heeft de aansluiting voor de kleine usb-stekker.
– Eerst de Arduino programmeeromgeving installeren (versie 1.0.6 of 1.6.x).
– Uitbreidingen installeren voor Industruino scherm, en naargelang de versie van de hardware ook daarvoor hardware uitbreidingen en bibiotheken.
– zie uitgebreider onderaan: terminologie, installatie-log.

Conclusie
De industruino “Proto” is enorm handig om prototypes te maken, maar ook om onmiddellijk een toepassing te bouwen. Je kan de grote lijnen van een idee uitwerken op een breadboard met je gewone Arduino/Genuino (of compatibelen), en met industruino heb je een kant en klare behuizing.


Terminologie en numerologie
UC1701 : library for Industruino LCD functionality
INDIO.h : librarry voor Industruino IND.I/O Baseboard (Arduino IDE versions 1.6.+); nodig voor groene schroefaansluitingen;
Wire.h : library voor I2C (expander op Indio)
EthernetIndustruino: voor Ethernet module (gebased op de standaard Arduino Ethernet library).
SPI.h : , SPI library; Ethernet module is verbonden over SPI (dus #include SPI.h)
FRAM : ..

Installatie topboard, scherm en ethernet uitbreiding
Industruino installeren, doel:
– de werking testen met een voorbeeldprogramma, bv met de knipperende led sketch.
– je eigen programma inladen.

1. Uitbreiden van de (Arduino IDE) softwareomgeving met het industruino bord

– Voor de gewone Industruino Proto (top board Atmega32u4) is dat voldoende omdat die werkt als een Arduino Leonardo, maar je moet wel de bibliotheken voor het scherm toevoegen.

– Voor de Industruino Proto “1286 MCU variant” (meer geheugen en top board AT90USB1286) moet je bijkomende uitbreidingen installeren om ermee te kunnen werken, werkt op dit moment (begin 2017) niet met de huidige versie van de Arduino IDE 1.6.13.

Uitleg op https://industruino.com/page/techcentre
met link naar support file package: Industruino_support_file_package_1.6.zip
van https://static.industruino.com
Uitpakken maakt een struktuur van mapjes met bestanden, met telkens een “readme”:

Please copy the “Industruino” folder into your Arduino IDE “Hardware” folder;

Folder location on Mac: Applications/Arduino.app/Contents/Resources/Java/Hardware
Folder location on Windows: C:\\Program Files (x86)\\Arduino\\Hardware\

After you restart the Arduino IDE please select “Industruino 1286” from the “Tools->Board” menu. You are now ready to upload code to your Industruino.

Niets voor Linux gebruikers?
– het werkt als je in de Arduino directory een map “hardware” maakt, en daar de “Industruino” map in kopieert uit de uitgepakte map “1286 Board definition”.
– met de meest up-to-date versie van de Arduino programmeeromgeving heb je wel een probleem, die is op dit moment nog niet ondersteund, waardoor je bij het compileren van je programma een foutmelding krijgt. Tot 1.6.5 zou ok zijn, in OpenSUSE/42.2 zit ik momenteel aan 1.6.13.

2. Uitbreiden van de bibliotheken met de LCD bibliotheek
– https://github.com/Industruino/libraries
– eenvoudige module (minder geheugengebruik): een aangepaste UC1701.
(je kan een download doen van de libraries/master, daar zit alles in)
De voorbeelden uit de directory Libraries naar Arduino/libraries
Daarin komen de mapjes: EthernetIndustruino, Indio, UC1701

3. Uitbreiden van de bibliotheek met de ethernet bibliotheek
– https://github.com/Industruino/libraries (je kan een download doen van de libraries/master, daar zit alles in)
– “EthernetIndustruino”

Na stappen 2 en 3 zijn die zichtbaar in de programmeeromgeving;

Menu “Sketch, bibliotheek importeren, industruino”

Geeft:

#include
#include < dns .h >
#include < ethernetclient .h >
#include < ethernetindustruino .h >
#include < ethernetserver .h >
#include < ethernetudp .h >
#include < twitter .h >
#include < util .h >

en bij de voorbeeldbestanden te laden via:
“Bestand, voorbeelden, EthernetIndustruino”

“Bestand, Sketchbook, libraries, EthernetIndustruino”

IDE
De IDE crasht regelmatig, maar hij is snel terug op te starten (gebeurt meestal bij het uploaden van de code naar industruino). Soms ben ik ook de seriële poort kwijt (enkel nog dev/ttyS0 ipv ook dev/ttyACM0 die ik moet selecteren voor de industruino) en moet ik de IDE herstarten of de USB-kabel opnieuw verbinden.

4/9/2016

Arduino link compilatie

Filed under: — cybrarian @ 9:59 pm

In de wetenschap dat links soms snel hun houdbaarheidsdatum overschrijden …

The Arduino Starter Kit Datasheets

Over de op C lijkende Arduino programmeertaal

Arduino en Gambas!

Audio naar pc-luidspreker

Arduino en geluid

Funduino gebruiksvoorbeelden (arduino compatible)

  • Funduino – Kits und Anleitingen für Arduino
  • Funduino GmbH, 2016
  • Handleiding gebruik Leds, bewegingsmelder, afstandsbediening, vochtigheidsmeter, relais, RFID, …
  • http://funduino.de

Toetsenbord gebruik

Arduino/sainsmart UNO projecten

  • Sainsmart starterkits handleiding
  • Sainsmart.com, /10/2016
  • Zip met pdf boek 103 blz + aparte mapjes met projectcode/hoofdstuk, goede beschrijving, foto’s, enz.
  • sainsmart zip bestand

(meer…)

28/7/2016

Pinguino!

Filed under: — cybrarian @ 7:58 pm

Linux tijdschrift Italië
Rome, juli 2016

Een tijdschriftenkios ik het station. Uit het aanbod van Linux tijdschriften één voorbeeld: Linux Magazine Agusto 2016 met inbegrepen DVD met Fedora 24, verkocht voor 6 euro.
Het beslaat 100 blz als voor een achterkaft meegeteld worden. Daarvan zijn 16 hele bladen reklame, 15 als je een blad voor de aankondiging van het septembernummer met abonnementsformulier er niet bijtelt. De 15 % reklame is niet storend omdat ze telkens uit een heel blad of twee naast elkaar gelegen bladen bestaat, en dus nooit de artikels doorkruist.
Net zoals veel magazines spelen ze dus vals met de datum, want het is maar iets voorbij half juli bij aankoop.

Inhoudelijk valt één artikel in de rubriek hardware op doordat het niets met Linux te maken lijkt te hebben; een vergelijkende test van 4 zoom-camera’s gespreid over liefst 8 bladzijden. Ik heb schuin door de tekst gekeken, en zag nergens een verwijzing naar het gebruik van die camera in combinatie met een Linux desktop computer of bijhorende programma’s.

Een ander artikel, ook in de rubriek hardware, gaat over het controleren van een webcam via je smartphone, en lijkt me ook weinig of niets met Linux te maken te hebben.

Tips en Tricks gaan gelukkig wel over Linux; DNS server, e-mail en scripting, enz.

De cover story loopt over 12 bladzijden en gaat over Linux op je tablet.
Er wordt beschreven hoe je root kan krijgen op je tablet, m.a.w. volledige controle kan krijgen over je tablet, als eerste stap naar de installatie van bv Ubuntu Touch. Er wordt gewezen op het maken van een backup. Dan is er informatie over de bootloader en de installatie van Ubuntu touch zelf. Verder configuratie en gebruik, en combinatie met de cloud als opslagruimte.

De gaming rubriek beslaat drie bladzijden. Het gaat over een gaming site waar je blijkbaar een Windows computer moet hebben om te registreren. Daarna kan je je blijkbaar wel behelpen met een Steam Client voor Linux.

Verder een uitgebreide “Android corner” van 8 blz. en de artikels gaan allemaal over apps uit de play store.

Een ander groot artikel is een browservergelijking; waarbij ze Firefox, Chrome, Opera en Vivaldi naast elkaar zetten.

Andere onderwerpen:
– een whatsapp bot voor de raspberry pi
– een foto bewerken met GIMP
– videobewerking maken met Kdenlive
– videodriver problemen oplossen (Ubuntu)
– Singularity over virtualisatie en containers
– OpenVPN om via het internet op een computer te werken
– cursus streaming audio server (met Vortexbox)
– processen en threads, coreutils
– een artikel over een bug in het versleutelde bestandssysteem eCryptfs in Linux.
– wat te doen als een van je accounts gekaapt is (ook niet echt over Linux dus).

Arduino wordt 1 keer vermeld in de gadgets rubriek, met de nieuwe naam van de starterkit, die nu Genuino heet; niets over projecten met of programmeren voor Arduino.

Vermelde distributies: Mint, PCLinux OS, Ubuntu, Fedora, Parrot Security OS, Vortexbox,… en ik kan er nog gemist hebben.

Eén echt belangrijk Italiaans woord heb ik bijgeleerd: Pinguino!

19/6/2016

Arduino project 02: van LEDs naar Rood, Goud, en Groen

Filed under: — cybrarian @ 10:52 pm

Terminologie in het Nederlands voor gebruikers van het Engelstalig Arduino Projects Book bij de starter kit.
Aangevuld met een variant op het beschreven project (02 in Arduino IDE Examples, 10 Starterkit)

Project 02
In het tweede project worden 2 rode leds en één groene gestuurd vanuit het programma; het detecteren van een knopdruk verandert de loop van het programma en de toestand van de leds.

Arduino’s digitale verbindingen hebben de mogelijkheid om zowel voor invoer gebruikt te worden, als voor uitvoer, mits anders gedefinieerd vanuit het programma.

Terminologie:

High: hoog, dat betekent dat er spanning op zit of gezet wordt.
Low: laag, dat betekent dat er geen spanning op zit of gezet wordt.

Programmeercode

Dit is het eerste project waarin geprogrammeerd wordt. De basis van zowat elk Arduino programma bestaat uit twee procedures, één om instellingen te doen, en één voor het lopen van het programma (eindeloos herhalen, vandaar “loop” of in een kringetje draaien), meestal bestaat het uit iets meten en reageren.

void setup(){
// code
}

void loop(){
// code
}

Je kan dit bewaren als “leegproject.ino”, en hiervan telkens beginnen.

Syntax
Commmentaar volgt achter twee schuine streepjes, code wordt meestal afgesloten met een puntkomma en structuren worden begrenst door accolades. Void betekent dat er geen waarde teruggegeven wordt door de procedure. Variabelen worden voorafgegaan door hun type bij declaratie.

Variant
Als de middelste rode led vervangt door een gele, krijg je rood-geel-groen, de kleuren en volgorde van een verkeerslicht.
Door een paar aanpassingen aan het programma laat je de gele led knipperen als begintoestand, en vanaf de druk op de knop gaat een aantal keer de gewone verkeerscyclus gevolgd worden met rood, groen, kort oranje en weer rood.

CODE …
(meer…)

18/6/2016

Arduino kennis compilatie

Filed under: — cybrarian @ 11:45 pm

Een paar handige dingen samengevat:

Terminologie
Schakelingen
Code
Voeding
Ideeën

Op basis van experimenten uit het Arduino documentatie, projecten uit Arduino Projecten boek en eigen varianten daarop (zie andere LigLog Arduino artikels), en andere Arduino-achtige documentatie (…)

Terminologie alfabetisch:

  • Anode: + kant van LED (voedingsspanning +)
  • ADC: Anoloog – Digitaal Convertor (ingeboud in arduino via A0-A5)
  • Buzzer, active: piezo met ingebouwd sturing voor frequentie van de toon, moet alleen spanning krijgen.
  • Buzzer, passive: piezo die aangestuurd moet worden met een pulserende spanning (audio) om een bepaalde toon te krijgen, vlg luidspreker.
  • DC motor: motor die draait naargelang er stroom door gestuurd wordt; +/- omkeerbaar. pieken!
  • Kathode – kant van LED (ground -)
  • LCD : Liquid Christal Display, bv 2 regels van 16 tekens.
  • LDR : Light Dependent Resistor (zie Photoresistor)
  • PWM Pulse Width Modulation. Pulserend stroom geven om een lagere gemiddelde waarde te bekomen; bv bij een led om die minder hard te doen branden.
  • Photoresistor: lichtgevoelige weerstand; de weerstand verandert naargelang het licht dat erop valt.
  • Piezo: behuizing met trillend membraan; niet gepolariseerd, gestuurd door bv tone(9, 440).
  • PinMode: pinMode(pinNumber,OUTPUT); // INPUT
  • PinWaarde zetten: digitalWrite(pinNumber, LOW); // HIGH
  • PinWaarde lezen: digitalRead(pinNumber); // -> LOW/HIGH
  • PinWaarde Lezen 0-1023: int sensorVal = analogRead(sensorPin);
  • Pulse Width Modulation: zie PWM
  • Serial: Seriële communicatie, stuurt naar seriële poort (usb)
  • Servo motor: 180 graden met pulse tussen 1000 en 2000 milliseconden stuurbare motor (waarden 0-179). Pieken!
  • TMP36: temperatuur voeler, meet lineair de temperatuur naar spanning u; omzetten naar °C op basis van eigenschap, bv (u – 0.5)*100.

TerminologieSchakelingenIdeeën … —

Schakelingen

enkele handige dingen om te weten en op te letten

LCD: pinnen als:

  • RS: Register Select, soort cursorfunctie
  • R/W : Read/Write pin, hier meestal in Write mode.
  • EN : Enable; vertelt dat commando komt.
  • D0..D7: Data pins om (letter)tekens naar het scherm te sturen
  • GND: ground
  • 5V: voeding +

LED + voorschakelweerstand 220 Ohm (rood-rood-bruin) hier bij 5 V; deze leds zijn max 23mA.

LED RGB (R lange-min B G) + voorschakelweerstand 220 Ohm (rood-rood-bruin) per kanaal RGB [project 1]

Drukknop (switch) : 4 pinnen; 2 pinnen die uit 1 metalen stripje zouden kunnen bestaan zijn inderdaad intern doorverbonden; dus 2 aansluitpunten per kant. [project 1]

Drukknop uitlezen: digitaal LOW (switch open) uitlezen veronderstelt: [project 2]
plus – draad- switch in – switch uit :
1) weerstand 10 kOhm (or-zw-br) – min
2) draad naar digitale leespin.

TMP36: met platte kant naar je toe (leesbaar): [project 3]
– L voeding +
– M : uitleeswaarde naar Analoge input op Arduino, bv A0
– R : naar –

Lichtvoeler (Photoresistor) + 10 kOhm (or-zw-br) naar min;
plus – lichtvoeler – 1) analoog in 2) weerstand 10 K – min

Draaiknop (potentiometer): verdeelt de stroom;
– plus
– evoluerende waarde, uitleesbaar met analoog in
– min
Eventueel een condensator over de plus – min (bv combinatie sturing servomotor)

Piezo: digital out – piezo – gnd

Servomotor: trekt plots stroom pieken, af te vlakken door een condensator 10 uF (microFarad) over plus-min.
– plus
– witte draad komt van digitale uitgang Arduino (bv pin 9)
– min

TerminologieSchakelingenIdeeën … —

Code

Arduino pogramma’s worden sketches genoemd. Daaruit:

serial:
Gebruiken van usb-verbinding als seriële poort voor communicatie naar computer:
bv Serial.begin(9600); Serial.print(“..”);
af te lezen met bv de serial monitor op de computer.

lcd

Voeding

De Arduino krijgt spanning via de usb-poort, m.a.w. van je computer/laptop/usb-voedingsstekker.
Maar de Arduino heeft ook een voedingsaansluiting, voor een rond stekkertje (2,1 mm). Helaas staat er niet bij welk voltage en welke polarisering de voedingsdraad moet leveren.

Volgens de officiële site:

9 tot 12 volt, min. 250 mA, kern positief (midden +)

Het vermogen van de voeding: voor alleen Arduino is 250 mA genoeg, maar koppel je de voeding door naar een bordje waar een aantal leds en andere componenten (motor) op aangesloten worden, ga je beter naar 500 mA of 1000 mA (= 1A).

Ze geven er een voorbeeld van een voeding.

Ideeën

  • Verkeerslicht (leds, voeler)
  • .. met voetgangerslicht (leds, voeler, drukschakelaar)
  • Handbeweging boven buisjes “toveren” … (lichtgevoelige cellen)
  • Bareel zoals aan spoor (servomotor)
  • ..
  • combinatie van allerlei onderdelen van de starterkit: een flipperkast?

TerminologieSchakelingenIdeeën … —

11/6/2016

Arduino project 01 / basisprincipes

Filed under: — cybrarian @ 11:55 pm

Terminologie in het Nederlands voor gebruikers van het Engelstalig Arduino Projects Book bij de starter kit. (zie ook Arduino kennis compilatie)

In het eerste project worden de basisprincipes van electriciteit uitgelegd, met daarin volgende termen:

Transductors: geleiders. Gewone geleider is een draad, geleiders die iets meer doen met de stroom die erdoor loopt zijn componenten.

power bus: de voedingslijnen op het insteekbord (zie Bread board).

GND: “Ground”; Teruggeleider (fiets, insteekbord) of beveiligende afleider naar de aarde van stroom (aarding) in 220 installaties.

Circuit: verbinding van electronische onderdelen; kan gesoldeerd zijn, of met op een insteekbord

Bread board een beetje als een witte boterham uitziend (vanwege de gaatjes) experimenteerbord waar een tijdelijke opstelling van componenten in gemaakt kan worden om experimenten te doen of projecten uit te voeren of prototypes te maken. Experimenteerbord vond ik als enige NL vorm, soms noem ik de boterham het insteekbord. Belangrijk om te weten is dat de banen voor plus en min over de lengte van het bord lopen (+ aangegeven met een rode lijn, – met een zwarte), de banen in het midden – die voor de componenten – lopen dwars, dus in de breedte, tot aan het midden (van a-e en van f-j).

Resistance: weerstand. Een draad heeft normaal geen weerstand (verwaarloosbaar klein in onze projecten); een “weerstand” heeft een afleesbare waarde van weerstand (zoek op kleurcodes weerstanden).

Switch: schakelaar, bv drukschakelaar (indrukken om te sluiten).

LED: Light Emitting Diode is een component die de stroom in 1 richting verdraagt (van de anode naar de kathode), en daarbij licht uitzendt. Moet beschermd worden tegen te grote spanning/stroom.

Spanning: conventionele afspraak die stelt dat electrische stroom vloet van de plus pool naar de min pool.

Serial: serieel; de componenten vormen een rij: draad – component – draad (gekoppeld met) draad – component – draad

Parallel: de twee draden van een component worden gelijk verbonden met de twee draden van een andere component.

Ohm’s law: De wetten van Ohm. Je kan deze vergelijking op drie manieren schrijven, naargelang wat het doel van de berekening is:

U = I * R

I = U / R

R = U / I

R = weerstand. Uitgedrukt in Ohm. (symbool omega)
U = spanning (in het Engels wordt V gebruikt!). Uitgedrukt in Volt (V)
I = stroom. Uitgedrukt in Ampere (A)


Verder in het boek komen nog termen aan bod. Een compilatie wordt stilaan aangevuld onder Arduino kennis compilatie.

22/5/2016

Arduino (IDE) in gebruik: Hello World?

Filed under: — cybrarian @ 11:33 pm

Zie ook Arduino Starterkit en Arduino IDE installatie

Eerste gebruik

Eens de software geïnstalleerd op Linux, zijn ze op het punt gekomen van http://www.arduino.org/learning/getting-started/getting-started-arduino-uno.

Als ik het goed begrijp is dit de volgorde:

  1. arduino software opstarten
  2. usb-kabel aansluiten
  3. software menu Tools, bord kiezen (arduino UNO)
  4. software menu Tools, poort kiezen (serieel)

Bij het aansluiten van de kabel gaat de groene “ON” led op het bord aan. Ook knippert een gele “L” led tijdelijk, maar die gaat weer uit.

In de software, bij Tools, bord UNO staat al geselecteerd, en bij Seriele poorten krijg ik keuze uit:

  • /dev/ttyACM0
  • /dev/ttyS1

Als je even kijkt wat het systeem ziet na aansluiting (terminal dmesg):

[ 6464.723055] usb 7-1: new full-speed USB device number 2 using uhci_hcd
[ 6464.905570] usb 7-1: New USB device found, idVendor=2a03, idProduct=0043
[ 6464.905583] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 6464.905591] usb 7-1: Product: Arduino Uno
[ 6464.905598] usb 7-1: Manufacturer: Arduino Srl
[ 6464.905604] usb 7-1: SerialNumber: 7543536303835191B1A2
[ 6465.198641] cdc_acm 7-1:1.0: ttyACM0: USB ACM device

Is het duidelijk dat we ttyACM0 moeten kiezen.

(Check of EasyDFU draait als je ACM0 niet vindt; start net als de IDE op de commandolijn “EasyDFU”)

Programma
We kunnen het eerste programma laden, waarvoor niets op de Arduino moet aangesloten zijn (behalve de usb kabel):

File, examples, 01.Basics, Blink

Er komt een broncode programma op het scherm in de IDE (meer nog, bij mij kwam er een tweede IDE venster naar boven met de code, het eerste lege bleef ook staan, misschien omdat ik daar per vergissing een spatie of zo getikt heb, en het als gewijzigd wordt beschouwd).

Eigenlijk had ik nu de leds van TX en RX moeten zien reageren (Transmit en Receive herinner ik me nog van de modems). Maar ik zag niets, misschien omdat het te snel ging? De led “L” knippert wel, en blijft knipperen, maar deed die dat daarvoor ook al niet?

Beste test is de broncode van het programma aanpassen en kijken of de led anders knippertl; dit wordt de “hello world” voor mijn Arduino.

De tijdsinstelling zit in delay(1000);. Ik vervang de “loop” door:

digitalWrite(13, HIGH);
delay(2000); // short on, longer out
digitalWrite(13, LOW);
delay(4000);

en ik druk terug op de upload knop in de IDE. Nu zie ik de leds TX en RX inderdaad reageren, en het ritme van knipperen verandert zoals ik verwachtte.

Met dit eenvoudig programma kan je waarden veranderen en stukjes code kopiëren; (bv een tijd van 10 is nog zichtbaar, zelfs 1 nog als je geen te fel omgevingslicht hebt). Na elke verandering moet je de code terug naar het Arduino bord sturen, je programmeert immers niet direkt het bord, maar “upload” het programma.

De IDE software afsluiten heeft dus helemaal geen invloed op de werking van Arduino. Wijzigingen aan voorbeeldprojecten kan je bewaren in een eigen gekozen map (de voorbeelden zijn tegen overschrijven beschermd); een nieuwe map met de projectnaam bevat een bestand met de uitgang .ino.

Ok, nu mijn knipperend apparaat uitschakelen. Daarover niets in het begin van het projectenboek, maar de oplossing is eenvoudig: voedingskabel uittrekken (usb kabel indien die de voeding geeft).

Dit bord is geen computer. Het heeft geen operating system dat op een correcte manier een bestandssysteem moet afsluiten. Je kan dus gewoon de voedingskabel uittrekken.

Wel belangrijk is om het bord altijd zonder stroom te zetten op het moment dat je bezig bent met componenten installeren.

Arduino IDE, installatie

Filed under: — cybrarian @ 5:36 pm

IDE
De IDE is de programmeeromgeving voor Arduino. Het is een Java programma, dat dus Java nodig heeft, momenteel Java 1.7. Het programma is open source, je kan op de downloadsite ook de broncode van elke versie afhalen.

Zoals terug te vinden in het eerste artikel over de arduino starter kit, is de software te vinden op (www.arduino.org menu “Download”) http://www.arduino.org/download .
Daar moet je dan kiezen tussen de verschillende versies voor Windows, Mac of Linux; enventueel 32/64 bit.

Linux

Beschrijvingen voor Ubuntu zullen wel (meer) te vinden zijn; (hier Engelstalig).

Op https://software.opensuse.org/package/arduino kan je zien dat er voor openSUSE Tumbleweed en openSUSE Leap 42.1 een Arduino versie 1.6.8 beschikbaar is, voor alle andere is het Arduino 1.0.6.

Arduinostudio
http://software.opensuse.org/package/arduinostudio (arduinostudio-1-1.1.x86_64) van home:dsonck92 gaf in leap 42.1 een foutmelding op ontbrekende libqscintilla2.so.5), en Arduino 1.6.8 (en 1.0) een foutmelding op avr-libc, cross-avr-libc

Arduino 1.x

Voor OpenSUSE kan het voor desktopgebruikers met “One Click Installer” die vanuit Yast installeert (meer uitleg playground.arduino.cc/Linux/OpenSUSE)
Het Yast Meta Package arduino.ymp wordt gedownload, en een klik erop start de Yast softwarebeheerder.

Daarmee wordt volgende repository geïnstalleerd:

http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_13.1/ (openSUSE BuildService – CrossToolchain (avr))

Als je het programma start, en je in het menu Extra, de Seriele Poort keuze grijs staat en dus niet gekozen kan worden, ben je hetvolgende waarschijnlijk vergeten:

Je moet de gebruiker (user login) nog het recht geven om de hardware te gebruiken (in dit geval via de seriele poort);
YaST, “Security and Users”, open “User and Group Management”
en maak de gebruikerslogin lid van de groepen dialout, lock en uucp.

Kies daarvoor de user, Edit, tab Details, rechtse kolom Additional groups: vink volgende aan:
dialout
lock
uucp

NL: Yast configuratiecentrum, Beveiliging en gebruikers, Gebruikers en groepenbeheer, gebruiker selecteren, wijzigen, Details, Extra groepen, Dialout, lock en uucp aanzetten.

Ok; log uit om bij login te aktiveren.

Bij de geïnstalleerde software is geen link op de Desktop verschenen, evenmin een nieuw menu onder Development/IDE; wel een laatst geïnstalleerd programma “EasyDFU”, dat deel uitmaakt van CrossToolchain.

Menu, Run Commnand: arduino; dit start een programma met als venstertitel bv:

sketch_may22a |Arduino 1.0.6

ArduinoIDE Dat is de Arduino IDE.

Commandolijn

Voor OpenSUSE kan je zo installeren vanuit de commandolijn:

su root
zypper ar -f http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_13.1 'CrossToolchain:avr'

zypper ref
zypper in arduino

usermod -a -G dialout,lock,uucp mijngebruikersnaam

logout
login

arduino

Eventueel: als je een foutmelding kreeg op het ontbreken van avr-libc
(The C Runtime Library for AVR Microcontrollers)

zypper install avr-libc

Ps: Fritzing
OpenSUSE, Yast/Software Management, zoek op naam+trefwoord+overzicht+omschrijving naar “arduino” geeft als resultaat fritzing, een EDA platform, waarmee je je projecten kan documenteren (leren over componenten en tekenen van het schema van de verbonden draadjes, opslaan, en zelfs exporteren om het eindresultaat als bordje in productie te laten maken). Het installeert fritzing, fritzing-parts, libQt5SerialPort5.

OpenSUSE Leap 42.1 Arduino 1.6
Na een paar keer proberen uit de verschillende aangeboden versies van Arduino 1.6.X (ondermeer 1.6.8, 1.6.9) had ik succes met 1.6.10 :

home:Ximi1970:Toolch… 1.6.10 64 Bit Source 1 Click Install

De arduino IDE start en ik kan een geopende project compileren (verder gebruik volgt).

Upd nov 2016:
– Ik heb een probleem met het compileren van een sketch op Leap 42.1, zelfs de meest basic dingen als blinking led werken niet. Na het lezen van:
https://forum.arduino.cc/index.php?topic=415801.0
Citaat:

Arduino AVR Boards 1.6.12 included with Arduino IDE 1.6.10 uses LTO, which appears to be the cause of this issue. The problem will likely occur if Arduino AVR Boards 1.6.12 is installed in any Arduino IDE version, not just 1.6.10. So you can try to install Arduino AVR Boards 1.6.11 using Boards Manager and be sure to not update from Arduino AVR Boards 1.6.11, even if the IDE shows an updatable boards notification. You can turn the notifications off by File > Preferences > Check for updates at startup(uncheck).

besluit ik inderdaad de AVR versie 1.6.11 te installeren. Daarna werkt het, maar je krijgt inderdaad update meldingen.

OSX

Mac is voorzien bij de downloads, gewoon downloaden en installeren. In de IDE kan je onder het menu Tools, Board het juiste bordje kiezen (bv Arduino Uno – zie je verpakking), en daarna de juiste seriële poort, bv

  • /dev/tty.usbmodem262471 (voor Uno en Mega
  • /dev/tty.usbserial-Q6006hSc (nieuwere)

Oudere OSX

Wie met een oudere Mac (OSX 6.xx) werkt, en dus nog Java SE 6 (1.6.x) gebruikt, moet een oudere versie van de software installeren, bv versie 1.6, te vinden op:
https://www.arduino.cc/en/Main/OldSoftwareReleases

Voor Arduino IDE 1.6.8 wordt OS X 10.7 Lion gevraagd.
Ook wordt de originele uitgave van de IDE in zijn laatste uitgave 1.0.6 nog aangeboden. Daaronder een gedetailleerde lijst met alle versies in archief.

Bij Mac OSX is er tot 1.6.1 keuze tussen een gewone en een Java 7 versie. Waarschijnlijk is vanaf dan alles Java 7, en kan je tot en met hier die “gewone versie” (zonder java vermelding) gebruiken omdat toen Java 6 verondersteld werd.

De grootte wordt niet vermeld, maar om een idee te geven, voor arduino-1.6.1-macosx.zip is dat 142 MB.

Terug te vinden in je download map indien je niet onmiddellijk geopend hebt met het archiveringshulpprogramma.
Daarmee kan je de download uitpakken, wat een Arduino programmabestand geeft van 501 MB. Kopieer (sleep) het naar je programma-folder.


(meer…)

20/5/2016

Arduino (starterkit)

Filed under: — cybrarian @ 11:21 pm

Hoewel de Arduino al een hele tijd bestaat, zijn er weinig Nederlandstalige beschrijvingen te vinden buiten die van de verkoopspunten. Vreemd als je denkt dat het een project is om jeugd te laten omgaan met electronica.

Arduino, starterkit

ArduinoStarterkitOpen
Arduino is een bordje van rond 25 euro, dat dienst kan doen als electronisch beslissingsbordje (microcontroller) voor eenvoudige projecten met een of meer sensoren en een reaktie naar leds of motortje. Die worden allemaal meegeleverd in deze officiele arduino starter kit, en daarom kost de hele starterkit rond 100 euro. Er zijn nog andere starterkits zoals de ARDX die iets goedkoper is, en een boel handige insteekkabeltjes bevat in plaats van bruggetjes zoals in deze, maar geen klein led-scherm, ook de andere kits zijn meestal wat goedkoper, en wat minder luxueus uitgegeven.


Uitpakken

Het is een heel mooie, verzorgd vormgegeven doos, de arduino starter kit. Als je ze opent komt het arduino project book eruit tevoorschijn; een al even mooi boek, ingebonden, en in kleur geillustreerd.

ArduinoStarterkitUitgepakt

Onder het boek zie je een verzameling kartonnen doosjes geschikt, waarbij die van het arduino bordje zelf opvalt door zijn kleur; de andere doosjes zijn stijlvol goudkleurig, en sober voorzien van nuttige informatie over de inhoud. Onder de doosjes zitten nog een aantal kartonnen decor-elementen om projecten mee te bouwen. Zo zit er een gevouwen controlepaneeltje in waar nadien leds en een schakelaar door geprikt worden. De beschrijving van de functies is voorgedrukt op het karton.

Ook een opvallend onderdeel is een houtkleurig plastic bordje (in het boek trouwens als hout beschreven), dat modelbouwachtige uitdrukbare deeltjes bevat. Het dient als houder voor de arduino, waarbij vier uitgedrukte deeltjes dienen als voet en op de hoeken in het bord gedrukt moeten worden. De andere onderdelen zijn nodig in bepaalde projecten.

De andere delen hebben ook telkens een passend doosje: electronische onderdelen als leds, condensatoren, weerstanden, enz. Dit doosje schuift open, waardoor het handig blijft om de componenten nadien terug in op te bergen. Het lcd scherm, de usb kabel, een experimenteerbord (breadbord) waarop je zonder solderen electronische componenten mee elkaar kan verbinden, een doosje met een DC motor en een servomotor,

Het boek
Helaas wordt een redelijk klein lettertype gebruikt dat met goudkleurige druk in de inleidende pagina’s niet altijd een even scherp leesbare tekst aanbiedt. Gelukkig is dat in de tekst van de 15 beschreven projecten iets beter. Er is geen pdf versie van de tekst meegeleverd of beschikbaar; de tekst zelf staat onder een Creative Commons licentie die geen commercieel gebruik toestaat.
Er zitten ook handige illustraties bij, zoals de uitleg over weerstanden lezen:
weerstandenlezen

In één blik vind je de weerstanden uit de starterkit terug:
weerstandeninstarterkit

Programmeeromgeving
Wat bij de kit niet geleverd wordt is de programmeeromgeving die je nodig hebt om de code op de arduino te krijgen. Voor Linux is zelfs de beschrijving niet in het boek opgenomen, maar wordt enkel verwezen naar de website
www.arduino.org/linux
waar enkel sprake is van Ubuntu (versie 10.0.4 ?@!)
http://www.arduino.org/learning/getting-started

De software (momenteel Arduino IDE 1.7.10) kan je afhalen op:
http://www.arduino.org/download
dat geeft arduino-1.7.10.org-linux64.tar.xz van 68.3 MB.
en dan heb je deze “Getting started” uitleg nodig:
http://www.arduino.org/learning/getting-started/arduino-ide-on-linux-based-os

Ik vat het even samen: (… later misschien)

Dan zijn er nog wat “cheatsheets” als de zypper cheatsheet:
http://www.arduino.org/learning/getting-started/download/22_3096d8ad3b7b1cd2cd5dc97edbc67ee4
en de algemene unixlinux cheatsheet:
http://www.arduino.org/learning/getting-started/download/20_5290062098dd4f7fddfc9e9df2f9bbd4
maar dat zijn algemene spiekbriefjes voor unix, linux en zypper (pakketbeheercommando op o.m. opensuse).

Powered by WordPress